refactor: ignore handlers if events for an handler isnt provided (#3148)

* refactor: ignore handlers if events for an handler isnt provided

* style: use !event instead of event === undefined check

* fix: handleGuildDelete check
This commit is contained in:
Awesome Stickz
2023-10-15 04:27:55 +00:00
committed by GitHub
parent dc78446a59
commit 4a38f1a6e4
59 changed files with 178 additions and 60 deletions
@@ -1,11 +1,13 @@
import type { Bot, DiscordChannel, DiscordGatewayPayload } from '../../index.js'
export async function handleChannelCreate(bot: Bot, payload: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.channelCreate) return
const data = payload.d as DiscordChannel
const channel = bot.transformers.channel(bot, {
channel: data,
guildId: data.guild_id ? bot.transformers.snowflake(data.guild_id) : undefined,
})
bot.events.channelCreate?.(channel)
bot.events.channelCreate(channel)
}
@@ -2,10 +2,12 @@ import type { DiscordChannel, DiscordGatewayPayload } from '@discordeno/types'
import type { Bot } from '../../bot.js'
export async function handleChannelDelete(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.channelDelete) return
const payload = data.d as DiscordChannel
if (!payload.guild_id) return
bot.events.channelDelete?.(
bot.events.channelDelete(
bot.transformers.channel(bot, {
channel: payload,
guildId: payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined,
@@ -2,9 +2,11 @@ import type { DiscordChannelPinsUpdate, DiscordGatewayPayload } from '@discorden
import type { Bot } from '../../bot.js'
export async function handleChannelPinsUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.channelPinsUpdate) return
const payload = data.d as DiscordChannelPinsUpdate
bot.events.channelPinsUpdate?.({
bot.events.channelPinsUpdate({
guildId: payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined,
channelId: bot.transformers.snowflake(payload.channel_id),
lastPinTimestamp: payload.last_pin_timestamp ? Date.parse(payload.last_pin_timestamp) : undefined,
@@ -2,8 +2,10 @@ import type { DiscordChannel, DiscordGatewayPayload } from '@discordeno/types'
import type { Bot } from '../../bot.js'
export async function handleChannelUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.channelUpdate) return
const payload = data.d as DiscordChannel
const channel = bot.transformers.channel(bot, { channel: payload })
bot.events.channelUpdate?.(channel)
bot.events.channelUpdate(channel)
}
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordStageInstance } from '@discordeno/ty
import type { Bot } from '../../bot.js'
export async function handleStageInstanceCreate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.stageInstanceCreate) return
const payload = data.d as DiscordStageInstance
bot.events.stageInstanceCreate?.({
bot.events.stageInstanceCreate({
id: bot.transformers.snowflake(payload.id),
guildId: bot.transformers.snowflake(payload.guild_id),
channelId: bot.transformers.snowflake(payload.channel_id),
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordStageInstance } from '@discordeno/ty
import type { Bot } from '../../bot.js'
export async function handleStageInstanceDelete(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.stageInstanceDelete) return
const payload = data.d as DiscordStageInstance
bot.events.stageInstanceDelete?.({
bot.events.stageInstanceDelete({
id: bot.transformers.snowflake(payload.id),
guildId: bot.transformers.snowflake(payload.guild_id),
channelId: bot.transformers.snowflake(payload.channel_id),
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordStageInstance } from '@discordeno/ty
import type { Bot } from '../../bot.js'
export async function handleStageInstanceUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.stageInstanceUpdate) return
const payload = data.d as DiscordStageInstance
bot.events.stageInstanceUpdate?.({
bot.events.stageInstanceUpdate({
id: bot.transformers.snowflake(payload.id),
guildId: bot.transformers.snowflake(payload.guild_id),
channelId: bot.transformers.snowflake(payload.channel_id),
@@ -2,7 +2,9 @@ import type { DiscordChannel, DiscordGatewayPayload } from '@discordeno/types'
import type { Bot } from '../../index.js'
export async function handleThreadCreate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.threadCreate) return
const payload = data.d as DiscordChannel
bot.events.threadCreate?.(bot.transformers.channel(bot, { channel: payload }))
bot.events.threadCreate(bot.transformers.channel(bot, { channel: payload }))
}
@@ -2,7 +2,9 @@ import type { DiscordChannel, DiscordGatewayPayload } from '@discordeno/types'
import type { Bot } from '../../index.js'
export async function handleThreadDelete(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.threadDelete) return
const payload = data.d as DiscordChannel
bot.events.threadDelete?.(bot.transformers.channel(bot, { channel: payload }))
bot.events.threadDelete(bot.transformers.channel(bot, { channel: payload }))
}
@@ -2,11 +2,13 @@ import type { DiscordGatewayPayload, DiscordThreadListSync } from '@discordeno/t
import type { Bot } from '../../index.js'
export async function handleThreadListSync(bot: Bot, data: DiscordGatewayPayload): Promise<any> {
if (!bot.events.threadListSync) return
const payload = data.d as DiscordThreadListSync
const guildId = bot.transformers.snowflake(payload.guild_id)
bot.events.threadListSync?.({
bot.events.threadListSync({
guildId,
channelIds: payload.channel_ids?.map((id) => bot.transformers.snowflake(id)),
threads: payload.threads.map((thread) => bot.transformers.channel(bot, { channel: thread, guildId })),
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordThreadMembersUpdate } from '@discord
import type { Bot } from '../../index.js'
export async function handleThreadMembersUpdate(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.threadMembersUpdate) return
const payload = data.d as DiscordThreadMembersUpdate
bot.events.threadMembersUpdate?.({
bot.events.threadMembersUpdate({
id: bot.transformers.snowflake(payload.id),
guildId: bot.transformers.snowflake(payload.guild_id),
addedMembers: payload.added_members?.map((member) => bot.transformers.threadMember?.(bot, member)),
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordThreadMemberUpdate } from '@discorde
import type { Bot } from '../../index.js'
export async function handleThreadMemberUpdate(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.threadMemberUpdate) return
const payload = data.d as DiscordThreadMemberUpdate
bot.events.threadMemberUpdate?.({
bot.events.threadMemberUpdate({
id: bot.transformers.snowflake(payload.id),
guildId: bot.transformers.snowflake(payload.guild_id),
joinedAt: Date.parse(payload.joined_at),
@@ -2,7 +2,9 @@ import type { DiscordChannel, DiscordGatewayPayload } from '@discordeno/types'
import type { Bot } from '../../index.js'
export async function handleThreadUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.threadUpdate) return
const payload = data.d as DiscordChannel
bot.events.threadUpdate?.(bot.transformers.channel(bot, { channel: payload }))
bot.events.threadUpdate(bot.transformers.channel(bot, { channel: payload }))
}
@@ -3,9 +3,11 @@ import { Collection } from '@discordeno/utils'
import type { Bot } from '../../bot.js'
export async function handleGuildEmojisUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.guildEmojisUpdate) return
const payload = data.d as DiscordGuildEmojisUpdate
bot.events.guildEmojisUpdate?.({
bot.events.guildEmojisUpdate({
guildId: bot.transformers.snowflake(payload.guild_id),
emojis: new Collection(payload.emojis.map((emoji) => [bot.transformers.snowflake(emoji.id!), emoji])),
})
@@ -2,7 +2,9 @@ import type { DiscordAuditLogEntry, DiscordGatewayPayload } from '@discordeno/ty
import type { Bot } from '../../bot.js'
export async function handleGuildAuditLogEntryCreate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.guildAuditLogEntryCreate) return
// TODO: better type here
const payload = data.d as DiscordAuditLogEntry & { guild_id: string }
bot.events.guildAuditLogEntryCreate?.(bot.transformers.auditLogEntry(bot, payload), bot.transformers.snowflake(payload.guild_id))
bot.events.guildAuditLogEntryCreate(bot.transformers.auditLogEntry(bot, payload), bot.transformers.snowflake(payload.guild_id))
}
@@ -2,6 +2,8 @@ import type { DiscordGatewayPayload, DiscordGuildBanAddRemove } from '@discorden
import type { Bot } from '../../bot.js'
export async function handleGuildBanAdd(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.guildBanAdd) return
const payload = data.d as DiscordGuildBanAddRemove
bot.events.guildBanAdd?.(bot.transformers.user(bot, payload.user), bot.transformers.snowflake(payload.guild_id))
bot.events.guildBanAdd(bot.transformers.user(bot, payload.user), bot.transformers.snowflake(payload.guild_id))
}
@@ -2,7 +2,9 @@ import type { DiscordGatewayPayload, DiscordGuildBanAddRemove } from '@discorden
import type { Bot } from '../../bot.js'
export async function handleGuildBanRemove(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.guildBanRemove) return
const payload = data.d as DiscordGuildBanAddRemove
await bot.events.guildBanRemove?.(bot.transformers.user(bot, payload.user), bot.transformers.snowflake(payload.guild_id))
await bot.events.guildBanRemove(bot.transformers.user(bot, payload.user), bot.transformers.snowflake(payload.guild_id))
}
@@ -2,6 +2,8 @@ import type { DiscordGatewayPayload, DiscordGuild } from '@discordeno/types'
import type { Bot } from '../../bot.js'
export async function handleGuildCreate(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.guildCreate) return
const payload = data.d as DiscordGuild
bot.events.guildCreate?.(bot.transformers.guild(bot, { guild: payload, shardId }))
bot.events.guildCreate(bot.transformers.guild(bot, { guild: payload, shardId }))
}
@@ -2,12 +2,14 @@ import type { DiscordGatewayPayload, DiscordUnavailableGuild } from '@discordeno
import type { Bot } from '../../bot.js'
export async function handleGuildDelete(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.guildDelete || !bot.events.guildUnavailable) return
const payload = data.d as DiscordUnavailableGuild
if (payload.unavailable) {
bot.events.guildUnavailable?.(bot.transformers.snowflake(payload.id), shardId)
bot.events.guildUnavailable(bot.transformers.snowflake(payload.id), shardId)
return
}
bot.events.guildDelete?.(bot.transformers.snowflake(payload.id), shardId)
bot.events.guildDelete(bot.transformers.snowflake(payload.id), shardId)
}
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordGuildIntegrationsUpdate } from '@dis
import type { Bot } from '../../bot.js'
export async function handleGuildIntegrationsUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.integrationUpdate) return
const payload = data.d as DiscordGuildIntegrationsUpdate
bot.events.integrationUpdate?.({
bot.events.integrationUpdate({
guildId: bot.transformers.snowflake(payload.guild_id),
})
}
@@ -1,9 +1,11 @@
import type { Bot, DiscordGatewayPayload, DiscordGuildStickersUpdate } from '../../index.js'
export async function handleGuildStickersUpdate(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.guildStickersUpdate) return
const payload = data.d as DiscordGuildStickersUpdate
bot.events.guildStickersUpdate?.(
bot.events.guildStickersUpdate(
payload.stickers.map((sticker) => {
sticker.guild_id = payload.guild_id
return bot.transformers.sticker(bot, sticker)
@@ -2,7 +2,9 @@ import type { DiscordGatewayPayload, DiscordGuild } from '@discordeno/types'
import type { Bot } from '../../bot.js'
export async function handleGuildUpdate(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.guildUpdate) return
const payload = data.d as DiscordGuild
bot.events.guildUpdate?.(bot.transformers.guild(bot, { guild: payload, shardId }))
bot.events.guildUpdate(bot.transformers.guild(bot, { guild: payload, shardId }))
}
@@ -3,6 +3,8 @@ import type { Bot } from '../../../bot.js'
/** Requires the MANAGE_GUILD permission. */
export async function handleAutoModerationActionExecution(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.automodActionExecution) return
const payload = data.d as DiscordAutoModerationActionExecution
bot.events.automodActionExecution?.(bot.transformers.automodActionExecution(bot, payload))
bot.events.automodActionExecution(bot.transformers.automodActionExecution(bot, payload))
}
@@ -3,6 +3,8 @@ import type { Bot } from '../../../bot.js'
/** Requires the MANAGE_GUILD permission. */
export async function handleAutoModerationRuleCreate(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.automodRuleCreate) return
const payload = data.d as DiscordAutoModerationRule
bot.events.automodRuleCreate?.(bot.transformers.automodRule(bot, payload))
bot.events.automodRuleCreate(bot.transformers.automodRule(bot, payload))
}
@@ -3,6 +3,8 @@ import type { Bot } from '../../../bot.js'
/** Requires the MANAGE_GUILD permission. */
export async function handleAutoModerationRuleDelete(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.automodRuleDelete) return
const payload = data.d as DiscordAutoModerationRule
bot.events.automodRuleDelete?.(bot.transformers.automodRule(bot, payload))
bot.events.automodRuleDelete(bot.transformers.automodRule(bot, payload))
}
@@ -3,6 +3,8 @@ import type { Bot } from '../../../bot.js'
/** Requires the MANAGE_GUILD permission. */
export async function handleAutoModerationRuleUpdate(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.automodRuleUpdate) return
const payload = data.d as DiscordAutoModerationRule
bot.events.automodRuleUpdate?.(bot.transformers.automodRule(bot, payload))
bot.events.automodRuleUpdate(bot.transformers.automodRule(bot, payload))
}
@@ -2,6 +2,8 @@ import type { DiscordGatewayPayload, DiscordScheduledEvent } from '@discordeno/t
import type { Bot } from '../../../bot.js'
export async function handleGuildScheduledEventCreate(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.scheduledEventCreate) return
const payload = data.d as DiscordScheduledEvent
bot.events.scheduledEventCreate?.(bot.transformers.scheduledEvent(bot, payload))
bot.events.scheduledEventCreate(bot.transformers.scheduledEvent(bot, payload))
}
@@ -2,6 +2,8 @@ import type { DiscordGatewayPayload, DiscordScheduledEvent } from '@discordeno/t
import type { Bot } from '../../../bot.js'
export async function handleGuildScheduledEventDelete(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.scheduledEventDelete) return
const payload = data.d as DiscordScheduledEvent
bot.events.scheduledEventDelete?.(bot.transformers.scheduledEvent(bot, payload))
bot.events.scheduledEventDelete(bot.transformers.scheduledEvent(bot, payload))
}
@@ -2,6 +2,8 @@ import type { DiscordGatewayPayload, DiscordScheduledEvent } from '@discordeno/t
import type { Bot } from '../../../bot.js'
export async function handleGuildScheduledEventUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.scheduledEventUpdate) return
const payload = data.d as DiscordScheduledEvent
bot.events.scheduledEventUpdate?.(bot.transformers.scheduledEvent(bot, payload))
bot.events.scheduledEventUpdate(bot.transformers.scheduledEvent(bot, payload))
}
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordScheduledEventUserAdd } from '@disco
import type { Bot } from '../../../bot.js'
export async function handleGuildScheduledEventUserAdd(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.scheduledEventUserAdd) return
const payload = data.d as DiscordScheduledEventUserAdd
bot.events.scheduledEventUserAdd?.({
bot.events.scheduledEventUserAdd({
guildScheduledEventId: bot.transformers.snowflake(payload.guild_scheduled_event_id),
userId: bot.transformers.snowflake(payload.user_id),
guildId: bot.transformers.snowflake(payload.guild_id),
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordScheduledEventUserRemove } from '@di
import type { Bot } from '../../../bot.js'
export async function handleGuildScheduledEventUserRemove(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.scheduledEventUserRemove) return
const payload = data.d as DiscordScheduledEventUserRemove
bot.events.scheduledEventUserRemove?.({
bot.events.scheduledEventUserRemove({
guildScheduledEventId: bot.transformers.snowflake(payload.guild_scheduled_event_id),
userId: bot.transformers.snowflake(payload.user_id),
guildId: bot.transformers.snowflake(payload.guild_id),
@@ -2,5 +2,7 @@ import type { DiscordGatewayPayload, DiscordIntegrationCreateUpdate } from '@dis
import type { Bot } from '../../index.js'
export async function handleIntegrationCreate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
bot.events.integrationCreate?.(bot.transformers.integration(bot, data.d as DiscordIntegrationCreateUpdate))
if (!bot.events.integrationCreate) return
bot.events.integrationCreate(bot.transformers.integration(bot, data.d as DiscordIntegrationCreateUpdate))
}
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordIntegrationDelete } from '@discorden
import type { Bot } from '../../index.js'
export async function handleIntegrationDelete(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.integrationDelete) return
const payload = data.d as DiscordIntegrationDelete
bot.events.integrationDelete?.({
bot.events.integrationDelete({
id: bot.transformers.snowflake(payload.id),
guildId: bot.transformers.snowflake(payload.guild_id),
applicationId: payload.application_id ? bot.transformers.snowflake(payload.application_id) : undefined,
@@ -2,5 +2,7 @@ import type { DiscordGatewayPayload, DiscordIntegrationCreateUpdate } from '@dis
import type { Bot } from '../../index.js'
export async function handleIntegrationUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
bot.events.integrationUpdate?.(bot.transformers.integration(bot, data.d as DiscordIntegrationCreateUpdate))
if (!bot.events.integrationUpdate) return
bot.events.integrationUpdate(bot.transformers.integration(bot, data.d as DiscordIntegrationCreateUpdate))
}
@@ -1,6 +1,8 @@
import type { Bot, DiscordGatewayPayload, DiscordGuildApplicationCommandPermissions } from '../../index.js'
export async function handleApplicationCommandPermissionsUpdate(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.applicationCommandPermissionsUpdate) return
const payload = data.d as DiscordGuildApplicationCommandPermissions
bot.events.applicationCommandPermissionsUpdate?.(bot.transformers.applicationCommandPermission(bot, payload))
bot.events.applicationCommandPermissionsUpdate(bot.transformers.applicationCommandPermission(bot, payload))
}
@@ -2,5 +2,7 @@ import type { DiscordGatewayPayload, DiscordInteraction } from '@discordeno/type
import type { Bot } from '../../index.js'
export async function handleInteractionCreate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
bot.events.interactionCreate?.(bot.transformers.interaction(bot, data.d as DiscordInteraction))
if (!bot.events.interactionCreate) return
bot.events.interactionCreate(bot.transformers.interaction(bot, data.d as DiscordInteraction))
}
@@ -2,5 +2,7 @@ import type { DiscordGatewayPayload, DiscordInviteCreate } from '@discordeno/typ
import type { Bot } from '../../index.js'
export async function handleInviteCreate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
bot.events.inviteCreate?.(bot.transformers.invite(bot, data.d as DiscordInviteCreate))
if (!bot.events.inviteCreate) return
bot.events.inviteCreate(bot.transformers.invite(bot, data.d as DiscordInviteCreate))
}
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordInviteDelete } from '@discordeno/typ
import type { Bot } from '../../index.js'
export async function handleInviteDelete(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.inviteDelete) return
const payload = data.d as DiscordInviteDelete
bot.events.inviteDelete?.({
bot.events.inviteDelete({
/** The channel of the invite */
channelId: bot.transformers.snowflake(payload.channel_id),
/** The guild of the invite */
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordGuildMemberAdd } from '@discordeno/t
import type { Bot } from '../../index.js'
export async function handleGuildMemberAdd(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.guildMemberAdd) return
const payload = data.d as DiscordGuildMemberAdd
const guildId = bot.transformers.snowflake(payload.guild_id)
const user = bot.transformers.user(bot, payload.user)
const member = bot.transformers.member(bot, payload, guildId, user.id)
bot.events.guildMemberAdd?.(member, user)
bot.events.guildMemberAdd(member, user)
}
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordGuildMemberRemove } from '@discorden
import type { Bot } from '../../index.js'
export async function handleGuildMemberRemove(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.guildMemberRemove) return
const payload = data.d as DiscordGuildMemberRemove
const guildId = bot.transformers.snowflake(payload.guild_id)
const user = bot.transformers.user(bot, payload.user)
bot.events.guildMemberRemove?.(user, guildId)
bot.events.guildMemberRemove(user, guildId)
}
@@ -2,8 +2,10 @@ import type { DiscordGatewayPayload, DiscordGuildMemberUpdate } from '@discorden
import type { Bot } from '../../index.js'
export async function handleGuildMemberUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.guildMemberUpdate) return
const payload = data.d as DiscordGuildMemberUpdate
const user = bot.transformers.user(bot, payload.user)
bot.events.guildMemberUpdate?.(bot.transformers.member(bot, payload, bot.transformers.snowflake(payload.guild_id), user.id), user)
bot.events.guildMemberUpdate(bot.transformers.member(bot, payload, bot.transformers.snowflake(payload.guild_id), user.id), user)
}
@@ -2,7 +2,9 @@ import type { DiscordGatewayPayload, DiscordMessage } from '@discordeno/types'
import type { Bot } from '../../index.js'
export async function handleMessageCreate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.messageCreate) return
const payload = data.d as DiscordMessage
bot.events.messageCreate?.(bot.transformers.message(bot, payload))
bot.events.messageCreate(bot.transformers.message(bot, payload))
}
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordMessageDelete } from '@discordeno/ty
import type { Bot } from '../../index.js'
export async function handleMessageDelete(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.messageDelete) return
const payload = data.d as DiscordMessageDelete
bot.events.messageDelete?.({
bot.events.messageDelete({
id: bot.transformers.snowflake(payload.id),
channelId: bot.transformers.snowflake(payload.channel_id),
guildId: payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined,
@@ -2,12 +2,14 @@ import type { DiscordGatewayPayload, DiscordMessageDeleteBulk } from '@discorden
import type { Bot } from '../../index.js'
export async function handleMessageDeleteBulk(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.messageDeleteBulk) return
const payload = data.d as DiscordMessageDeleteBulk
const channelId = bot.transformers.snowflake(payload.channel_id)
const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined
bot.events.messageDeleteBulk?.({
bot.events.messageDeleteBulk({
ids: payload.ids.map((id) => bot.transformers.snowflake(id)),
channelId,
guildId,
@@ -2,11 +2,13 @@ import type { DiscordGatewayPayload, DiscordMessageReactionAdd } from '@discorde
import type { Bot } from '../../index.js'
export async function handleMessageReactionAdd(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.reactionAdd) return
const payload = data.d as DiscordMessageReactionAdd
const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined
const userId = bot.transformers.snowflake(payload.user_id)
bot.events.reactionAdd?.({
bot.events.reactionAdd({
userId,
channelId: bot.transformers.snowflake(payload.channel_id),
messageId: bot.transformers.snowflake(payload.message_id),
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordMessageReactionRemove } from '@disco
import type { Bot } from '../../index.js'
export async function handleMessageReactionRemove(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.reactionRemove) return
const payload = data.d as DiscordMessageReactionRemove
bot.events.reactionRemove?.({
bot.events.reactionRemove({
userId: bot.transformers.snowflake(payload.user_id),
channelId: bot.transformers.snowflake(payload.channel_id),
messageId: bot.transformers.snowflake(payload.message_id),
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordMessageReactionRemoveAll } from '@di
import type { Bot } from '../../index.js'
export async function handleMessageReactionRemoveAll(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.reactionRemoveAll) return
const payload = data.d as DiscordMessageReactionRemoveAll
bot.events.reactionRemoveAll?.({
bot.events.reactionRemoveAll({
channelId: bot.transformers.snowflake(payload.channel_id),
messageId: bot.transformers.snowflake(payload.message_id),
guildId: payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined,
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordMessageReactionRemoveEmoji } from '@
import type { Bot } from '../../index.js'
export async function handleMessageReactionRemoveEmoji(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.reactionRemoveEmoji) return
const payload = data.d as DiscordMessageReactionRemoveEmoji
bot.events.reactionRemoveEmoji?.({
bot.events.reactionRemoveEmoji({
channelId: bot.transformers.snowflake(payload.channel_id),
messageId: bot.transformers.snowflake(payload.message_id),
guildId: payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined,
@@ -2,8 +2,10 @@ import type { DiscordGatewayPayload, DiscordMessage } from '@discordeno/types'
import type { Bot } from '../../index.js'
export async function handleMessageUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.messageUpdate) return
const payload = data.d as DiscordMessage
if (!payload.edited_timestamp) return
bot.events.messageUpdate?.(bot.transformers.message(bot, payload))
bot.events.messageUpdate(bot.transformers.message(bot, payload))
}
@@ -2,5 +2,7 @@ import type { DiscordGatewayPayload, DiscordPresenceUpdate } from '@discordeno/t
import type { Bot } from '../../index.js'
export async function handlePresenceUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
bot.events.presenceUpdate?.(bot.transformers.presence(bot, data.d as DiscordPresenceUpdate))
if (!bot.events.presenceUpdate) return
bot.events.presenceUpdate(bot.transformers.presence(bot, data.d as DiscordPresenceUpdate))
}
+3 -1
View File
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordReady } from '@discordeno/types'
import type { Bot } from '../../index.js'
export async function handleReady(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.ready) return
const payload = data.d as DiscordReady
// Triggered on each shard
bot.events.ready?.(
bot.events.ready(
{
shardId,
v: payload.v,
@@ -2,12 +2,14 @@ import type { DiscordGatewayPayload, DiscordTypingStart } from '@discordeno/type
import type { Bot } from '../../index.js'
export async function handleTypingStart(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.typingStart) return
const payload = data.d as DiscordTypingStart
const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined
const userId = bot.transformers.snowflake(payload.user_id)
bot.events.typingStart?.({
bot.events.typingStart({
guildId,
channelId: bot.transformers.snowflake(payload.channel_id),
userId,
@@ -2,6 +2,8 @@ import type { DiscordGatewayPayload, DiscordUser } from '@discordeno/types'
import type { Bot } from '../../index.js'
export async function handleUserUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.botUpdate) return
const payload = data.d as DiscordUser
bot.events.botUpdate?.(bot.transformers.user(bot, payload))
bot.events.botUpdate(bot.transformers.user(bot, payload))
}
@@ -2,8 +2,10 @@ import type { DiscordGatewayPayload, DiscordGuildRoleCreate } from '@discordeno/
import type { Bot } from '../../index.js'
export async function handleGuildRoleCreate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.roleCreate) return
const payload = data.d as DiscordGuildRoleCreate
bot.events.roleCreate?.(
bot.events.roleCreate(
bot.transformers.role(bot, {
role: payload.role,
guildId: bot.transformers.snowflake(payload.guild_id),
@@ -2,8 +2,10 @@ import type { DiscordGatewayPayload, DiscordGuildRoleDelete } from '@discordeno/
import type { Bot } from '../../index.js'
export async function handleGuildRoleDelete(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.roleDelete) return
const payload = data.d as DiscordGuildRoleDelete
bot.events.roleDelete?.({
bot.events.roleDelete({
roleId: bot.transformers.snowflake(payload.role_id),
guildId: bot.transformers.snowflake(payload.guild_id),
})
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordGuildRoleUpdate } from '@discordeno/
import type { Bot } from '../../index.js'
export async function handleGuildRoleUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.roleUpdate) return
const payload = data.d as DiscordGuildRoleUpdate
bot.events.roleUpdate?.(
bot.events.roleUpdate(
bot.transformers.role(bot, {
role: payload.role,
guildId: bot.transformers.snowflake(payload.guild_id),
@@ -2,9 +2,11 @@ import type { DiscordGatewayPayload, DiscordVoiceServerUpdate } from '@discorden
import type { Bot } from '../../index.js'
export async function handleVoiceServerUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.voiceServerUpdate) return
const payload = data.d as DiscordVoiceServerUpdate
bot.events.voiceServerUpdate?.({
bot.events.voiceServerUpdate({
token: payload.token,
guildId: bot.transformers.snowflake(payload.guild_id),
endpoint: payload.endpoint ?? undefined,
@@ -2,10 +2,12 @@ import type { DiscordGatewayPayload, DiscordVoiceState } from '@discordeno/types
import type { Bot } from '../../index.js'
export async function handleVoiceStateUpdate(bot: Bot, data: DiscordGatewayPayload): Promise<void> {
if (!bot.events.voiceStateUpdate) return
const payload = data.d as DiscordVoiceState
if (!payload.guild_id) return
const guildId = bot.transformers.snowflake(payload.guild_id)
bot.events.voiceStateUpdate?.(bot.transformers.voiceState(bot, { voiceState: payload, guildId }))
bot.events.voiceStateUpdate(bot.transformers.voiceState(bot, { voiceState: payload, guildId }))
}
@@ -2,8 +2,10 @@ import type { DiscordGatewayPayload, DiscordWebhookUpdate } from '@discordeno/ty
import type { Bot } from '../../index.js'
export async function handleWebhooksUpdate(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {
if (!bot.events.webhooksUpdate) return
const payload = data.d as DiscordWebhookUpdate
bot.events.webhooksUpdate?.({
bot.events.webhooksUpdate({
channelId: bot.transformers.snowflake(payload.channel_id),
guildId: bot.transformers.snowflake(payload.guild_id),
})