- 
            
      
        
      
    Star
      
          
          (540)
      
  
You must be signed in to star a gist  - 
              
      
        
      
    Fork
      
          
          (76)
      
  
You must be signed in to fork a gist  
- 
      
 - 
        
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
slashcommands. 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
slashcommands. 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