From 24d4489ea44288b4dd5e37db5f0ac02368614c61 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Wed, 9 Dec 2020 08:20:45 +0100 Subject: [PATCH] refactor!: change certain events args order (#238) * Make them Optional * Allow/Deny changed to Strings in v8 * Revert "Allow/Deny changed to Strings in v8" This reverts commit 3ffb55705c1339e39540d7b2c8ccd0be275d0038. * Revert "Revert "Allow/Deny changed to Strings in v8"" This reverts commit 4fb7ef271ec271847e3d9323ba6bd91b9acf73be. * Revert "Revert "Revert "Allow/Deny changed to Strings in v8""" This reverts commit d5a020e307bd09e7fa11227913b7fd1e4b8664aa. --- docs/src/stepbystep/createevent.md | 10 ++++++---- src/controllers/members.ts | 5 +---- src/controllers/messages.ts | 7 ++++--- src/controllers/reactions.ts | 6 ++++-- src/types/options.ts | 20 +++++++++++++++----- 5 files changed, 30 insertions(+), 18 deletions(-) diff --git a/docs/src/stepbystep/createevent.md b/docs/src/stepbystep/createevent.md index d48d2b1a7..99d071bbc 100644 --- a/docs/src/stepbystep/createevent.md +++ b/docs/src/stepbystep/createevent.md @@ -102,7 +102,7 @@ Now that we have fully covered events, it would be a good time to get some pract cachedEmojis: Emoji[], ) => unknown; guildMemberAdd?: (guild: Guild, member: Member) => unknown; - guildMemberRemove?: (guild: Guild, member: Member | UserPayload) => unknown; + guildMemberRemove?: (guild: Guild, user: UserPayload, member?: Member) => unknown; guildMemberUpdate?: ( guild: Guild, member: Member, @@ -110,7 +110,7 @@ Now that we have fully covered events, it would be a good time to get some pract ) => unknown; heartbeat?: () => unknown; messageCreate?: (message: Message) => unknown; - messageDelete?: (message: Message | PartialMessage) => unknown; + messageDelete?: (partial: PartialMessage, message?: Message) => unknown; messageUpdate?: (message: Message, cachedMessage: OldMessage) => unknown; nicknameUpdate?: ( guild: Guild, @@ -126,14 +126,16 @@ Now that we have fully covered events, it would be a good time to get some pract rawGateway?: (data: unknown) => unknown; ready?: () => unknown; reactionAdd?: ( - message: Message | MessageReactionPayload, + payload: MessageReactionPayload emoji: ReactionPayload, userID: string, + message?: Message, ) => unknown; reactionRemove?: ( - message: Message | MessageReactionPayload, + payload: MessageReactionPayload, emoji: ReactionPayload, userID: string, + message?: Message, ) => unknown; reactionRemoveAll?: (data: BaseMessageReactionPayload) => unknown; reactionRemoveEmoji?: (data: MessageReactionRemoveEmojiPayload) => unknown; diff --git a/src/controllers/members.ts b/src/controllers/members.ts index 04a6608b3..12032d4e7 100644 --- a/src/controllers/members.ts +++ b/src/controllers/members.ts @@ -35,10 +35,7 @@ export async function handleInternalGuildMemberRemove(data: DiscordPayload) { guild.memberCount--; const member = await cacheHandlers.get("members", payload.user.id); - eventHandlers.guildMemberRemove?.( - guild, - member || payload.user, - ); + eventHandlers.guildMemberRemove?.(guild, payload.user, member); member?.guilds.delete(guild.id); if (member && !member.guilds.size) cacheHandlers.delete("members", member.id); diff --git a/src/controllers/messages.ts b/src/controllers/messages.ts index db8b48482..750ff0d0c 100644 --- a/src/controllers/messages.ts +++ b/src/controllers/messages.ts @@ -52,8 +52,8 @@ export async function handleInternalMessageDelete(data: DiscordPayload) { if (!channel) return; eventHandlers.messageDelete?.( - await cacheHandlers.get("messages", payload.id) || - { id: payload.id, channel }, + { id: payload.id, channel }, + await cacheHandlers.get("messages", payload.id), ); cacheHandlers.delete("messages", payload.id); @@ -68,7 +68,8 @@ export async function handleInternalMessageDeleteBulk(data: DiscordPayload) { payload.ids.forEach(async (id) => { eventHandlers.messageDelete?.( - await cacheHandlers.get("messages", id) || { id, channel }, + { id, channel }, + await cacheHandlers.get("messages", id), ); cacheHandlers.delete("messages", id); }); diff --git a/src/controllers/reactions.ts b/src/controllers/reactions.ts index 1738c736b..4bcd7b06e 100644 --- a/src/controllers/reactions.ts +++ b/src/controllers/reactions.ts @@ -52,9 +52,10 @@ export async function handleInternalMessageReactionAdd(data: DiscordPayload) { }; eventHandlers.reactionAdd?.( - message || uncachedOptions, + uncachedOptions, payload.emoji, payload.user_id, + message, ); } @@ -107,9 +108,10 @@ export async function handleInternalMessageReactionRemove( }; eventHandlers.reactionRemove?.( - message || uncachedOptions, + uncachedOptions, payload.emoji, payload.user_id, + message, ); } diff --git a/src/types/options.ts b/src/types/options.ts index efa8fc408..b923de46a 100644 --- a/src/types/options.ts +++ b/src/types/options.ts @@ -78,7 +78,11 @@ export interface EventHandlers { debug?: (args: DebugArg) => unknown; dispatchRequirements?: (data: DiscordPayload, shardID: number) => unknown; guildBanAdd?: (guild: Guild, user: UserPayload, member?: Member) => unknown; - guildBanRemove?: (guild: Guild, user: UserPayload, member?: Member) => unknown; + guildBanRemove?: ( + guild: Guild, + user: UserPayload, + member?: Member, + ) => unknown; guildCreate?: (guild: Guild) => unknown; guildLoaded?: (guild: Guild) => unknown; guildUpdate?: (guild: Guild, changes: GuildUpdateChange[]) => unknown; @@ -89,7 +93,11 @@ export interface EventHandlers { cachedEmojis: Emoji[], ) => unknown; guildMemberAdd?: (guild: Guild, member: Member) => unknown; - guildMemberRemove?: (guild: Guild, member: Member | UserPayload) => unknown; + guildMemberRemove?: ( + guild: Guild, + user: UserPayload, + member?: Member, + ) => unknown; guildMemberUpdate?: ( guild: Guild, member: Member, @@ -97,7 +105,7 @@ export interface EventHandlers { ) => unknown; heartbeat?: () => unknown; messageCreate?: (message: Message) => unknown; - messageDelete?: (message: Message | PartialMessage) => unknown; + messageDelete?: (partial: PartialMessage, message?: Message) => unknown; messageUpdate?: (message: Message, cachedMessage: OldMessage) => unknown; nicknameUpdate?: ( guild: Guild, @@ -113,14 +121,16 @@ export interface EventHandlers { rawGateway?: (data: unknown) => unknown; ready?: () => unknown; reactionAdd?: ( - message: Message | MessageReactionUncachedPayload, + payload: MessageReactionUncachedPayload, emoji: ReactionPayload, userID: string, + message?: Message, ) => unknown; reactionRemove?: ( - message: Message | MessageReactionUncachedPayload, + payload: MessageReactionUncachedPayload, emoji: ReactionPayload, userID: string, + message?: Message, ) => unknown; reactionRemoveAll?: (data: BaseMessageReactionPayload) => unknown; reactionRemoveEmoji?: (data: MessageReactionRemoveEmojiPayload) => unknown;