From a853eac23f906792312d97ad96ef7c9c8477770b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aura=20Rom=C3=A1n?= Date: Mon, 10 Jul 2023 08:42:18 +0200 Subject: [PATCH 1/2] feat(Client): add `guildAvailable` event --- .../src/client/websocket/handlers/GUILD_CREATE.js | 7 +++++++ packages/discord.js/src/util/Events.js | 2 ++ packages/discord.js/typings/index.d.ts | 2 ++ 3 files changed, 11 insertions(+) diff --git a/packages/discord.js/src/client/websocket/handlers/GUILD_CREATE.js b/packages/discord.js/src/client/websocket/handlers/GUILD_CREATE.js index 7202dc8fce16..141f0abe9e77 100644 --- a/packages/discord.js/src/client/websocket/handlers/GUILD_CREATE.js +++ b/packages/discord.js/src/client/websocket/handlers/GUILD_CREATE.js @@ -9,6 +9,13 @@ module.exports = (client, { d: data }, shard) => { if (!guild.available && !data.unavailable) { // A newly available guild guild._patch(data); + + /** + * Emitted whenever a guild becomes available. + * @event Client#guildAvailable + * @param {Guild} guild The guild that became available + */ + client.emit(Events.GuildAvailable, guild); } } else { // A new guild diff --git a/packages/discord.js/src/util/Events.js b/packages/discord.js/src/util/Events.js index 34d31b930038..3ce59ecc2eaf 100644 --- a/packages/discord.js/src/util/Events.js +++ b/packages/discord.js/src/util/Events.js @@ -18,6 +18,7 @@ * @property {string} GuildAuditLogEntryCreate guildAuditLogEntryCreate * @property {string} GuildBanAdd guildBanAdd * @property {string} GuildBanRemove guildBanRemove + * @property {string} GuildAvailable guildAvailable * @property {string} GuildCreate guildCreate * @property {string} GuildDelete guildDelete * @property {string} GuildEmojiCreate emojiCreate @@ -99,6 +100,7 @@ module.exports = { GuildAuditLogEntryCreate: 'guildAuditLogEntryCreate', GuildBanAdd: 'guildBanAdd', GuildBanRemove: 'guildBanRemove', + GuildAvailable: 'guildAvailable', GuildCreate: 'guildCreate', GuildDelete: 'guildDelete', GuildEmojiCreate: 'emojiCreate', diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 38faf58b70f5..edca1a914456 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -4807,6 +4807,7 @@ export interface ClientEvents { guildAuditLogEntryCreate: [auditLogEntry: GuildAuditLogsEntry, guild: Guild]; guildBanAdd: [ban: GuildBan]; guildBanRemove: [ban: GuildBan]; + guildAvailable: [guild: Guild]; guildCreate: [guild: Guild]; guildDelete: [guild: Guild]; guildUnavailable: [guild: Guild]; @@ -5013,6 +5014,7 @@ export enum Events { AutoModerationRuleUpdate = 'autoModerationRuleUpdate', ClientReady = 'ready', GuildAuditLogEntryCreate = 'guildAuditLogEntryCreate', + GuildAvailable = 'guildAvailable', GuildCreate = 'guildCreate', GuildDelete = 'guildDelete', GuildUpdate = 'guildUpdate', From 9f9356d14282664a297432beed8f8224c2b582de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aura=20Rom=C3=A1n?= Date: Mon, 10 Jul 2023 18:49:49 +0200 Subject: [PATCH 2/2] refactor: sort entries alphabetically --- packages/discord.js/src/util/Events.js | 4 ++-- packages/discord.js/typings/index.d.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/discord.js/src/util/Events.js b/packages/discord.js/src/util/Events.js index 3ce59ecc2eaf..1a83ec81e3fa 100644 --- a/packages/discord.js/src/util/Events.js +++ b/packages/discord.js/src/util/Events.js @@ -16,9 +16,9 @@ * @property {string} Debug debug * @property {string} Error error * @property {string} GuildAuditLogEntryCreate guildAuditLogEntryCreate + * @property {string} GuildAvailable guildAvailable * @property {string} GuildBanAdd guildBanAdd * @property {string} GuildBanRemove guildBanRemove - * @property {string} GuildAvailable guildAvailable * @property {string} GuildCreate guildCreate * @property {string} GuildDelete guildDelete * @property {string} GuildEmojiCreate emojiCreate @@ -98,9 +98,9 @@ module.exports = { Debug: 'debug', Error: 'error', GuildAuditLogEntryCreate: 'guildAuditLogEntryCreate', + GuildAvailable: 'guildAvailable', GuildBanAdd: 'guildBanAdd', GuildBanRemove: 'guildBanRemove', - GuildAvailable: 'guildAvailable', GuildCreate: 'guildCreate', GuildDelete: 'guildDelete', GuildEmojiCreate: 'emojiCreate', diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index edca1a914456..480a2d220a02 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -4805,9 +4805,9 @@ export interface ClientEvents { emojiUpdate: [oldEmoji: GuildEmoji, newEmoji: GuildEmoji]; error: [error: Error]; guildAuditLogEntryCreate: [auditLogEntry: GuildAuditLogsEntry, guild: Guild]; + guildAvailable: [guild: Guild]; guildBanAdd: [ban: GuildBan]; guildBanRemove: [ban: GuildBan]; - guildAvailable: [guild: Guild]; guildCreate: [guild: Guild]; guildDelete: [guild: Guild]; guildUnavailable: [guild: Guild];