From 3c85fb21e62b30e75a7200b704e242c3a0adeda1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aura=20Rom=C3=A1n?= Date: Sat, 15 Jul 2023 19:33:47 +0200 Subject: [PATCH] feat(Client): add `guildAvailable` event (#9692) * feat(Client): add `guildAvailable` event * refactor: sort entries alphabetically --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> --- .../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..1a83ec81e3fa 100644 --- a/packages/discord.js/src/util/Events.js +++ b/packages/discord.js/src/util/Events.js @@ -16,6 +16,7 @@ * @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} GuildCreate guildCreate @@ -97,6 +98,7 @@ module.exports = { Debug: 'debug', Error: 'error', GuildAuditLogEntryCreate: 'guildAuditLogEntryCreate', + GuildAvailable: 'guildAvailable', GuildBanAdd: 'guildBanAdd', GuildBanRemove: 'guildBanRemove', GuildCreate: 'guildCreate', diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index db190f079024..bd34b1d75c82 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -4807,6 +4807,7 @@ 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]; guildCreate: [guild: Guild]; @@ -5015,6 +5016,7 @@ export enum Events { AutoModerationRuleUpdate = 'autoModerationRuleUpdate', ClientReady = 'ready', GuildAuditLogEntryCreate = 'guildAuditLogEntryCreate', + GuildAvailable = 'guildAvailable', GuildCreate = 'guildCreate', GuildDelete = 'guildDelete', GuildUpdate = 'guildUpdate',