Discord: https://discord.gg/TfG5hep
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
Saved to -> https://gist.github.com/koad/316b265a91d933fd1b62dddfcc3ff584
- use discordjs-logger version 4 for discord.js@14 or greater Docs
- use discordjs-logger version 3 for discord.js@13 or less than Docs
Following: https://stackoverflow.com/questions/64006888/can-anyone-explain-the-issue
npm i discordjs-logger
yarn add discordjs-logger
import { Client, GatewayIntentBits, Partials } from "discord.js";
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildBans,
GatewayIntentBits.GuildEmojisAndStickers,
GatewayIntentBits.GuildIntegrations,
GatewayIntentBits.GuildWebhooks,
GatewayIntentBits.GuildInvites,
GatewayIntentBits.GuildPresences,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.GuildMessageReactions,
GatewayIntentBits.GuildMessageTyping,
GatewayIntentBits.DirectMessages,
GatewayIntentBits.DirectMessageReactions,
GatewayIntentBits.DirectMessageTyping,
GatewayIntentBits.MessageContent,
GatewayIntentBits.GuildScheduledEvents,
],
partials: [
Partials.User,
Partials.Channel,
Partials.GuildMember,
Partials.Message,
Partials.Reaction,
Partials.GuildScheduledEvent,
Partials.ThreadMember,
],
});
// Add more intents if you wanna debug
import DiscordLogger from "discordjs-logger";
const logger = new DiscordLogger(client);
logger.debug();
client.login("YOUR_DISCORD_APP_TOKEN");
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
channel | Channel | The channel that was created |
client.on("channelCreate", function (channel) {
console.log(`channelCreate: ${channel}`);
});
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}`);
});
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`
);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
clientUserGuildSettings | ClientUserGuildSettings | The new client user guild settings |
client.on("clientUserGuildSettingsUpdate", function (clientUserGuildSettings) {
console.log(
`clientUserGuildSettingsUpdate -> client user's settings update`
);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
clientUserSettings | ClientUserSettings | The new client user settings |
client.on("clientUserSettingsUpdate", function (clientUserSettings) {
console.log(`clientUserSettingsUpdate -> client user's settings update`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
info | string | The debug information |
client.on("debug", function (info) {
console.log(`debug -> ${info}`);
});
disconnect(): Emitted when the client's WebSocket disconnects and will no longer attempt to reconnect.
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
Event | CloseEvent | The WebSocket close event |
client.on("disconnect", function (event) {
console.log(
`The WebSocket has closed and will no longer attempt to reconnect`
);
});
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`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
emoji | Emoji | The emoji that was deleted |
client.on("emojiDelete", function (emoji) {
console.log(`a custom guild emoji is deleted`);
});
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`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
error | Error | The encountered error |
client.on("error", function (error) {
console.error(
`client's WebSocket encountered a connection error: ${error}`
);
});
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`);
});
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`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
guild | Guild | The created guild |
client.on("guildCreate", function (guild) {
console.log(`the client joins a guild`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
guild | Guild | The guild that was deleted |
client.on("guildDelete", function (guild) {
console.log(`the client deleted/left 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}`);
});
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}`);
});
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 | The members in the chunk |
guild | Guild | The guild related to the member chunk |
client.on("guildMembersChunk", function (members, guild) {
console.error(`a chunk of guild members is received`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
member | GuildMember | The member that started/stopped speaking |
speaking | boolean | Whether or not the member is speaking |
client.on("guildMemberSpeaking", function (member, speaking) {
console.log(`a guild member starts/stops speaking: ${member.tag}`);
});
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.error(
`a guild member changes - i.e. new role, removed role, nickname.`
);
});
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}`
);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
oldGuild | Guild | The guild before the update |
newGuild | Guild | The guild after the update |
client.on("guildUpdate", function (oldGuild, newGuild) {
console.error(`a guild is updated`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
message | Message | The created message |
client.on("message", function (message) {
console.log(`message is created -> ${message}`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
message | Message | The deleted message |
client.on("messageDelete", function (message) {
console.log(`message is deleted -> ${message}`);
});
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}`);
});
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`);
});
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`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
message | Message | The message the reactions were removed from |
client.on("messageReactionRemoveAll", function (message) {
console.error(`all reactions are removed from a message`);
});
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`);
});
PARAMETER | TYPE | DESCRIPTION |
---|
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;
});
});
PARAMETER | TYPE | DESCRIPTION |
---|
client.on("reconnecting", function () {
console.log(`client tries to reconnect to the WebSocket`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
replayed | number | The number of events that were replayed |
client.on("resume", function (replayed) {
console.log(`whenever a WebSocket resumes, ${replayed} replays`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
role | Role | The role that was created |
client.on("roleCreate", function (role) {
console.error(`a role is created`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
role | Role | The role that was deleted |
client.on("roleDelete", function (role) {
console.error(`a guild role is deleted`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
oldRole | Role | The role before the update |
newRole | Role | The role after the update |
client.on("roleUpdate", function (oldRole, newRole) {
console.error(`a guild role is updated`);
});
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`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
channel | Channel | The channel the user stopped typing in |
user | User | The user that stopped typing |
client.on("typingStop", function (channel, user) {
console.log(`${user.tag} has stopped typing`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
user | User | The user the note belongs to |
oldNote | String | The note content before the update |
newNote | String | The note content after the update |
client.on("userNoteUpdate", function (user, oldNote, newNote) {
console.log(`a member's note is updated`);
});
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`);
});
PARAMETER | TYPE | DESCRIPTION |
---|---|---|
info | string | The warning |
client.on("warn", function (info) {
console.log(`warn: ${info}`);
});