-
-
Save koad/316b265a91d933fd1b62dddfcc3ff584 to your computer and use it in GitHub Desktop.
// Discord all events! | |
// A quick and dirty fleshing out of the discord.js event listeners (not tested at all!) | |
// listed here -> https://discord.js.org/#/docs/main/stable/class/Client | |
// Learn from this, do not just copy it mofo! | |
// | |
// Saved to -> https://gist.github.com/koad/316b265a91d933fd1b62dddfcc3ff584 | |
// Last Updated -> Halloween 2022 | |
/* | |
koad-was-here | |
b25lIEdvZCwgb25lIGxvdmUu | |
*/ | |
const Discord = require('discord.js'); | |
const client = new Discord.Client(); | |
const token = process.env.DISCORD_LOGIN_TOKEN | "" | |
var inviteLink = ""; | |
// apiRequest | |
/* Emitted before every API request. This event can emit several times for the same request, e.g. when hitting a rate limit. | |
PARAMETER TYPE DESCRIPTION | |
request APIRequest The request that is about to be sent */ | |
client.on("apiRequest", function(req){ | |
console.log(`apiRequest: ${req}`); | |
}); | |
// apiResponse | |
/* Emitted after every API request has received a response. This event does not necessarily correlate to completion of the request, e.g. when hitting a rate limit. | |
PARAMETER TYPE DESCRIPTION | |
request APIRequest The request that is about to be sent */ | |
client.on("apiResponse", function(res){ | |
console.log(`apiResponse: ${res}`); | |
}); | |
// the previous, apiRequest and apiResponse, are informational events that are emitted quite frequently, it is highly recommended to check request.path to filter the data. | |
// channelCreate | |
/* Emitted whenever a channel is created. | |
PARAMETER TYPE DESCRIPTION | |
channel Channel The channel that was created */ | |
client.on("channelCreate", function(channel){ | |
console.log(`channelCreate: ${channel}`); | |
}); | |
// channelDelete | |
/* Emitted whenever a channel is deleted. | |
PARAMETER TYPE DESCRIPTION | |
channel Channel The channel that was deleted */ | |
client.on("channelDelete", function(channel){ | |
console.log(`channelDelete: ${channel}`); | |
}); | |
// channelPinsUpdate | |
/* Emitted whenever the pins of a channel are updated. Due to the nature of the WebSocket event, not much information can be provided easily here - you need to manually check the pins yourself. | |
PARAMETER TYPE DESCRIPTION | |
channel Channel The channel that the pins update occurred in | |
time Date The time of the pins update */ | |
client.on("channelPinsUpdate", function(channel, time){ | |
console.log(`channelPinsUpdate: ${channel}:${time}`); | |
}); | |
// channelUpdate | |
/* Emitted whenever a channel is updated - e.g. name change, topic change. | |
PARAMETER TYPE DESCRIPTION | |
oldChannel Channel The channel before the update | |
newChannel Channel The channel after the update */ | |
client.on("channelUpdate", function(oldChannel, newChannel){ | |
console.log(`channelUpdate -> a channel is updated - e.g. name change, topic change`); | |
}); | |
// debug | |
/* Emitted for general debugging information. | |
PARAMETER TYPE DESCRIPTION | |
info string The debug information */ | |
client.on("debug", function(info){ | |
console.log(`debug -> ${info}`); | |
}); | |
// emojiCreate | |
/* Emitted whenever a custom emoji is created in a guild. | |
PARAMETER TYPE DESCRIPTION | |
emoji Emoji The emoji that was created */ | |
client.on("emojiCreate", function(emoji){ | |
console.log(`a custom emoji is created in a guild`); | |
}); | |
// emojiDelete | |
/* Emitted whenever a custom guild emoji is deleted. | |
PARAMETER TYPE DESCRIPTION | |
emoji Emoji The emoji that was deleted */ | |
client.on("emojiDelete", function(emoji){ | |
console.log(`a custom guild emoji is deleted`); | |
}); | |
// emojiUpdate | |
/* Emitted whenever a custom guild emoji is updated. | |
PARAMETER TYPE DESCRIPTION | |
oldEmoji Emoji The old emoji | |
newEmoji Emoji The new emoji */ | |
client.on("emojiUpdate", function(oldEmoji, newEmoji){ | |
console.log(`a custom guild emoji is updated`); | |
}); | |
// error | |
/* Emitted whenever the client's WebSocket encounters a connection error. | |
PARAMETER TYPE DESCRIPTION | |
error Error The encountered error */ | |
client.on("error", function(error){ | |
console.error(`client's WebSocket encountered a connection error: ${error}`); | |
}); | |
// guildBanAdd | |
/* Emitted whenever a member is banned from a guild. | |
PARAMETER TYPE DESCRIPTION | |
guild Guild The guild that the ban occurred in | |
user User The user that was banned */ | |
client.on("guildBanAdd", function(guild, user){ | |
console.log(`a member is banned from a guild`); | |
}); | |
// guildBanRemove | |
/* Emitted whenever a member is unbanned from a guild. | |
PARAMETER TYPE DESCRIPTION | |
guild Guild The guild that the unban occurred in | |
user User The user that was unbanned */ | |
client.on("guildBanRemove", function(guild, user){ | |
console.log(`a member is unbanned from a guild`); | |
}); | |
// guildCreate | |
/* Emitted whenever the client joins a guild. | |
PARAMETER TYPE DESCRIPTION | |
guild Guild The created guild */ | |
client.on("guildCreate", function(guild){ | |
console.log(`the client joins a guild`); | |
console.log({guild}); | |
}); | |
// guildDelete | |
/* Emitted whenever a guild is deleted/left. | |
PARAMETER TYPE DESCRIPTION | |
guild Guild The guild that was deleted */ | |
client.on("guildDelete", function(guild){ | |
console.log(`the client deleted/left a guild`); | |
console.log({guild}); | |
}); | |
// guildIntegrationsUpdate | |
/* Emitted whenever a guild integration is updated | |
PARAMETER TYPE DESCRIPTION | |
guild Guild The guild whose integrations were updated */ | |
client.on("guildIntegrationsUpdate", function(guild){ | |
console.log(`a guild integration is updated`); | |
console.log({guild}); | |
}); | |
// guildMemberAdd | |
/* Emitted whenever a user joins a guild. | |
PARAMETER TYPE DESCRIPTION | |
member GuildMember The member that has joined a guild */ | |
client.on("guildMemberAdd", function(member){ | |
console.log(`a user joins a guild: ${member.tag}`); | |
}); | |
// guildMemberAvailable | |
/* Emitted whenever a member becomes available in a large guild. | |
PARAMETER TYPE DESCRIPTION | |
member GuildMember The member that became available */ | |
client.on("guildMemberAvailable", function(member){ | |
console.log(`member becomes available in a large guild: ${member.tag}`); | |
}); | |
// guildMemberRemove | |
/* Emitted whenever a member leaves a guild, or is kicked. | |
PARAMETER TYPE DESCRIPTION | |
member GuildMember The member that has left/been kicked from the guild */ | |
client.on("guildMemberRemove", function(member){ | |
console.log(`a member leaves a guild, or is kicked: ${member.tag}`); | |
}); | |
// guildMembersChunk | |
/* Emitted whenever a chunk of guild members is received (all members come from the same guild). | |
PARAMETER TYPE DESCRIPTION | |
members Array<GuildMember> The members in the chunk | |
guild Guild The guild related to the member chunk */ | |
client.on("guildMembersChunk", function(members, guild, chunk){ | |
console.log(`a chunk of guild members is received`); | |
console.log({members, guild, chunk}); | |
}); | |
// guildMemberUpdate | |
/* Emitted whenever a guild member changes - i.e. new role, removed role, nickname. | |
PARAMETER TYPE DESCRIPTION | |
oldMember GuildMember The member before the update | |
newMember GuildMember The member after the update */ | |
client.on("guildMemberUpdate", function(oldMember, newMember){ | |
console.log(`a guild member changes - i.e. new role, removed role, nickname.`); | |
console.log({oldMember, newMember}); | |
}); | |
// guildScheduledEventCreate | |
/* Emitted whenever a guild scheduled event is created. | |
PARAMETER TYPE DESCRIPTION | |
guildScheduledEvent GuildScheduledEvent The created guild scheduled event */ | |
client.on("guildScheduledEventCreate", function(guildScheduledEvent){ | |
console.log(`guild scheduled event is created.`); | |
console.log({guildScheduledEvent}); | |
}); | |
// guildScheduledEventDelete | |
/* Emitted whenever a guild scheduled event is deleted. | |
PARAMETER TYPE DESCRIPTION | |
guildScheduledEvent GuildScheduledEvent The deleted guild scheduled event */ | |
client.on("guildScheduledEventDelete", function(guildScheduledEvent){ | |
console.log(`a guild scheduled event is deleted`); | |
console.log({guildScheduledEvent}); | |
}); | |
// guildScheduledEventUpdate | |
/* Emitted whenever a guild scheduled event gets updated. | |
PARAMETER TYPE DESCRIPTION | |
oldGuildScheduledEvent ?GuildScheduledEvent The guild scheduled event object before the update | |
newGuildScheduledEvent GuildScheduledEvent The guild scheduled event object after the update */ | |
client.on("guildScheduledEventUpdate", function(oldGuildScheduledEvent, newGuildScheduledEvent){ | |
console.log(`guild scheduled event has been updated`); | |
console.log({oldGuildScheduledEvent, newGuildScheduledEvent}); | |
}); | |
// guildScheduledEventUserAdd | |
/* Emitted whenever a user subscribes to a guild scheduled event | |
PARAMETER TYPE DESCRIPTION | |
guildScheduledEvent GuildScheduledEvent The guild scheduled event | |
user User The user who subscribed */ | |
client.on("guildScheduledEventUserAdd", function(guildScheduledEvent, user){ | |
console.log(`a user subscribed to a guild scheduled event`); | |
console.log({guildScheduledEvent, user}); | |
}); | |
// guildScheduledEventUserRemove | |
/* Emitted whenever a user unsubscribes from a guild scheduled event | |
PARAMETER TYPE DESCRIPTION | |
guildScheduledEvent GuildScheduledEvent The guild scheduled event | |
user User The user who unsubscribed */ | |
client.on("guildScheduledEventUserRemove", function(guildScheduledEvent, user){ | |
console.log(`a user unsubscribed from a guild scheduled event`); | |
console.log({guildScheduledEvent, user}); | |
}); | |
// guildUnavailable | |
/* Emitted whenever a guild becomes unavailable, likely due to a server outage. | |
PARAMETER TYPE DESCRIPTION | |
guild Guild The guild that has become unavailable */ | |
client.on("guildUnavailable", function(guild){ | |
console.error(`a guild becomes unavailable, likely due to a server outage: ${guild}`); | |
}); | |
// guildUpdate | |
/* Emitted whenever a guild is updated - e.g. name change. | |
PARAMETER TYPE DESCRIPTION | |
oldGuild Guild The guild before the update | |
newGuild Guild The guild after the update */ | |
client.on("guildUpdate", function(oldGuild, newGuild){ | |
console.log(`a guild is updated`); | |
}); | |
// interaction | |
/* DEPRECATED - Use interactionCreate instead */ | |
// interactionCreate | |
/* Emitted when an interaction is created. | |
PARAMETER TYPE DESCRIPTION | |
interaction Interaction The interaction which was created */ | |
client.on("interactionCreate", function(interaction){ | |
console.log(`an interaction has been created`); | |
console.log({interaction}); | |
}); | |
// invalidated | |
/* Emitted when the client's session becomes invalidated. | |
NOTICE: You are expected to handle closing the process gracefully and preventing a boot loop if you are listening to this event. | |
so, I'm not putting in an example because you really shouldn't be rolling your own graceful shutdown unless you are silly like me. */ | |
// invalidRequestWarning | |
/* Emitted periodically when the process sends invalid requests to let users avoid the 10k invalid requests in 10 minutes threshold that causes a ban | |
PARAMETER TYPE DESCRIPTION | |
invalidRequestWarningData InvalidRequestWarningData Object containing the invalid request info */ | |
client.on("invalidRequestWarning", function(invalidRequestWarningData){ | |
console.error(`invalid requests have been noticed and may lead to a ban!`); | |
console.error({invalidRequestWarningData}); | |
}); | |
// inviteCreate | |
/* Emitted when an invite is created. | |
Permissions Required: MANAGE_GUILD permissions for the guild, or MANAGE_CHANNELS permissions for the channel. | |
PARAMETER TYPE DESCRIPTION | |
invite Invite The invite that was created */ | |
client.on("inviteCreate", function(invite){ | |
console.log(`An invite was created`); | |
console.log({invite}); | |
}); | |
// inviteDelete | |
/* Emitted when an invite is deleted. | |
Permissions Required: MANAGE_GUILD permissions for the guild, or MANAGE_CHANNELS permissions for the channel. | |
PARAMETER TYPE DESCRIPTION | |
invite Invite The invite that was deleted */ | |
client.on("inviteDelete", function(invite){ | |
console.log(`an invite was deleted`); | |
console.log({invite}); | |
}); | |
// message | |
/* DEPRECATED - Use messageCreate instead */ | |
// messageCreate | |
/* Emitted whenever a message is created. | |
PARAMETER TYPE DESCRIPTION | |
message Message The created message */ | |
client.on("messageCreate", function(message){ | |
console.log(`a message was created`); | |
console.log({message}); | |
}); | |
// messageDelete | |
/* Emitted whenever a message is deleted. | |
PARAMETER TYPE DESCRIPTION | |
message Message The deleted message */ | |
client.on("messageDelete", function(message){ | |
console.log(`message is deleted -> ${message}`); | |
}); | |
// messageDeleteBulk | |
/* Emitted whenever messages are deleted in bulk. | |
PARAMETER TYPE DESCRIPTION | |
messages Collection<Snowflake, Message> The deleted messages, mapped by their ID */ | |
client.on("messageDeleteBulk", function(messages){ | |
console.log(`messages are deleted -> ${messages}`); | |
}); | |
// messageReactionAdd | |
/* Emitted whenever a reaction is added to a message. | |
PARAMETER TYPE DESCRIPTION | |
messageReaction MessageReaction The reaction object | |
user User The user that applied the emoji or reaction emoji */ | |
client.on("messageReactionAdd", function(messageReaction, user){ | |
console.log(`a reaction is added to a message`); | |
}); | |
// messageReactionRemove | |
/* Emitted whenever a reaction is removed from a message. | |
PARAMETER TYPE DESCRIPTION | |
messageReaction MessageReaction The reaction object | |
user User The user that removed the emoji or reaction emoji */ | |
client.on("messageReactionRemove", function(messageReaction, user){ | |
console.log(`a reaction is removed from a message`); | |
}); | |
// messageReactionRemoveAll | |
/* Emitted whenever all reactions are removed from a message. | |
PARAMETER TYPE DESCRIPTION | |
message Message The message the reactions were removed from */ | |
client.on("messageReactionRemoveAll", function(message){ | |
console.log(`all reactions are removed from a message`); | |
}); | |
// messageReactionRemoveEmoji | |
/* Emitted when a bot removes an emoji reaction from a cached message. | |
PARAMETER TYPE DESCRIPTION | |
reaction MessageReaction The reaction that was removed */ | |
client.on("messageReactionRemoveEmoji", function(reaction){ | |
console.log(`A reaction emoji was removed`); | |
console.log({reaction}); | |
}); | |
// messageUpdate | |
/* Emitted whenever a message is updated - e.g. embed or content change. | |
PARAMETER TYPE DESCRIPTION | |
oldMessage Message The message before the update | |
newMessage Message The message after the update */ | |
client.on("messageUpdate", function(oldMessage, newMessage){ | |
console.log(`a message is updated`); | |
}); | |
// presenceUpdate | |
/* Emitted whenever a guild member's presence changes, or they change one of their details. | |
PARAMETER TYPE DESCRIPTION | |
oldMember GuildMember The member before the presence update | |
newMember GuildMember The member after the presence update */ | |
client.on("presenceUpdate", function(oldMember, newMember){ | |
console.log(`a guild member's presence changes`); | |
}); | |
// rateLimit | |
/* Emitted when the client hits a rate limit while making a request | |
PARAMETER TYPE DESCRIPTION | |
rateLimitData RateLimitData Object containing the rate limit info */ | |
client.on("rateLimit", function(rateLimitData){ | |
console.log(`the rate limit has been hit! Slow'r down a tad.`); | |
console.log({rateLimitData}); | |
}); | |
// ready | |
/* Emitted when the client becomes ready to start working. */ | |
client.on("ready", function(){ | |
console.log(`the client becomes ready to start`); | |
console.log(`I am ready! Logged in as ${client.user.tag}!`); | |
console.log(`Bot has started, with ${client.users.size} users, in ${client.channels.size} channels of ${client.guilds.size} guilds.`); | |
client.user.setActivity("the upright organ"); | |
client.generateInvite(['SEND_MESSAGES', 'MANAGE_GUILD', 'MENTION_EVERYONE']) | |
.then(link => { | |
console.log(`Generated bot invite link: ${link}`); | |
inviteLink = link; | |
}); | |
}); | |
// roleCreate | |
/* Emitted whenever a role is created. | |
PARAMETER TYPE DESCRIPTION | |
role Role The role that was created */ | |
client.on("roleCreate", function(role){ | |
console.log(`a role is created`); | |
}); | |
// roleDelete | |
/* Emitted whenever a guild role is deleted. | |
PARAMETER TYPE DESCRIPTION | |
role Role The role that was deleted */ | |
client.on("roleDelete", function(role){ | |
console.log(`a guild role is deleted`); | |
}); | |
// roleUpdate | |
/* Emitted whenever a guild role is updated. | |
PARAMETER TYPE DESCRIPTION | |
oldRole Role The role before the update | |
newRole Role The role after the update */ | |
client.on("roleUpdate", function(oldRole, newRole){ | |
console.log(`a guild role is updated`); | |
}); | |
// shardDisconnect | |
/* Emitted when a shard's WebSocket disconnects and will no longer reconnect. | |
PARAMETER TYPE DESCRIPTION | |
event CloseEvent The WebSocket close event | |
id number The shard id that disconnected */ | |
client.on("shardDisconnect", function(event, id){ | |
console.log(`shard with id ${id} has disconnected`); | |
console.log({event, id}); | |
}); | |
// shardError | |
/* Emitted whenever a shard's WebSocket encounters a connection error. | |
PARAMETER TYPE DESCRIPTION | |
error Error The encountered error | |
shardId number The shard that encountered this error */ | |
client.on("shardError", function(error, shardId){ | |
console.error(`a shard encountered a connection error`); | |
console.error({error, shardId}); | |
}); | |
// shardReady | |
/* Emitted when a shard turns ready. | |
PARAMETER TYPE DESCRIPTION | |
id number The shard id that turned ready | |
unavailableGuilds ?Set <Snowflake> Set of unavailable guild ids, if any */ | |
client.on("shardReady", function(id, unavailableGuilds){ | |
console.log(`a shard turned ready`); | |
console.log({id, unavailableGuilds}); | |
}); | |
// shardReconnecting | |
/* Emitted when a shard is attempting to reconnect or re-identify. | |
PARAMETER TYPE DESCRIPTION | |
id number The shard id that is attempting to reconnect */ | |
client.on("shardReconnecting", function(id){ | |
console.log(`a shard with id ${id} is attempting to reconnect or re-identify`); | |
console.log({id}); | |
}); | |
// shardResume | |
/* Emitted when a shard resumes successfully. | |
PARAMETER TYPE DESCRIPTION | |
id number The shard id that resumed | |
replayedEvents number The amount of replayed events */ | |
client.on("shardResume", function(id, replayedEvents){ | |
console.log(`a shard resumes successfully`); | |
console.log({id, replayedEvents}); | |
}); | |
// stageInstanceCreate | |
/* Emitted whenever a stage instance is created. | |
PARAMETER TYPE DESCRIPTION | |
stageInstance StageInstance The created stage instance */ | |
client.on("stageInstanceCreate", function(stageInstance){ | |
console.log(`a stage instance was created`); | |
console.log({stageInstance}); | |
}); | |
// stageInstanceDelete | |
/* Emitted whenever a stage instance is deleted. | |
PARAMETER TYPE DESCRIPTION | |
stageInstance StageInstance The deleted stage instance */ | |
client.on("stageInstanceDelete", function(stageInstance){ | |
console.log(`a stage instance is deleted`); | |
console.log({stageInstance}); | |
}); | |
// stageInstanceUpdate | |
/* Emitted whenever a stage instance gets updated - e.g. change in topic or privacy level | |
PARAMETER TYPE DESCRIPTION | |
oldStageInstance ?StageInstance The stage instance before the update | |
newStageInstance StageInstance The stage instance after the update */ | |
client.on("stageInstanceUpdate", function(oldStageInstance, newStageInstance){ | |
console.log(`stage instance has changed in topic or privacy level`); | |
console.log({oldStageInstance, newStageInstance}); | |
}); | |
// stickerCreate | |
/* Emitted whenever a custom sticker is created in a guild. | |
PARAMETER TYPE DESCRIPTION | |
sticker Sticker The sticker that was created */ | |
client.on("stickerCreate", function(sticker){ | |
console.log(`a custom sticker is created`); | |
console.log({sticker}); | |
}); | |
// stickerDelete | |
/* Emitted whenever a custom sticker is deleted in a guild. | |
PARAMETER TYPE DESCRIPTION | |
sticker Sticker The sticker that was deleted */ | |
client.on("stickerDelete", function(sticker){ | |
console.log(`a custom sticker is deleted`); | |
console.log({sticker}); | |
}); | |
// stickerUpdate | |
/* Emitted whenever a custom sticker is updated in a guild. | |
PARAMETER TYPE DESCRIPTION | |
oldSticker Sticker The old sticker | |
newSticker Sticker The new sticker */ | |
client.on("stickerUpdate", function(oldSticker, newSticker){ | |
console.log(`a custom sticker is updated`); | |
console.log({oldSticker, newSticker}); | |
}); | |
// threadCreate | |
/* Emitted whenever a thread is created or when the client user is added to a thread. | |
PARAMETER TYPE DESCRIPTION | |
thread ThreadChannel The thread that was created | |
newlyCreated boolean Whether the thread was newly created */ | |
client.on("threadCreate", function(thread, newlyCreated){ | |
console.log(`a thread has been created or the client user is added to an existing thread.`); | |
console.log({thread, newlyCreated}); | |
}); | |
// threadDelete | |
/* Emitted whenever a thread is deleted. | |
PARAMETER TYPE DESCRIPTION | |
thread ThreadChannel The thread that was deleted */ | |
client.on("threadDelete", function(thread){ | |
console.log(`a thread was deleted`); | |
console.log({thread}); | |
}); | |
// threadListSync | |
/* Emitted whenever the client user gains access to a text or news channel that contains threads | |
PARAMETER TYPE DESCRIPTION | |
threads Collection <Snowflake, ThreadChannel> The threads that were synced */ | |
client.on("threadListSync", function(threads){ | |
console.log(`the client user gains access to a text or news channel that contains threads`); | |
console.log({threads}); | |
}); | |
// threadMembersUpdate | |
/* Emitted whenever members are added or removed from a thread. | |
Permissions Required: GUILD_MEMBERS privileged intent | |
PARAMETER TYPE DESCRIPTION | |
oldMembers Collection <Snowflake, ThreadMember> The members before the update | |
newMembers Collection <Snowflake, ThreadMember> The members after the update */ | |
client.on("threadMembersUpdate", function(oldMembers, newMembers){ | |
console.log(`members are added or removed from a thread`); | |
console.log({oldMembers, newMembers}); | |
}); | |
// threadMemberUpdate | |
/* Emitted whenever the client user's thread member is updated. | |
PARAMETER TYPE DESCRIPTION | |
oldMember ThreadMember The member before the update | |
newMember ThreadMember The member after the update */ | |
client.on("threadMemberUpdate", function(oldMember, newMember){ | |
console.log(`the client user's thread member is updated`); | |
console.log({oldMember, newMember}); | |
}); | |
// threadUpdate | |
/* Emitted whenever a thread is updated - e.g. name change, archive state change, locked state change. | |
PARAMETER TYPE DESCRIPTION | |
oldThread ThreadChannel The thread before the update | |
newThread ThreadChannel The thread after the update */ | |
client.on("threadUpdate", function(oldThread, newThread){ | |
console.log(`thread is updated - e.g. name change, archive state change, locked state change.`); | |
console.log({oldThread, newThread}); | |
}); | |
// typingStart | |
/* Emitted whenever a user starts typing in a channel. | |
PARAMETER TYPE DESCRIPTION | |
channel Channel The channel the user started typing in | |
user User The user that started typing */ | |
client.on("typingStart", function(channel, user){ | |
console.log(`${user.tag} has started typing`); | |
}); | |
// userUpdate | |
/* Emitted whenever a user's details (e.g. username) are changed. | |
PARAMETER TYPE DESCRIPTION | |
oldUser User The user before the update | |
newUser User The user after the update */ | |
client.on("userUpdate", function(oldUser, newUser){ | |
console.log(`user's details (e.g. username) are changed`); | |
}); | |
// voiceStateUpdate | |
/* Emitted whenever a user changes voice state - e.g. joins/leaves a channel, mutes/unmutes. | |
PARAMETER TYPE DESCRIPTION | |
oldMember GuildMember The member before the voice state update | |
newMember GuildMember The member after the voice state update */ | |
client.on("voiceStateUpdate", function(oldMember, newMember){ | |
console.log(`a user changes voice state`); | |
}); | |
// warn | |
/* Emitted for general warnings. | |
PARAMETER TYPE DESCRIPTION | |
info string The warning */ | |
client.on("warn", function(info){ | |
console.warn(`a general warning has been emitted`); | |
console.warn({info}); | |
}); | |
// webhookUpdate | |
/* Emitted whenever a channel has its webhooks changed. | |
PARAMETER TYPE DESCRIPTION | |
channel TextChannel The channel that had a webhook update | |
NewsChannel | |
VoiceChannel */ | |
client.on("webhookUpdate", function(channel){ | |
console.warn(`a channel's webhooks have changed`); | |
console.warn({channel}); | |
}); | |
client.login(token); |
You forgot
client.on("threadCreate")
yea, that's another new thing discord invented since this cheatsheet was made. yet another thing to add to the todo
list.
I'll like to add there is a new event called clickButton
No, it's not.
Just me being dumb... It's called
interactionCreate
added to todo, someday,. maybe
. thanks for the heads up
You are like a father to me
it's past your bedtime, go brush your teeth.
:P
How can I subscribe to an interaction globally?
i love u
A lot of these events are either deprecated or no longer active in Discord.JS v13. Maybe filtering those out would be a good idea?
How to use the messageReactionAdd event and filter for messageID.
hi, once all these scripts have been entered, how do I get it to work on my server @koad
hi, once all these scripts have been entered, how do I get it to work on my server @koad
https://discordjs.guide/creating-your-bot/#creating-configuration-files
Thank you so much! This has been an invaluble resource learning how to properly work the API.
indeed, I just updated it. I added a wack of new ones and removed a few old ones.
The guildBanAdd and guildBanRemove parameters aren't accurate. The GuildBan object is returned not the guild. I think this would be more accurate:
// guildBanAdd
/* Emitted whenever a member is banned from a guild.
PARAMETER TYPE DESCRIPTION
ban GuildBan The ban object
user User The user that was banned */
client.on("guildBanAdd", function(ban, user){
console.log(`a member is banned from a guild`);
});
// guildBanRemove
/* Emitted whenever a member is unbanned from a guild.
PARAMETER TYPE DESCRIPTION
ban GuildBan The ban object
user User The user that was unbanned */
client.on("guildBanRemove", function(ban, user){
console.log(`a member is unbanned from a guild`);
});
Love this thanks:)
this thing is out of date now, discord has added
slash
commands. I am wondering if I should update this,. or make a new one?
Yes, please update or make a new one, would be really useful 😄
this thing is out of date now, discord has added
slash
commands. I am wondering if I should update this,. or make a new one?Yes, please update or make a new one, would be really useful 😄
Slash commands fall under the interactionCreate
event. To check that it's a slash command you can attach the .isChatInputCommand()
method to the interaction object.
it runs when the bot is added to a server i know the name is confusing