@discordeno/bot 19.0.0-next.2b83d69 → 19.0.0-next.2d0f76e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/bot.d.ts +1 -0
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +5 -1
  4. package/dist/bot.js.map +1 -1
  5. package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
  6. package/dist/handlers/guilds/GUILD_DELETE.js +4 -0
  7. package/dist/handlers/guilds/GUILD_DELETE.js.map +1 -1
  8. package/dist/handlers.js +1 -1
  9. package/dist/handlers.js.map +1 -1
  10. package/dist/transformers/application.d.ts +1 -0
  11. package/dist/transformers/application.d.ts.map +1 -1
  12. package/dist/transformers/auditLogEntry.d.ts +1 -1
  13. package/dist/transformers/auditLogEntry.d.ts.map +1 -1
  14. package/dist/transformers/auditLogEntry.js +12 -6
  15. package/dist/transformers/auditLogEntry.js.map +1 -1
  16. package/dist/transformers/channel.js +1 -1
  17. package/dist/transformers/channel.js.map +1 -1
  18. package/dist/transformers/component.d.ts +3 -1
  19. package/dist/transformers/component.d.ts.map +1 -1
  20. package/dist/transformers/component.js +1 -0
  21. package/dist/transformers/component.js.map +1 -1
  22. package/dist/transformers/emoji.d.ts +1 -0
  23. package/dist/transformers/emoji.d.ts.map +1 -1
  24. package/dist/transformers/guild.d.ts.map +1 -1
  25. package/dist/transformers/guild.js +4 -1
  26. package/dist/transformers/guild.js.map +1 -1
  27. package/dist/transformers/integration.d.ts +2 -0
  28. package/dist/transformers/integration.d.ts.map +1 -1
  29. package/dist/transformers/interaction.d.ts +1 -3
  30. package/dist/transformers/interaction.d.ts.map +1 -1
  31. package/dist/transformers/interaction.js +15 -18
  32. package/dist/transformers/interaction.js.map +1 -1
  33. package/dist/transformers/invite.d.ts +3 -0
  34. package/dist/transformers/invite.d.ts.map +1 -1
  35. package/dist/transformers/message.d.ts.map +1 -1
  36. package/dist/transformers/message.js +0 -1
  37. package/dist/transformers/message.js.map +1 -1
  38. package/dist/transformers/reverse/auditLogEntry.d.ts +1 -1
  39. package/dist/transformers/reverse/auditLogEntry.d.ts.map +1 -1
  40. package/dist/transformers/reverse/auditLogEntry.js +12 -6
  41. package/dist/transformers/reverse/auditLogEntry.js.map +1 -1
  42. package/dist/transformers/reverse/component.d.ts.map +1 -1
  43. package/dist/transformers/reverse/component.js +1 -0
  44. package/dist/transformers/reverse/component.js.map +1 -1
  45. package/dist/transformers/reverse/member.d.ts.map +1 -1
  46. package/dist/transformers/reverse/member.js +1 -0
  47. package/dist/transformers/reverse/member.js.map +1 -1
  48. package/dist/transformers/scheduledEvent.d.ts +1 -0
  49. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  50. package/dist/transformers/sticker.d.ts +1 -0
  51. package/dist/transformers/sticker.d.ts.map +1 -1
  52. package/dist/transformers/template.d.ts +6 -0
  53. package/dist/transformers/template.d.ts.map +1 -1
  54. package/dist/transformers/user.d.ts +3 -1
  55. package/dist/transformers/user.d.ts.map +1 -1
  56. package/dist/transformers/user.js +1 -0
  57. package/dist/transformers/user.js.map +1 -1
  58. package/dist/transformers/webhook.d.ts +1 -0
  59. package/dist/transformers/webhook.d.ts.map +1 -1
  60. package/dist/transformers.d.ts +1 -0
  61. package/dist/transformers.d.ts.map +1 -1
  62. package/dist/transformers.js +1 -0
  63. package/dist/transformers.js.map +1 -1
  64. package/dist/typings.d.ts +4 -2
  65. package/dist/typings.d.ts.map +1 -1
  66. package/dist/typings.js.map +1 -1
  67. package/package.json +5 -5
package/dist/bot.d.ts CHANGED
@@ -216,6 +216,7 @@ export interface EventHandlers {
216
216
  guildBanRemove: (user: User, guildId: bigint) => unknown;
217
217
  guildCreate: (guild: Guild) => unknown;
218
218
  guildDelete: (id: bigint, shardId: number) => unknown;
219
+ guildUnavailable: (id: bigint, shardId: number) => unknown;
219
220
  guildUpdate: (guild: Guild) => unknown;
220
221
  raw: (data: DiscordGatewayPayload, shardId: number) => unknown;
221
222
  roleCreate: (role: Role) => unknown;
package/dist/bot.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
package/dist/bot.js CHANGED
@@ -48,8 +48,12 @@ import { createTransformers } from './transformers.js';
48
48
  async start () {
49
49
  if (!options.gateway?.connection) {
50
50
  bot.gateway.connection = await bot.rest.getSessionInfo();
51
+ // Check for overrides in the configuration
52
+ if (!options.gateway?.url) bot.gateway.url = bot.gateway.connection.url;
53
+ if (!options.gateway?.totalShards) bot.gateway.totalShards = bot.gateway.connection.shards;
54
+ if (!options.gateway?.lastShardId) bot.gateway.lastShardId = bot.gateway.connection.shards - 1;
51
55
  }
52
- return await bot.gateway.spawnShards();
56
+ await bot.gateway.spawnShards();
53
57
  },
54
58
  async shutdown () {
55
59
  return await bot.gateway.shutdown(ShardSocketCloseCodes.Shutdown, 'User requested bot stop');
package/dist/bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bot.ts"],"sourcesContent":["import type { CreateGatewayManagerOptions, GatewayManager } from '@discordeno/gateway'\nimport { ShardSocketCloseCodes, createGatewayManager } from '@discordeno/gateway'\nimport type { CreateRestManagerOptions, RestManager } from '@discordeno/rest'\nimport { createRestManager } from '@discordeno/rest'\nimport type { DiscordEmoji, DiscordGatewayPayload, DiscordReady, GatewayIntents } from '@discordeno/types'\nimport { createLogger, getBotIdFromToken, type Collection } from '@discordeno/utils'\nimport { createBotGatewayHandlers } from './handlers.js'\nimport { createBotHelpers, type BotHelpers } from './helpers.js'\nimport { createTransformers, type Transformers } from './transformers.js'\nimport type { ApplicationCommandPermission } from './transformers/applicationCommandPermission.js'\nimport type { AuditLogEntry } from './transformers/auditLogEntry.js'\nimport type { AutoModerationActionExecution } from './transformers/automodActionExecution.js'\nimport type { AutoModerationRule } from './transformers/automodRule.js'\nimport type { Channel } from './transformers/channel.js'\nimport type { Emoji } from './transformers/emoji.js'\nimport type { Guild } from './transformers/guild.js'\nimport type { Integration } from './transformers/integration.js'\nimport type { Interaction } from './transformers/interaction.js'\nimport type { Invite } from './transformers/invite.js'\nimport type { Member } from './transformers/member.js'\nimport type { Message } from './transformers/message.js'\nimport type { PresenceUpdate } from './transformers/presence.js'\nimport type { Role } from './transformers/role.js'\nimport type { ScheduledEvent } from './transformers/scheduledEvent.js'\nimport type { Sticker } from './transformers/sticker.js'\nimport type { ThreadMember } from './transformers/threadMember.js'\nimport type { User } from './transformers/user.js'\nimport type { VoiceState } from './transformers/voiceState.js'\n\n/**\n * Create a bot object that will maintain the rest and gateway connection.\n *\n * @param options Configurations options used to manage this bot.\n * @returns Bot\n */\nexport function createBot(options: CreateBotOptions): Bot {\n if (!options.rest) options.rest = { token: options.token, applicationId: options.applicationId }\n if (!options.gateway) options.gateway = { token: options.token, events: {} }\n if (!options.gateway.events.message) {\n options.gateway.events.message = async (shard, data) => {\n // TRIGGER RAW EVENT\n bot.events.raw?.(data, shard.id)\n\n if (!data.t) return\n\n // RUN DISPATCH CHECK\n await bot.events.dispatchRequirements?.(data, shard.id)\n bot.handlers[data.t as keyof ReturnType<typeof createBotGatewayHandlers>]?.(bot, data, shard.id)\n }\n }\n\n options.rest.token = options.token\n options.gateway.intents = options.intents\n options.gateway.preferSnakeCase = true\n\n const id = getBotIdFromToken(options.token)\n\n const bot: Bot = {\n id,\n applicationId: id,\n transformers: createTransformers({}),\n handlers: createBotGatewayHandlers({}),\n rest: createRestManager(options.rest),\n gateway: createGatewayManager(options.gateway),\n events: options.events ?? {},\n logger: createLogger({ name: 'BOT' }),\n // Set up helpers below.\n helpers: {} as BotHelpers,\n async start() {\n if (!options.gateway?.connection) {\n bot.gateway.connection = await bot.rest.getSessionInfo()\n }\n return await bot.gateway.spawnShards()\n },\n\n async shutdown() {\n return await bot.gateway.shutdown(ShardSocketCloseCodes.Shutdown, 'User requested bot stop')\n },\n }\n\n bot.helpers = createBotHelpers(bot)\n\n return bot\n}\n\nexport interface CreateBotOptions {\n /** The bot's token. */\n token: string\n /** Application Id of the bot incase it is an old bot token. */\n applicationId?: bigint\n /** The bot's intents that will be used to make a connection with discords gateway. */\n intents?: GatewayIntents\n /** Any options you wish to provide to the rest manager. */\n rest?: CreateRestManagerOptions\n /** Any options you wish to provide to the gateway manager. */\n gateway?: CreateGatewayManagerOptions\n /** The event handlers. */\n events: Partial<EventHandlers>\n}\n\nexport interface Bot {\n /** The id of the bot. */\n id: bigint\n /** The application id of the bot. This is usually the same as id but in the case of old bots can be different. */\n applicationId: bigint\n /** The rest manager. */\n rest: RestManager\n /** The gateway manager. */\n gateway: GatewayManager\n /** The event handlers. */\n events: Partial<EventHandlers>\n /** A logger utility to make it easy to log nice and useful things in the bot code. */\n logger: ReturnType<typeof createLogger>\n /** The functions that should transform discord objects to discordeno shaped objects. */\n transformers: Transformers\n /** The handler functions that should handle incoming discord payloads from gateway and call an event. */\n handlers: ReturnType<typeof createBotGatewayHandlers>\n helpers: BotHelpers\n /** Start the bot connection to the gateway. */\n start: () => Promise<void>\n /** Shuts down all the bot connections to the gateway. */\n shutdown: () => Promise<void>\n}\n\nexport interface EventHandlers {\n debug: (text: string, ...args: any[]) => unknown\n applicationCommandPermissionsUpdate: (command: ApplicationCommandPermission) => unknown\n guildAuditLogEntryCreate: (log: AuditLogEntry, guildId: bigint) => unknown\n automodRuleCreate: (rule: AutoModerationRule) => unknown\n automodRuleUpdate: (rule: AutoModerationRule) => unknown\n automodRuleDelete: (rule: AutoModerationRule) => unknown\n automodActionExecution: (payload: AutoModerationActionExecution) => unknown\n threadCreate: (thread: Channel) => unknown\n threadDelete: (thread: Channel) => unknown\n threadMemberUpdate: (payload: { id: bigint; guildId: bigint; joinedAt: number; flags: number }) => unknown\n threadMembersUpdate: (payload: { id: bigint; guildId: bigint; addedMembers?: ThreadMember[]; removedMemberIds?: bigint[] }) => unknown\n threadUpdate: (thread: Channel) => unknown\n scheduledEventCreate: (event: ScheduledEvent) => unknown\n scheduledEventUpdate: (event: ScheduledEvent) => unknown\n scheduledEventDelete: (event: ScheduledEvent) => unknown\n /** Sent when a user has subscribed to a guild scheduled event. EXPERIMENTAL! */\n scheduledEventUserAdd: (payload: { guildScheduledEventId: bigint; guildId: bigint; userId: bigint }) => unknown\n /** Sent when a user has unsubscribed to a guild scheduled event. EXPERIMENTAL! */\n scheduledEventUserRemove: (payload: { guildScheduledEventId: bigint; guildId: bigint; userId: bigint }) => unknown\n ready: (\n payload: {\n shardId: number\n v: number\n user: User\n guilds: bigint[]\n sessionId: string\n shard?: number[]\n applicationId: bigint\n },\n rawPayload: DiscordReady,\n ) => unknown\n interactionCreate: (interaction: Interaction) => unknown\n integrationCreate: (integration: Integration) => unknown\n integrationDelete: (payload: { id: bigint; guildId: bigint; applicationId?: bigint }) => unknown\n integrationUpdate: (payload: { guildId: bigint }) => unknown\n inviteCreate: (invite: Invite) => unknown\n inviteDelete: (payload: { channelId: bigint; guildId?: bigint; code: string }) => unknown\n guildMemberAdd: (member: Member, user: User) => unknown\n guildMemberRemove: (user: User, guildId: bigint) => unknown\n guildMemberUpdate: (member: Member, user: User) => unknown\n guildStickersUpdate: (stickers: Sticker[]) => unknown\n messageCreate: (message: Message) => unknown\n messageDelete: (payload: { id: bigint; channelId: bigint; guildId?: bigint }, message?: Message) => unknown\n messageDeleteBulk: (payload: { ids: bigint[]; channelId: bigint; guildId?: bigint }) => unknown\n messageUpdate: (message: Message, oldMessage?: Message) => unknown\n reactionAdd: (payload: {\n userId: bigint\n channelId: bigint\n messageId: bigint\n guildId?: bigint\n member?: Member\n user?: User\n emoji: Emoji\n }) => unknown\n reactionRemove: (payload: { userId: bigint; channelId: bigint; messageId: bigint; guildId?: bigint; emoji: Emoji }) => unknown\n reactionRemoveEmoji: (payload: { channelId: bigint; messageId: bigint; guildId?: bigint; emoji: Emoji }) => unknown\n reactionRemoveAll: (payload: { channelId: bigint; messageId: bigint; guildId?: bigint }) => unknown\n presenceUpdate: (presence: PresenceUpdate, oldPresence?: PresenceUpdate) => unknown\n voiceServerUpdate: (payload: { token: string; endpoint?: string; guildId: bigint }) => unknown\n voiceStateUpdate: (voiceState: VoiceState) => unknown\n channelCreate: (channel: Channel) => unknown\n dispatchRequirements: (data: DiscordGatewayPayload, shardId: number) => unknown\n channelDelete: (channel: Channel) => unknown\n channelPinsUpdate: (data: { guildId?: bigint; channelId: bigint; lastPinTimestamp?: number }) => unknown\n channelUpdate: (channel: Channel) => unknown\n stageInstanceCreate: (data: { id: bigint; guildId: bigint; channelId: bigint; topic: string }) => unknown\n stageInstanceDelete: (data: { id: bigint; guildId: bigint; channelId: bigint; topic: string }) => unknown\n stageInstanceUpdate: (data: { id: bigint; guildId: bigint; channelId: bigint; topic: string }) => unknown\n guildEmojisUpdate: (payload: { guildId: bigint; emojis: Collection<bigint, DiscordEmoji> }) => unknown\n guildBanAdd: (user: User, guildId: bigint) => unknown\n guildBanRemove: (user: User, guildId: bigint) => unknown\n guildCreate: (guild: Guild) => unknown\n guildDelete: (id: bigint, shardId: number) => unknown\n guildUpdate: (guild: Guild) => unknown\n raw: (data: DiscordGatewayPayload, shardId: number) => unknown\n roleCreate: (role: Role) => unknown\n roleDelete: (payload: { guildId: bigint; roleId: bigint }) => unknown\n roleUpdate: (role: Role) => unknown\n webhooksUpdate: (payload: { channelId: bigint; guildId: bigint }) => unknown\n botUpdate: (user: User) => unknown\n typingStart: (payload: { guildId: bigint | undefined; channelId: bigint; userId: bigint; timestamp: number; member: Member | undefined }) => unknown\n}\n"],"names":["ShardSocketCloseCodes","createGatewayManager","createRestManager","createLogger","getBotIdFromToken","createBotGatewayHandlers","createBotHelpers","createTransformers","createBot","options","rest","token","applicationId","gateway","events","message","shard","data","bot","raw","id","t","dispatchRequirements","handlers","intents","preferSnakeCase","transformers","logger","name","helpers","start","connection","getSessionInfo","spawnShards","shutdown","Shutdown"],"mappings":"AACA,SAASA,qBAAqB,EAAEC,oBAAoB,QAAQ,sBAAqB;AAEjF,SAASC,iBAAiB,QAAQ,mBAAkB;AAEpD,SAASC,YAAY,EAAEC,iBAAiB,QAAyB,oBAAmB;AACpF,SAASC,wBAAwB,QAAQ,gBAAe;AACxD,SAASC,gBAAgB,QAAyB,eAAc;AAChE,SAASC,kBAAkB,QAA2B,oBAAmB;AAqBzE;;;;;CAKC,GACD,OAAO,SAASC,UAAUC,OAAyB,EAAO;IACxD,IAAI,CAACA,QAAQC,IAAI,EAAED,QAAQC,IAAI,GAAG;QAAEC,OAAOF,QAAQE,KAAK;QAAEC,eAAeH,QAAQG,aAAa;IAAC;IAC/F,IAAI,CAACH,QAAQI,OAAO,EAAEJ,QAAQI,OAAO,GAAG;QAAEF,OAAOF,QAAQE,KAAK;QAAEG,QAAQ,CAAC;IAAE;IAC3E,IAAI,CAACL,QAAQI,OAAO,CAACC,MAAM,CAACC,OAAO,EAAE;QACnCN,QAAQI,OAAO,CAACC,MAAM,CAACC,OAAO,GAAG,OAAOC,OAAOC,OAAS;YACtD,oBAAoB;YACpBC,IAAIJ,MAAM,CAACK,GAAG,GAAGF,MAAMD,MAAMI,EAAE;YAE/B,IAAI,CAACH,KAAKI,CAAC,EAAE;YAEb,qBAAqB;YACrB,MAAMH,IAAIJ,MAAM,CAACQ,oBAAoB,GAAGL,MAAMD,MAAMI,EAAE;YACtDF,IAAIK,QAAQ,CAACN,KAAKI,CAAC,CAAsD,GAAGH,KAAKD,MAAMD,MAAMI,EAAE;QACjG;IACF,CAAC;IAEDX,QAAQC,IAAI,CAACC,KAAK,GAAGF,QAAQE,KAAK;IAClCF,QAAQI,OAAO,CAACW,OAAO,GAAGf,QAAQe,OAAO;IACzCf,QAAQI,OAAO,CAACY,eAAe,GAAG,IAAI;IAEtC,MAAML,KAAKhB,kBAAkBK,QAAQE,KAAK;IAE1C,MAAMO,MAAW;QACfE;QACAR,eAAeQ;QACfM,cAAcnB,mBAAmB,CAAC;QAClCgB,UAAUlB,yBAAyB,CAAC;QACpCK,MAAMR,kBAAkBO,QAAQC,IAAI;QACpCG,SAASZ,qBAAqBQ,QAAQI,OAAO;QAC7CC,QAAQL,QAAQK,MAAM,IAAI,CAAC;QAC3Ba,QAAQxB,aAAa;YAAEyB,MAAM;QAAM;QACnC,wBAAwB;QACxBC,SAAS,CAAC;QACV,MAAMC,SAAQ;YACZ,IAAI,CAACrB,QAAQI,OAAO,EAAEkB,YAAY;gBAChCb,IAAIL,OAAO,CAACkB,UAAU,GAAG,MAAMb,IAAIR,IAAI,CAACsB,cAAc;YACxD,CAAC;YACD,OAAO,MAAMd,IAAIL,OAAO,CAACoB,WAAW;QACtC;QAEA,MAAMC,YAAW;YACf,OAAO,MAAMhB,IAAIL,OAAO,CAACqB,QAAQ,CAAClC,sBAAsBmC,QAAQ,EAAE;QACpE;IACF;IAEAjB,IAAIW,OAAO,GAAGvB,iBAAiBY;IAE/B,OAAOA;AACT,CAAC"}
1
+ {"version":3,"sources":["../src/bot.ts"],"sourcesContent":["import type { CreateGatewayManagerOptions, GatewayManager } from '@discordeno/gateway'\nimport { ShardSocketCloseCodes, createGatewayManager } from '@discordeno/gateway'\nimport type { CreateRestManagerOptions, RestManager } from '@discordeno/rest'\nimport { createRestManager } from '@discordeno/rest'\nimport type { DiscordEmoji, DiscordGatewayPayload, DiscordReady, GatewayIntents } from '@discordeno/types'\nimport { createLogger, getBotIdFromToken, type Collection } from '@discordeno/utils'\nimport { createBotGatewayHandlers } from './handlers.js'\nimport { createBotHelpers, type BotHelpers } from './helpers.js'\nimport { createTransformers, type Transformers } from './transformers.js'\nimport type { ApplicationCommandPermission } from './transformers/applicationCommandPermission.js'\nimport type { AuditLogEntry } from './transformers/auditLogEntry.js'\nimport type { AutoModerationActionExecution } from './transformers/automodActionExecution.js'\nimport type { AutoModerationRule } from './transformers/automodRule.js'\nimport type { Channel } from './transformers/channel.js'\nimport type { Emoji } from './transformers/emoji.js'\nimport type { Guild } from './transformers/guild.js'\nimport type { Integration } from './transformers/integration.js'\nimport type { Interaction } from './transformers/interaction.js'\nimport type { Invite } from './transformers/invite.js'\nimport type { Member } from './transformers/member.js'\nimport type { Message } from './transformers/message.js'\nimport type { PresenceUpdate } from './transformers/presence.js'\nimport type { Role } from './transformers/role.js'\nimport type { ScheduledEvent } from './transformers/scheduledEvent.js'\nimport type { Sticker } from './transformers/sticker.js'\nimport type { ThreadMember } from './transformers/threadMember.js'\nimport type { User } from './transformers/user.js'\nimport type { VoiceState } from './transformers/voiceState.js'\n\n/**\n * Create a bot object that will maintain the rest and gateway connection.\n *\n * @param options Configurations options used to manage this bot.\n * @returns Bot\n */\nexport function createBot(options: CreateBotOptions): Bot {\n if (!options.rest) options.rest = { token: options.token, applicationId: options.applicationId }\n if (!options.gateway) options.gateway = { token: options.token, events: {} }\n if (!options.gateway.events.message) {\n options.gateway.events.message = async (shard, data) => {\n // TRIGGER RAW EVENT\n bot.events.raw?.(data, shard.id)\n\n if (!data.t) return\n\n // RUN DISPATCH CHECK\n await bot.events.dispatchRequirements?.(data, shard.id)\n bot.handlers[data.t as keyof ReturnType<typeof createBotGatewayHandlers>]?.(bot, data, shard.id)\n }\n }\n\n options.rest.token = options.token\n options.gateway.intents = options.intents\n options.gateway.preferSnakeCase = true\n\n const id = getBotIdFromToken(options.token)\n\n const bot: Bot = {\n id,\n applicationId: id,\n transformers: createTransformers({}),\n handlers: createBotGatewayHandlers({}),\n rest: createRestManager(options.rest),\n gateway: createGatewayManager(options.gateway),\n events: options.events ?? {},\n logger: createLogger({ name: 'BOT' }),\n // Set up helpers below.\n helpers: {} as BotHelpers,\n async start() {\n if (!options.gateway?.connection) {\n bot.gateway.connection = await bot.rest.getSessionInfo()\n\n // Check for overrides in the configuration\n if (!options.gateway?.url)\n bot.gateway.url = bot.gateway.connection.url;\n\n if (!options.gateway?.totalShards)\n bot.gateway.totalShards = bot.gateway.connection.shards;\n\n if (!options.gateway?.lastShardId)\n bot.gateway.lastShardId = bot.gateway.connection.shards - 1;\n }\n\n await bot.gateway.spawnShards()\n },\n\n async shutdown() {\n return await bot.gateway.shutdown(ShardSocketCloseCodes.Shutdown, 'User requested bot stop')\n },\n }\n\n bot.helpers = createBotHelpers(bot)\n\n return bot\n}\n\nexport interface CreateBotOptions {\n /** The bot's token. */\n token: string\n /** Application Id of the bot incase it is an old bot token. */\n applicationId?: bigint\n /** The bot's intents that will be used to make a connection with discords gateway. */\n intents?: GatewayIntents\n /** Any options you wish to provide to the rest manager. */\n rest?: CreateRestManagerOptions\n /** Any options you wish to provide to the gateway manager. */\n gateway?: CreateGatewayManagerOptions\n /** The event handlers. */\n events: Partial<EventHandlers>\n}\n\nexport interface Bot {\n /** The id of the bot. */\n id: bigint\n /** The application id of the bot. This is usually the same as id but in the case of old bots can be different. */\n applicationId: bigint\n /** The rest manager. */\n rest: RestManager\n /** The gateway manager. */\n gateway: GatewayManager\n /** The event handlers. */\n events: Partial<EventHandlers>\n /** A logger utility to make it easy to log nice and useful things in the bot code. */\n logger: ReturnType<typeof createLogger>\n /** The functions that should transform discord objects to discordeno shaped objects. */\n transformers: Transformers\n /** The handler functions that should handle incoming discord payloads from gateway and call an event. */\n handlers: ReturnType<typeof createBotGatewayHandlers>\n helpers: BotHelpers\n /** Start the bot connection to the gateway. */\n start: () => Promise<void>\n /** Shuts down all the bot connections to the gateway. */\n shutdown: () => Promise<void>\n}\n\nexport interface EventHandlers {\n debug: (text: string, ...args: any[]) => unknown\n applicationCommandPermissionsUpdate: (command: ApplicationCommandPermission) => unknown\n guildAuditLogEntryCreate: (log: AuditLogEntry, guildId: bigint) => unknown\n automodRuleCreate: (rule: AutoModerationRule) => unknown\n automodRuleUpdate: (rule: AutoModerationRule) => unknown\n automodRuleDelete: (rule: AutoModerationRule) => unknown\n automodActionExecution: (payload: AutoModerationActionExecution) => unknown\n threadCreate: (thread: Channel) => unknown\n threadDelete: (thread: Channel) => unknown\n threadMemberUpdate: (payload: { id: bigint; guildId: bigint; joinedAt: number; flags: number }) => unknown\n threadMembersUpdate: (payload: { id: bigint; guildId: bigint; addedMembers?: ThreadMember[]; removedMemberIds?: bigint[] }) => unknown\n threadUpdate: (thread: Channel) => unknown\n scheduledEventCreate: (event: ScheduledEvent) => unknown\n scheduledEventUpdate: (event: ScheduledEvent) => unknown\n scheduledEventDelete: (event: ScheduledEvent) => unknown\n /** Sent when a user has subscribed to a guild scheduled event. EXPERIMENTAL! */\n scheduledEventUserAdd: (payload: { guildScheduledEventId: bigint; guildId: bigint; userId: bigint }) => unknown\n /** Sent when a user has unsubscribed to a guild scheduled event. EXPERIMENTAL! */\n scheduledEventUserRemove: (payload: { guildScheduledEventId: bigint; guildId: bigint; userId: bigint }) => unknown\n ready: (\n payload: {\n shardId: number\n v: number\n user: User\n guilds: bigint[]\n sessionId: string\n shard?: number[]\n applicationId: bigint\n },\n rawPayload: DiscordReady,\n ) => unknown\n interactionCreate: (interaction: Interaction) => unknown\n integrationCreate: (integration: Integration) => unknown\n integrationDelete: (payload: { id: bigint; guildId: bigint; applicationId?: bigint }) => unknown\n integrationUpdate: (payload: { guildId: bigint }) => unknown\n inviteCreate: (invite: Invite) => unknown\n inviteDelete: (payload: { channelId: bigint; guildId?: bigint; code: string }) => unknown\n guildMemberAdd: (member: Member, user: User) => unknown\n guildMemberRemove: (user: User, guildId: bigint) => unknown\n guildMemberUpdate: (member: Member, user: User) => unknown\n guildStickersUpdate: (stickers: Sticker[]) => unknown\n messageCreate: (message: Message) => unknown\n messageDelete: (payload: { id: bigint; channelId: bigint; guildId?: bigint }, message?: Message) => unknown\n messageDeleteBulk: (payload: { ids: bigint[]; channelId: bigint; guildId?: bigint }) => unknown\n messageUpdate: (message: Message, oldMessage?: Message) => unknown\n reactionAdd: (payload: {\n userId: bigint\n channelId: bigint\n messageId: bigint\n guildId?: bigint\n member?: Member\n user?: User\n emoji: Emoji\n }) => unknown\n reactionRemove: (payload: { userId: bigint; channelId: bigint; messageId: bigint; guildId?: bigint; emoji: Emoji }) => unknown\n reactionRemoveEmoji: (payload: { channelId: bigint; messageId: bigint; guildId?: bigint; emoji: Emoji }) => unknown\n reactionRemoveAll: (payload: { channelId: bigint; messageId: bigint; guildId?: bigint }) => unknown\n presenceUpdate: (presence: PresenceUpdate, oldPresence?: PresenceUpdate) => unknown\n voiceServerUpdate: (payload: { token: string; endpoint?: string; guildId: bigint }) => unknown\n voiceStateUpdate: (voiceState: VoiceState) => unknown\n channelCreate: (channel: Channel) => unknown\n dispatchRequirements: (data: DiscordGatewayPayload, shardId: number) => unknown\n channelDelete: (channel: Channel) => unknown\n channelPinsUpdate: (data: { guildId?: bigint; channelId: bigint; lastPinTimestamp?: number }) => unknown\n channelUpdate: (channel: Channel) => unknown\n stageInstanceCreate: (data: { id: bigint; guildId: bigint; channelId: bigint; topic: string }) => unknown\n stageInstanceDelete: (data: { id: bigint; guildId: bigint; channelId: bigint; topic: string }) => unknown\n stageInstanceUpdate: (data: { id: bigint; guildId: bigint; channelId: bigint; topic: string }) => unknown\n guildEmojisUpdate: (payload: { guildId: bigint; emojis: Collection<bigint, DiscordEmoji> }) => unknown\n guildBanAdd: (user: User, guildId: bigint) => unknown\n guildBanRemove: (user: User, guildId: bigint) => unknown\n guildCreate: (guild: Guild) => unknown\n guildDelete: (id: bigint, shardId: number) => unknown\n guildUnavailable: (id: bigint, shardId: number) => unknown\n guildUpdate: (guild: Guild) => unknown\n raw: (data: DiscordGatewayPayload, shardId: number) => unknown\n roleCreate: (role: Role) => unknown\n roleDelete: (payload: { guildId: bigint; roleId: bigint }) => unknown\n roleUpdate: (role: Role) => unknown\n webhooksUpdate: (payload: { channelId: bigint; guildId: bigint }) => unknown\n botUpdate: (user: User) => unknown\n typingStart: (payload: { guildId: bigint | undefined; channelId: bigint; userId: bigint; timestamp: number; member: Member | undefined }) => unknown\n}\n"],"names":["ShardSocketCloseCodes","createGatewayManager","createRestManager","createLogger","getBotIdFromToken","createBotGatewayHandlers","createBotHelpers","createTransformers","createBot","options","rest","token","applicationId","gateway","events","message","shard","data","bot","raw","id","t","dispatchRequirements","handlers","intents","preferSnakeCase","transformers","logger","name","helpers","start","connection","getSessionInfo","url","totalShards","shards","lastShardId","spawnShards","shutdown","Shutdown"],"mappings":"AACA,SAASA,qBAAqB,EAAEC,oBAAoB,QAAQ,sBAAqB;AAEjF,SAASC,iBAAiB,QAAQ,mBAAkB;AAEpD,SAASC,YAAY,EAAEC,iBAAiB,QAAyB,oBAAmB;AACpF,SAASC,wBAAwB,QAAQ,gBAAe;AACxD,SAASC,gBAAgB,QAAyB,eAAc;AAChE,SAASC,kBAAkB,QAA2B,oBAAmB;AAqBzE;;;;;CAKC,GACD,OAAO,SAASC,UAAUC,OAAyB,EAAO;IACxD,IAAI,CAACA,QAAQC,IAAI,EAAED,QAAQC,IAAI,GAAG;QAAEC,OAAOF,QAAQE,KAAK;QAAEC,eAAeH,QAAQG,aAAa;IAAC;IAC/F,IAAI,CAACH,QAAQI,OAAO,EAAEJ,QAAQI,OAAO,GAAG;QAAEF,OAAOF,QAAQE,KAAK;QAAEG,QAAQ,CAAC;IAAE;IAC3E,IAAI,CAACL,QAAQI,OAAO,CAACC,MAAM,CAACC,OAAO,EAAE;QACnCN,QAAQI,OAAO,CAACC,MAAM,CAACC,OAAO,GAAG,OAAOC,OAAOC,OAAS;YACtD,oBAAoB;YACpBC,IAAIJ,MAAM,CAACK,GAAG,GAAGF,MAAMD,MAAMI,EAAE;YAE/B,IAAI,CAACH,KAAKI,CAAC,EAAE;YAEb,qBAAqB;YACrB,MAAMH,IAAIJ,MAAM,CAACQ,oBAAoB,GAAGL,MAAMD,MAAMI,EAAE;YACtDF,IAAIK,QAAQ,CAACN,KAAKI,CAAC,CAAsD,GAAGH,KAAKD,MAAMD,MAAMI,EAAE;QACjG;IACF,CAAC;IAEDX,QAAQC,IAAI,CAACC,KAAK,GAAGF,QAAQE,KAAK;IAClCF,QAAQI,OAAO,CAACW,OAAO,GAAGf,QAAQe,OAAO;IACzCf,QAAQI,OAAO,CAACY,eAAe,GAAG,IAAI;IAEtC,MAAML,KAAKhB,kBAAkBK,QAAQE,KAAK;IAE1C,MAAMO,MAAW;QACfE;QACAR,eAAeQ;QACfM,cAAcnB,mBAAmB,CAAC;QAClCgB,UAAUlB,yBAAyB,CAAC;QACpCK,MAAMR,kBAAkBO,QAAQC,IAAI;QACpCG,SAASZ,qBAAqBQ,QAAQI,OAAO;QAC7CC,QAAQL,QAAQK,MAAM,IAAI,CAAC;QAC3Ba,QAAQxB,aAAa;YAAEyB,MAAM;QAAM;QACnC,wBAAwB;QACxBC,SAAS,CAAC;QACV,MAAMC,SAAQ;YACZ,IAAI,CAACrB,QAAQI,OAAO,EAAEkB,YAAY;gBAChCb,IAAIL,OAAO,CAACkB,UAAU,GAAG,MAAMb,IAAIR,IAAI,CAACsB,cAAc;gBAEtD,2CAA2C;gBAC3C,IAAI,CAACvB,QAAQI,OAAO,EAAEoB,KAClBf,IAAIL,OAAO,CAACoB,GAAG,GAAGf,IAAIL,OAAO,CAACkB,UAAU,CAACE,GAAG;gBAEhD,IAAI,CAACxB,QAAQI,OAAO,EAAEqB,aAClBhB,IAAIL,OAAO,CAACqB,WAAW,GAAGhB,IAAIL,OAAO,CAACkB,UAAU,CAACI,MAAM;gBAE3D,IAAI,CAAC1B,QAAQI,OAAO,EAAEuB,aAClBlB,IAAIL,OAAO,CAACuB,WAAW,GAAGlB,IAAIL,OAAO,CAACkB,UAAU,CAACI,MAAM,GAAG;YAChE,CAAC;YAED,MAAMjB,IAAIL,OAAO,CAACwB,WAAW;QAC/B;QAEA,MAAMC,YAAW;YACf,OAAO,MAAMpB,IAAIL,OAAO,CAACyB,QAAQ,CAACtC,sBAAsBuC,QAAQ,EAAE;QACpE;IACF;IAEArB,IAAIW,OAAO,GAAGvB,iBAAiBY;IAE/B,OAAOA;AACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"GUILD_DELETE.d.ts","sourceRoot":"","sources":["../../../src/handlers/guilds/GUILD_DELETE.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAA2B,MAAM,mBAAmB,CAAA;AACvF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7G"}
1
+ {"version":3,"file":"GUILD_DELETE.d.ts","sourceRoot":"","sources":["../../../src/handlers/guilds/GUILD_DELETE.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAA2B,MAAM,mBAAmB,CAAA;AACvF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7G"}
@@ -1,5 +1,9 @@
1
1
  export async function handleGuildDelete(bot, data, shardId) {
2
2
  const payload = data.d;
3
+ if (payload.unavailable) {
4
+ bot.events.guildUnavailable?.(bot.transformers.snowflake(payload.id), shardId);
5
+ return;
6
+ }
3
7
  bot.events.guildDelete?.(bot.transformers.snowflake(payload.id), shardId);
4
8
  }
5
9
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/handlers/guilds/GUILD_DELETE.ts"],"sourcesContent":["import type { DiscordGatewayPayload, DiscordUnavailableGuild } from '@discordeno/types'\nimport type { Bot } from '../../bot.js'\n\nexport async function handleGuildDelete(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {\n const payload = data.d as DiscordUnavailableGuild\n bot.events.guildDelete?.(bot.transformers.snowflake(payload.id), shardId)\n}\n"],"names":["handleGuildDelete","bot","data","shardId","payload","d","events","guildDelete","transformers","snowflake","id"],"mappings":"AAGA,OAAO,eAAeA,kBAAkBC,GAAQ,EAAEC,IAA2B,EAAEC,OAAe,EAAiB;IAC7G,MAAMC,UAAUF,KAAKG,CAAC;IACtBJ,IAAIK,MAAM,CAACC,WAAW,GAAGN,IAAIO,YAAY,CAACC,SAAS,CAACL,QAAQM,EAAE,GAAGP;AACnE,CAAC"}
1
+ {"version":3,"sources":["../../../src/handlers/guilds/GUILD_DELETE.ts"],"sourcesContent":["import type { DiscordGatewayPayload, DiscordUnavailableGuild } from '@discordeno/types'\nimport type { Bot } from '../../bot.js'\n\nexport async function handleGuildDelete(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise<void> {\n const payload = data.d as DiscordUnavailableGuild\n\n if (payload.unavailable) {\n bot.events.guildUnavailable?.(bot.transformers.snowflake(payload.id), shardId)\n return\n }\n\n bot.events.guildDelete?.(bot.transformers.snowflake(payload.id), shardId)\n}\n"],"names":["handleGuildDelete","bot","data","shardId","payload","d","unavailable","events","guildUnavailable","transformers","snowflake","id","guildDelete"],"mappings":"AAGA,OAAO,eAAeA,kBAAkBC,GAAQ,EAAEC,IAA2B,EAAEC,OAAe,EAAiB;IAC7G,MAAMC,UAAUF,KAAKG,CAAC;IAEtB,IAAID,QAAQE,WAAW,EAAE;QACvBL,IAAIM,MAAM,CAACC,gBAAgB,GAAGP,IAAIQ,YAAY,CAACC,SAAS,CAACN,QAAQO,EAAE,GAAGR;QACtE;IACF,CAAC;IAEDF,IAAIM,MAAM,CAACK,WAAW,GAAGX,IAAIQ,YAAY,CAACC,SAAS,CAACN,QAAQO,EAAE,GAAGR;AACnE,CAAC"}
package/dist/handlers.js CHANGED
@@ -36,7 +36,7 @@ export function createBotGatewayHandlers(options) {
36
36
  INTEGRATION_UPDATE: options.INTEGRATION_UPDATE ?? handlers.handleIntegrationUpdate,
37
37
  INTEGRATION_DELETE: options.INTEGRATION_DELETE ?? handlers.handleIntegrationDelete,
38
38
  INVITE_CREATE: options.INVITE_CREATE ?? handlers.handleInviteCreate,
39
- INVITE_DELETE: options.INVITE_DELETE ?? handlers.handleInviteCreate,
39
+ INVITE_DELETE: options.INVITE_DELETE ?? handlers.handleInviteDelete,
40
40
  MESSAGE_CREATE: options.MESSAGE_CREATE ?? handlers.handleMessageCreate,
41
41
  MESSAGE_DELETE_BULK: options.MESSAGE_DELETE_BULK ?? handlers.handleMessageDeleteBulk,
42
42
  MESSAGE_DELETE: options.MESSAGE_DELETE ?? handlers.handleMessageDelete,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/handlers.ts"],"sourcesContent":["import * as handlers from './handlers/index.js'\nimport type { Bot, DiscordGatewayPayload, GatewayDispatchEventNames } from './index.js'\nimport type { BotGatewayHandlerOptions } from './typings.js'\n\nexport function createBotGatewayHandlers(\n options: Partial<BotGatewayHandlerOptions>,\n): Record<GatewayDispatchEventNames, (bot: Bot, data: DiscordGatewayPayload, shardId: number) => any> {\n return {\n APPLICATION_COMMAND_PERMISSIONS_UPDATE: options.APPLICATION_COMMAND_PERMISSIONS_UPDATE ?? handlers.handleApplicationCommandPermissionsUpdate,\n AUTO_MODERATION_ACTION_EXECUTION: options.AUTO_MODERATION_ACTION_EXECUTION ?? handlers.handleAutoModerationActionExecution,\n AUTO_MODERATION_RULE_CREATE: options.AUTO_MODERATION_RULE_CREATE ?? handlers.handleAutoModerationRuleCreate,\n AUTO_MODERATION_RULE_DELETE: options.AUTO_MODERATION_RULE_DELETE ?? handlers.handleAutoModerationRuleDelete,\n AUTO_MODERATION_RULE_UPDATE: options.AUTO_MODERATION_RULE_UPDATE ?? handlers.handleAutoModerationRuleUpdate,\n CHANNEL_CREATE: options.CHANNEL_CREATE ?? handlers.handleChannelCreate,\n CHANNEL_DELETE: options.CHANNEL_DELETE ?? handlers.handleChannelDelete,\n CHANNEL_PINS_UPDATE: options.CHANNEL_PINS_UPDATE ?? handlers.handleChannelPinsUpdate,\n CHANNEL_UPDATE: options.CHANNEL_UPDATE ?? handlers.handleChannelUpdate,\n GUILD_AUDIT_LOG_ENTRY_CREATE: options.GUILD_AUDIT_LOG_ENTRY_CREATE ?? handlers.handleGuildAuditLogEntryCreate,\n GUILD_BAN_ADD: options.GUILD_BAN_ADD ?? handlers.handleGuildBanAdd,\n GUILD_BAN_REMOVE: options.GUILD_BAN_REMOVE ?? handlers.handleGuildBanRemove,\n GUILD_CREATE: options.GUILD_CREATE ?? handlers.handleGuildCreate,\n GUILD_DELETE: options.GUILD_DELETE ?? handlers.handleGuildDelete,\n GUILD_EMOJIS_UPDATE: options.GUILD_EMOJIS_UPDATE ?? handlers.handleGuildEmojisUpdate,\n GUILD_INTEGRATIONS_UPDATE: options.GUILD_INTEGRATIONS_UPDATE ?? handlers.handleGuildIntegrationsUpdate,\n GUILD_MEMBER_ADD: options.GUILD_MEMBER_ADD ?? handlers.handleGuildMemberAdd,\n GUILD_MEMBER_REMOVE: options.GUILD_MEMBER_REMOVE ?? handlers.handleGuildMemberRemove,\n GUILD_MEMBER_UPDATE: options.GUILD_MEMBER_UPDATE ?? handlers.handleGuildMemberUpdate,\n GUILD_MEMBERS_CHUNK: options.GUILD_MEMBERS_CHUNK ?? handlers.handleGuildMembersChunk,\n GUILD_ROLE_CREATE: options.GUILD_ROLE_CREATE ?? handlers.handleGuildRoleCreate,\n GUILD_ROLE_DELETE: options.GUILD_ROLE_DELETE ?? handlers.handleGuildRoleDelete,\n GUILD_ROLE_UPDATE: options.GUILD_ROLE_UPDATE ?? handlers.handleGuildRoleUpdate,\n GUILD_SCHEDULED_EVENT_CREATE: options.GUILD_SCHEDULED_EVENT_CREATE ?? handlers.handleGuildScheduledEventCreate,\n GUILD_SCHEDULED_EVENT_DELETE: options.GUILD_SCHEDULED_EVENT_DELETE ?? handlers.handleGuildScheduledEventDelete,\n GUILD_SCHEDULED_EVENT_UPDATE: options.GUILD_SCHEDULED_EVENT_UPDATE ?? handlers.handleGuildScheduledEventUpdate,\n GUILD_SCHEDULED_EVENT_USER_ADD: options.GUILD_SCHEDULED_EVENT_USER_ADD ?? handlers.handleGuildScheduledEventUserAdd,\n GUILD_SCHEDULED_EVENT_USER_REMOVE: options.GUILD_SCHEDULED_EVENT_USER_REMOVE ?? handlers.handleGuildScheduledEventUserRemove,\n GUILD_STICKERS_UPDATE: options.GUILD_STICKERS_UPDATE ?? handlers.handleGuildStickersUpdate,\n GUILD_UPDATE: options.GUILD_UPDATE ?? handlers.handleGuildUpdate,\n INTERACTION_CREATE: options.INTERACTION_CREATE ?? handlers.handleInteractionCreate,\n INTEGRATION_CREATE: options.INTEGRATION_CREATE ?? handlers.handleIntegrationCreate,\n INTEGRATION_UPDATE: options.INTEGRATION_UPDATE ?? handlers.handleIntegrationUpdate,\n INTEGRATION_DELETE: options.INTEGRATION_DELETE ?? handlers.handleIntegrationDelete,\n INVITE_CREATE: options.INVITE_CREATE ?? handlers.handleInviteCreate,\n INVITE_DELETE: options.INVITE_DELETE ?? handlers.handleInviteCreate,\n MESSAGE_CREATE: options.MESSAGE_CREATE ?? handlers.handleMessageCreate,\n MESSAGE_DELETE_BULK: options.MESSAGE_DELETE_BULK ?? handlers.handleMessageDeleteBulk,\n MESSAGE_DELETE: options.MESSAGE_DELETE ?? handlers.handleMessageDelete,\n MESSAGE_REACTION_ADD: options.MESSAGE_REACTION_ADD ?? handlers.handleMessageReactionAdd,\n MESSAGE_REACTION_REMOVE_ALL: options.MESSAGE_REACTION_REMOVE_ALL ?? handlers.handleMessageReactionRemoveAll,\n MESSAGE_REACTION_REMOVE_EMOJI: options.MESSAGE_REACTION_REMOVE_EMOJI ?? handlers.handleMessageReactionRemoveEmoji,\n MESSAGE_REACTION_REMOVE: options.MESSAGE_REACTION_REMOVE ?? handlers.handleMessageReactionRemove,\n MESSAGE_UPDATE: options.MESSAGE_UPDATE ?? handlers.handleMessageUpdate,\n PRESENCE_UPDATE: options.PRESENCE_UPDATE ?? handlers.handlePresenceUpdate,\n READY: options.READY ?? handlers.handleReady,\n STAGE_INSTANCE_CREATE: options.STAGE_INSTANCE_CREATE ?? handlers.handleStageInstanceCreate,\n STAGE_INSTANCE_DELETE: options.STAGE_INSTANCE_DELETE ?? handlers.handleStageInstanceDelete,\n STAGE_INSTANCE_UPDATE: options.STAGE_INSTANCE_UPDATE ?? handlers.handleStageInstanceUpdate,\n THREAD_CREATE: options.THREAD_CREATE ?? handlers.handleThreadCreate,\n THREAD_DELETE: options.THREAD_DELETE ?? handlers.handleThreadDelete,\n THREAD_UPDATE: options.THREAD_UPDATE ?? handlers.handleThreadUpdate,\n THREAD_LIST_SYNC: options.THREAD_LIST_SYNC ?? handlers.handleThreadListSync,\n THREAD_MEMBER_UPDATE: options.THREAD_MEMBERS_UPDATE ?? handlers.handleThreadMembersUpdate,\n THREAD_MEMBERS_UPDATE: options.THREAD_MEMBERS_UPDATE ?? handlers.handleThreadMembersUpdate,\n TYPING_START: options.TYPING_START ?? handlers.handleTypingStart,\n USER_UPDATE: options.USER_UPDATE ?? handlers.handleUserUpdate,\n VOICE_SERVER_UPDATE: options.VOICE_SERVER_UPDATE ?? handlers.handleVoiceServerUpdate,\n VOICE_STATE_UPDATE: options.VOICE_STATE_UPDATE ?? handlers.handleVoiceStateUpdate,\n WEBHOOKS_UPDATE: options.WEBHOOKS_UPDATE ?? handlers.handleWebhooksUpdate,\n }\n}\n\nexport interface GatewayHandlers extends ReturnType<typeof createBotGatewayHandlers> {}\n"],"names":["handlers","createBotGatewayHandlers","options","APPLICATION_COMMAND_PERMISSIONS_UPDATE","handleApplicationCommandPermissionsUpdate","AUTO_MODERATION_ACTION_EXECUTION","handleAutoModerationActionExecution","AUTO_MODERATION_RULE_CREATE","handleAutoModerationRuleCreate","AUTO_MODERATION_RULE_DELETE","handleAutoModerationRuleDelete","AUTO_MODERATION_RULE_UPDATE","handleAutoModerationRuleUpdate","CHANNEL_CREATE","handleChannelCreate","CHANNEL_DELETE","handleChannelDelete","CHANNEL_PINS_UPDATE","handleChannelPinsUpdate","CHANNEL_UPDATE","handleChannelUpdate","GUILD_AUDIT_LOG_ENTRY_CREATE","handleGuildAuditLogEntryCreate","GUILD_BAN_ADD","handleGuildBanAdd","GUILD_BAN_REMOVE","handleGuildBanRemove","GUILD_CREATE","handleGuildCreate","GUILD_DELETE","handleGuildDelete","GUILD_EMOJIS_UPDATE","handleGuildEmojisUpdate","GUILD_INTEGRATIONS_UPDATE","handleGuildIntegrationsUpdate","GUILD_MEMBER_ADD","handleGuildMemberAdd","GUILD_MEMBER_REMOVE","handleGuildMemberRemove","GUILD_MEMBER_UPDATE","handleGuildMemberUpdate","GUILD_MEMBERS_CHUNK","handleGuildMembersChunk","GUILD_ROLE_CREATE","handleGuildRoleCreate","GUILD_ROLE_DELETE","handleGuildRoleDelete","GUILD_ROLE_UPDATE","handleGuildRoleUpdate","GUILD_SCHEDULED_EVENT_CREATE","handleGuildScheduledEventCreate","GUILD_SCHEDULED_EVENT_DELETE","handleGuildScheduledEventDelete","GUILD_SCHEDULED_EVENT_UPDATE","handleGuildScheduledEventUpdate","GUILD_SCHEDULED_EVENT_USER_ADD","handleGuildScheduledEventUserAdd","GUILD_SCHEDULED_EVENT_USER_REMOVE","handleGuildScheduledEventUserRemove","GUILD_STICKERS_UPDATE","handleGuildStickersUpdate","GUILD_UPDATE","handleGuildUpdate","INTERACTION_CREATE","handleInteractionCreate","INTEGRATION_CREATE","handleIntegrationCreate","INTEGRATION_UPDATE","handleIntegrationUpdate","INTEGRATION_DELETE","handleIntegrationDelete","INVITE_CREATE","handleInviteCreate","INVITE_DELETE","MESSAGE_CREATE","handleMessageCreate","MESSAGE_DELETE_BULK","handleMessageDeleteBulk","MESSAGE_DELETE","handleMessageDelete","MESSAGE_REACTION_ADD","handleMessageReactionAdd","MESSAGE_REACTION_REMOVE_ALL","handleMessageReactionRemoveAll","MESSAGE_REACTION_REMOVE_EMOJI","handleMessageReactionRemoveEmoji","MESSAGE_REACTION_REMOVE","handleMessageReactionRemove","MESSAGE_UPDATE","handleMessageUpdate","PRESENCE_UPDATE","handlePresenceUpdate","READY","handleReady","STAGE_INSTANCE_CREATE","handleStageInstanceCreate","STAGE_INSTANCE_DELETE","handleStageInstanceDelete","STAGE_INSTANCE_UPDATE","handleStageInstanceUpdate","THREAD_CREATE","handleThreadCreate","THREAD_DELETE","handleThreadDelete","THREAD_UPDATE","handleThreadUpdate","THREAD_LIST_SYNC","handleThreadListSync","THREAD_MEMBER_UPDATE","THREAD_MEMBERS_UPDATE","handleThreadMembersUpdate","TYPING_START","handleTypingStart","USER_UPDATE","handleUserUpdate","VOICE_SERVER_UPDATE","handleVoiceServerUpdate","VOICE_STATE_UPDATE","handleVoiceStateUpdate","WEBHOOKS_UPDATE","handleWebhooksUpdate"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/handlers.ts"],"sourcesContent":["import * as handlers from './handlers/index.js'\nimport type { Bot, DiscordGatewayPayload, GatewayDispatchEventNames } from './index.js'\nimport type { BotGatewayHandlerOptions } from './typings.js'\n\nexport function createBotGatewayHandlers(\n options: Partial<BotGatewayHandlerOptions>,\n): Record<GatewayDispatchEventNames, (bot: Bot, data: DiscordGatewayPayload, shardId: number) => any> {\n return {\n APPLICATION_COMMAND_PERMISSIONS_UPDATE: options.APPLICATION_COMMAND_PERMISSIONS_UPDATE ?? handlers.handleApplicationCommandPermissionsUpdate,\n AUTO_MODERATION_ACTION_EXECUTION: options.AUTO_MODERATION_ACTION_EXECUTION ?? handlers.handleAutoModerationActionExecution,\n AUTO_MODERATION_RULE_CREATE: options.AUTO_MODERATION_RULE_CREATE ?? handlers.handleAutoModerationRuleCreate,\n AUTO_MODERATION_RULE_DELETE: options.AUTO_MODERATION_RULE_DELETE ?? handlers.handleAutoModerationRuleDelete,\n AUTO_MODERATION_RULE_UPDATE: options.AUTO_MODERATION_RULE_UPDATE ?? handlers.handleAutoModerationRuleUpdate,\n CHANNEL_CREATE: options.CHANNEL_CREATE ?? handlers.handleChannelCreate,\n CHANNEL_DELETE: options.CHANNEL_DELETE ?? handlers.handleChannelDelete,\n CHANNEL_PINS_UPDATE: options.CHANNEL_PINS_UPDATE ?? handlers.handleChannelPinsUpdate,\n CHANNEL_UPDATE: options.CHANNEL_UPDATE ?? handlers.handleChannelUpdate,\n GUILD_AUDIT_LOG_ENTRY_CREATE: options.GUILD_AUDIT_LOG_ENTRY_CREATE ?? handlers.handleGuildAuditLogEntryCreate,\n GUILD_BAN_ADD: options.GUILD_BAN_ADD ?? handlers.handleGuildBanAdd,\n GUILD_BAN_REMOVE: options.GUILD_BAN_REMOVE ?? handlers.handleGuildBanRemove,\n GUILD_CREATE: options.GUILD_CREATE ?? handlers.handleGuildCreate,\n GUILD_DELETE: options.GUILD_DELETE ?? handlers.handleGuildDelete,\n GUILD_EMOJIS_UPDATE: options.GUILD_EMOJIS_UPDATE ?? handlers.handleGuildEmojisUpdate,\n GUILD_INTEGRATIONS_UPDATE: options.GUILD_INTEGRATIONS_UPDATE ?? handlers.handleGuildIntegrationsUpdate,\n GUILD_MEMBER_ADD: options.GUILD_MEMBER_ADD ?? handlers.handleGuildMemberAdd,\n GUILD_MEMBER_REMOVE: options.GUILD_MEMBER_REMOVE ?? handlers.handleGuildMemberRemove,\n GUILD_MEMBER_UPDATE: options.GUILD_MEMBER_UPDATE ?? handlers.handleGuildMemberUpdate,\n GUILD_MEMBERS_CHUNK: options.GUILD_MEMBERS_CHUNK ?? handlers.handleGuildMembersChunk,\n GUILD_ROLE_CREATE: options.GUILD_ROLE_CREATE ?? handlers.handleGuildRoleCreate,\n GUILD_ROLE_DELETE: options.GUILD_ROLE_DELETE ?? handlers.handleGuildRoleDelete,\n GUILD_ROLE_UPDATE: options.GUILD_ROLE_UPDATE ?? handlers.handleGuildRoleUpdate,\n GUILD_SCHEDULED_EVENT_CREATE: options.GUILD_SCHEDULED_EVENT_CREATE ?? handlers.handleGuildScheduledEventCreate,\n GUILD_SCHEDULED_EVENT_DELETE: options.GUILD_SCHEDULED_EVENT_DELETE ?? handlers.handleGuildScheduledEventDelete,\n GUILD_SCHEDULED_EVENT_UPDATE: options.GUILD_SCHEDULED_EVENT_UPDATE ?? handlers.handleGuildScheduledEventUpdate,\n GUILD_SCHEDULED_EVENT_USER_ADD: options.GUILD_SCHEDULED_EVENT_USER_ADD ?? handlers.handleGuildScheduledEventUserAdd,\n GUILD_SCHEDULED_EVENT_USER_REMOVE: options.GUILD_SCHEDULED_EVENT_USER_REMOVE ?? handlers.handleGuildScheduledEventUserRemove,\n GUILD_STICKERS_UPDATE: options.GUILD_STICKERS_UPDATE ?? handlers.handleGuildStickersUpdate,\n GUILD_UPDATE: options.GUILD_UPDATE ?? handlers.handleGuildUpdate,\n INTERACTION_CREATE: options.INTERACTION_CREATE ?? handlers.handleInteractionCreate,\n INTEGRATION_CREATE: options.INTEGRATION_CREATE ?? handlers.handleIntegrationCreate,\n INTEGRATION_UPDATE: options.INTEGRATION_UPDATE ?? handlers.handleIntegrationUpdate,\n INTEGRATION_DELETE: options.INTEGRATION_DELETE ?? handlers.handleIntegrationDelete,\n INVITE_CREATE: options.INVITE_CREATE ?? handlers.handleInviteCreate,\n INVITE_DELETE: options.INVITE_DELETE ?? handlers.handleInviteDelete,\n MESSAGE_CREATE: options.MESSAGE_CREATE ?? handlers.handleMessageCreate,\n MESSAGE_DELETE_BULK: options.MESSAGE_DELETE_BULK ?? handlers.handleMessageDeleteBulk,\n MESSAGE_DELETE: options.MESSAGE_DELETE ?? handlers.handleMessageDelete,\n MESSAGE_REACTION_ADD: options.MESSAGE_REACTION_ADD ?? handlers.handleMessageReactionAdd,\n MESSAGE_REACTION_REMOVE_ALL: options.MESSAGE_REACTION_REMOVE_ALL ?? handlers.handleMessageReactionRemoveAll,\n MESSAGE_REACTION_REMOVE_EMOJI: options.MESSAGE_REACTION_REMOVE_EMOJI ?? handlers.handleMessageReactionRemoveEmoji,\n MESSAGE_REACTION_REMOVE: options.MESSAGE_REACTION_REMOVE ?? handlers.handleMessageReactionRemove,\n MESSAGE_UPDATE: options.MESSAGE_UPDATE ?? handlers.handleMessageUpdate,\n PRESENCE_UPDATE: options.PRESENCE_UPDATE ?? handlers.handlePresenceUpdate,\n READY: options.READY ?? handlers.handleReady,\n STAGE_INSTANCE_CREATE: options.STAGE_INSTANCE_CREATE ?? handlers.handleStageInstanceCreate,\n STAGE_INSTANCE_DELETE: options.STAGE_INSTANCE_DELETE ?? handlers.handleStageInstanceDelete,\n STAGE_INSTANCE_UPDATE: options.STAGE_INSTANCE_UPDATE ?? handlers.handleStageInstanceUpdate,\n THREAD_CREATE: options.THREAD_CREATE ?? handlers.handleThreadCreate,\n THREAD_DELETE: options.THREAD_DELETE ?? handlers.handleThreadDelete,\n THREAD_UPDATE: options.THREAD_UPDATE ?? handlers.handleThreadUpdate,\n THREAD_LIST_SYNC: options.THREAD_LIST_SYNC ?? handlers.handleThreadListSync,\n THREAD_MEMBER_UPDATE: options.THREAD_MEMBERS_UPDATE ?? handlers.handleThreadMembersUpdate,\n THREAD_MEMBERS_UPDATE: options.THREAD_MEMBERS_UPDATE ?? handlers.handleThreadMembersUpdate,\n TYPING_START: options.TYPING_START ?? handlers.handleTypingStart,\n USER_UPDATE: options.USER_UPDATE ?? handlers.handleUserUpdate,\n VOICE_SERVER_UPDATE: options.VOICE_SERVER_UPDATE ?? handlers.handleVoiceServerUpdate,\n VOICE_STATE_UPDATE: options.VOICE_STATE_UPDATE ?? handlers.handleVoiceStateUpdate,\n WEBHOOKS_UPDATE: options.WEBHOOKS_UPDATE ?? handlers.handleWebhooksUpdate,\n }\n}\n\nexport interface GatewayHandlers extends ReturnType<typeof createBotGatewayHandlers> {}\n"],"names":["handlers","createBotGatewayHandlers","options","APPLICATION_COMMAND_PERMISSIONS_UPDATE","handleApplicationCommandPermissionsUpdate","AUTO_MODERATION_ACTION_EXECUTION","handleAutoModerationActionExecution","AUTO_MODERATION_RULE_CREATE","handleAutoModerationRuleCreate","AUTO_MODERATION_RULE_DELETE","handleAutoModerationRuleDelete","AUTO_MODERATION_RULE_UPDATE","handleAutoModerationRuleUpdate","CHANNEL_CREATE","handleChannelCreate","CHANNEL_DELETE","handleChannelDelete","CHANNEL_PINS_UPDATE","handleChannelPinsUpdate","CHANNEL_UPDATE","handleChannelUpdate","GUILD_AUDIT_LOG_ENTRY_CREATE","handleGuildAuditLogEntryCreate","GUILD_BAN_ADD","handleGuildBanAdd","GUILD_BAN_REMOVE","handleGuildBanRemove","GUILD_CREATE","handleGuildCreate","GUILD_DELETE","handleGuildDelete","GUILD_EMOJIS_UPDATE","handleGuildEmojisUpdate","GUILD_INTEGRATIONS_UPDATE","handleGuildIntegrationsUpdate","GUILD_MEMBER_ADD","handleGuildMemberAdd","GUILD_MEMBER_REMOVE","handleGuildMemberRemove","GUILD_MEMBER_UPDATE","handleGuildMemberUpdate","GUILD_MEMBERS_CHUNK","handleGuildMembersChunk","GUILD_ROLE_CREATE","handleGuildRoleCreate","GUILD_ROLE_DELETE","handleGuildRoleDelete","GUILD_ROLE_UPDATE","handleGuildRoleUpdate","GUILD_SCHEDULED_EVENT_CREATE","handleGuildScheduledEventCreate","GUILD_SCHEDULED_EVENT_DELETE","handleGuildScheduledEventDelete","GUILD_SCHEDULED_EVENT_UPDATE","handleGuildScheduledEventUpdate","GUILD_SCHEDULED_EVENT_USER_ADD","handleGuildScheduledEventUserAdd","GUILD_SCHEDULED_EVENT_USER_REMOVE","handleGuildScheduledEventUserRemove","GUILD_STICKERS_UPDATE","handleGuildStickersUpdate","GUILD_UPDATE","handleGuildUpdate","INTERACTION_CREATE","handleInteractionCreate","INTEGRATION_CREATE","handleIntegrationCreate","INTEGRATION_UPDATE","handleIntegrationUpdate","INTEGRATION_DELETE","handleIntegrationDelete","INVITE_CREATE","handleInviteCreate","INVITE_DELETE","handleInviteDelete","MESSAGE_CREATE","handleMessageCreate","MESSAGE_DELETE_BULK","handleMessageDeleteBulk","MESSAGE_DELETE","handleMessageDelete","MESSAGE_REACTION_ADD","handleMessageReactionAdd","MESSAGE_REACTION_REMOVE_ALL","handleMessageReactionRemoveAll","MESSAGE_REACTION_REMOVE_EMOJI","handleMessageReactionRemoveEmoji","MESSAGE_REACTION_REMOVE","handleMessageReactionRemove","MESSAGE_UPDATE","handleMessageUpdate","PRESENCE_UPDATE","handlePresenceUpdate","READY","handleReady","STAGE_INSTANCE_CREATE","handleStageInstanceCreate","STAGE_INSTANCE_DELETE","handleStageInstanceDelete","STAGE_INSTANCE_UPDATE","handleStageInstanceUpdate","THREAD_CREATE","handleThreadCreate","THREAD_DELETE","handleThreadDelete","THREAD_UPDATE","handleThreadUpdate","THREAD_LIST_SYNC","handleThreadListSync","THREAD_MEMBER_UPDATE","THREAD_MEMBERS_UPDATE","handleThreadMembersUpdate","TYPING_START","handleTypingStart","USER_UPDATE","handleUserUpdate","VOICE_SERVER_UPDATE","handleVoiceServerUpdate","VOICE_STATE_UPDATE","handleVoiceStateUpdate","WEBHOOKS_UPDATE","handleWebhooksUpdate"],"mappings":"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"}
@@ -33,6 +33,7 @@ export declare function transformApplication(bot: Bot, payload: DiscordApplicati
33
33
  remove: (bits: number) => import("./toggles/user.js").UserToggles;
34
34
  toJSON: () => number;
35
35
  } | undefined;
36
+ globalName?: string | undefined;
36
37
  premiumType?: import("@discordeno/types/dist/shared.js").PremiumTypes | undefined;
37
38
  publicFlags?: {
38
39
  bitfield: number;
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/transformers/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,GAAG,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIjF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BzE;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU,CAAC,OAAO,oBAAoB,CAAC;CAAG"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/transformers/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,GAAG,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIjF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BzE;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU,CAAC,OAAO,oBAAoB,CAAC;CAAG"}
@@ -1,5 +1,5 @@
1
1
  import type { DiscordAuditLogEntry } from '@discordeno/types';
2
- import type { Bot } from '../index.js';
2
+ import { type Bot } from '../index.js';
3
3
  export declare function transformAuditLogEntry(bot: Bot, payload: DiscordAuditLogEntry): {
4
4
  options?: {
5
5
  id?: bigint | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"auditLogEntry.d.ts","sourceRoot":"","sources":["../../src/transformers/auditLogEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAItC,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgI7E;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU,CAAC,OAAO,sBAAsB,CAAC;CAAG"}
1
+ {"version":3,"file":"auditLogEntry.d.ts","sourceRoot":"","sources":["../../src/transformers/auditLogEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,aAAa,CAAA;AAIxD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqI7E;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU,CAAC,OAAO,sBAAsB,CAAC;CAAG"}
@@ -1,3 +1,4 @@
1
+ import { iconHashToBigInt } from '../index.js';
1
2
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
2
3
  export function transformAuditLogEntry(bot, payload) {
3
4
  const auditLogEntry = {
@@ -17,13 +18,8 @@ export function transformAuditLogEntry(bot, payload) {
17
18
  name: val?.name
18
19
  }))
19
20
  };
20
- case 'discovery_splash_hash':
21
- case 'banner_hash':
22
21
  case 'rules_channel_id':
23
22
  case 'public_updates_channel_id':
24
- case 'icon_hash':
25
- case 'image_hash':
26
- case 'splash_hash':
27
23
  case 'owner_id':
28
24
  case 'widget_channel_id':
29
25
  case 'system_channel_id':
@@ -33,13 +29,23 @@ export function transformAuditLogEntry(bot, payload) {
33
29
  case 'deny':
34
30
  case 'channel_id':
35
31
  case 'inviter_id':
36
- case 'avatar_hash':
37
32
  case 'id':
38
33
  return {
39
34
  key: change.key,
40
35
  old: change.old_value ? bot.transformers.snowflake(change.old_value) : undefined,
41
36
  new: change.new_value ? bot.transformers.snowflake(change.new_value) : undefined
42
37
  };
38
+ case 'discovery_splash_hash':
39
+ case 'banner_hash':
40
+ case 'icon_hash':
41
+ case 'image_hash':
42
+ case 'splash_hash':
43
+ case 'avatar_hash':
44
+ return {
45
+ key: change.key,
46
+ old: change.old_value ? iconHashToBigInt(change.old_value) : undefined,
47
+ new: change.new_value ? iconHashToBigInt(change.new_value) : undefined
48
+ };
43
49
  case 'name':
44
50
  case 'description':
45
51
  case 'preferred_locale':
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transformers/auditLogEntry.ts"],"sourcesContent":["import type { DiscordAuditLogEntry } from '@discordeno/types'\nimport type { Bot } from '../index.js'\nimport type { Optionalize } from '../optionalize.js'\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function transformAuditLogEntry(bot: Bot, payload: DiscordAuditLogEntry) {\n const auditLogEntry = {\n id: bot.transformers.snowflake(payload.id),\n changes: payload.changes?.map((change) => {\n switch (change.key) {\n case '$add':\n case '$remove':\n return {\n key: change.key,\n new: change.new_value?.map((val) => ({\n id: val.id ? bot.transformers.snowflake(val.id) : undefined,\n name: val.name,\n })),\n old: change.old_value?.map((val) => ({\n id: val?.id ? bot.transformers.snowflake(val.id) : undefined,\n name: val?.name,\n })),\n }\n case 'discovery_splash_hash':\n case 'banner_hash':\n case 'rules_channel_id':\n case 'public_updates_channel_id':\n case 'icon_hash':\n case 'image_hash':\n case 'splash_hash':\n case 'owner_id':\n case 'widget_channel_id':\n case 'system_channel_id':\n case 'application_id':\n case 'permissions':\n case 'allow':\n case 'deny':\n case 'channel_id':\n case 'inviter_id':\n case 'avatar_hash':\n case 'id':\n return {\n key: change.key,\n old: change.old_value ? bot.transformers.snowflake(change.old_value) : undefined,\n new: change.new_value ? bot.transformers.snowflake(change.new_value) : undefined,\n }\n case 'name':\n case 'description':\n case 'preferred_locale':\n case 'region':\n case 'afk_channel_id':\n case 'vanity_url_code':\n case 'topic':\n case 'code':\n case 'nick':\n case 'location':\n return {\n key: change.key,\n old: change.old_value,\n new: change.new_value,\n }\n case 'afk_timeout':\n case 'mfa_level':\n case 'verification_level':\n case 'explicit_content_filter':\n case 'default_message_notifications':\n case 'prune_delete_days':\n case 'position':\n case 'bitrate':\n case 'rate_limit_per_user':\n case 'color':\n case 'max_uses':\n case 'uses':\n case 'max_age':\n case 'expire_behavior':\n case 'expire_grace_period':\n case 'user_limit':\n case 'privacy_level':\n case 'entity_type':\n case 'status':\n return {\n key: change.key,\n old: change.old_value ? Number(change.old_value) : undefined,\n new: change.new_value ? Number(change.new_value) : undefined,\n }\n case 'widget_enabled':\n case 'nsfw':\n case 'hoist':\n case 'mentionable':\n case 'temporary':\n case 'deaf':\n case 'mute':\n case 'enable_emoticons':\n return {\n key: change.key,\n old: change.old_value ?? false,\n new: change.new_value ?? false,\n }\n case 'permission_overwrites':\n return {\n key: change.key,\n old: change.old_value,\n new: change.new_value,\n }\n default:\n return {\n key: change.key,\n old: change.old_value,\n new: change.new_value,\n }\n }\n }),\n userId: payload.user_id ? bot.transformers.snowflake(payload.user_id) : undefined,\n targetId: payload.target_id ? bot.transformers.snowflake(payload.target_id) : undefined,\n actionType: payload.action_type,\n options: payload.options\n ? {\n deleteMemberDays: payload.options.delete_member_days ? Number(payload.options.delete_member_days) : 0,\n membersRemoved: payload.options.members_removed ? Number(payload.options.members_removed) : 0,\n channelId: payload.options.channel_id ? bot.transformers.snowflake(payload.options.channel_id) : undefined,\n messageId: payload.options.message_id ? bot.transformers.snowflake(payload.options.message_id) : undefined,\n count: payload.options.count ? Number(payload.options.count) : 0,\n id: payload.options.id ? bot.transformers.snowflake(payload.options.id) : undefined,\n type: Number(payload.options.type),\n roleName: payload.options.role_name,\n autoModerationRuleName: payload.options.auto_moderation_rule_name,\n autoModerationRuleTriggerType: payload.options.auto_moderation_rule_trigger_type,\n }\n : undefined,\n reason: payload.reason,\n }\n\n return auditLogEntry as Optionalize<typeof auditLogEntry>\n}\n\nexport interface AuditLogEntry extends ReturnType<typeof transformAuditLogEntry> {}\n"],"names":["transformAuditLogEntry","bot","payload","auditLogEntry","id","transformers","snowflake","changes","map","change","key","new","new_value","val","undefined","name","old","old_value","Number","userId","user_id","targetId","target_id","actionType","action_type","options","deleteMemberDays","delete_member_days","membersRemoved","members_removed","channelId","channel_id","messageId","message_id","count","type","roleName","role_name","autoModerationRuleName","auto_moderation_rule_name","autoModerationRuleTriggerType","auto_moderation_rule_trigger_type","reason"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/transformers/auditLogEntry.ts"],"sourcesContent":["import type { DiscordAuditLogEntry } from '@discordeno/types'\nimport { iconHashToBigInt, type Bot } from '../index.js'\nimport type { Optionalize } from '../optionalize.js'\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function transformAuditLogEntry(bot: Bot, payload: DiscordAuditLogEntry) {\n const auditLogEntry = {\n id: bot.transformers.snowflake(payload.id),\n changes: payload.changes?.map((change) => {\n switch (change.key) {\n case '$add':\n case '$remove':\n return {\n key: change.key,\n new: change.new_value?.map((val) => ({\n id: val.id ? bot.transformers.snowflake(val.id) : undefined,\n name: val.name,\n })),\n old: change.old_value?.map((val) => ({\n id: val?.id ? bot.transformers.snowflake(val.id) : undefined,\n name: val?.name,\n })),\n }\n case 'rules_channel_id':\n case 'public_updates_channel_id':\n case 'owner_id':\n case 'widget_channel_id':\n case 'system_channel_id':\n case 'application_id':\n case 'permissions':\n case 'allow':\n case 'deny':\n case 'channel_id':\n case 'inviter_id':\n case 'id':\n return {\n key: change.key,\n old: change.old_value ? bot.transformers.snowflake(change.old_value) : undefined,\n new: change.new_value ? bot.transformers.snowflake(change.new_value) : undefined,\n }\n case 'discovery_splash_hash':\n case 'banner_hash':\n case 'icon_hash':\n case 'image_hash':\n case 'splash_hash':\n case 'avatar_hash':\n return {\n key: change.key,\n old: change.old_value ? iconHashToBigInt(change.old_value) : undefined,\n new: change.new_value ? iconHashToBigInt(change.new_value) : undefined,\n }\n case 'name':\n case 'description':\n case 'preferred_locale':\n case 'region':\n case 'afk_channel_id':\n case 'vanity_url_code':\n case 'topic':\n case 'code':\n case 'nick':\n case 'location':\n return {\n key: change.key,\n old: change.old_value,\n new: change.new_value,\n }\n case 'afk_timeout':\n case 'mfa_level':\n case 'verification_level':\n case 'explicit_content_filter':\n case 'default_message_notifications':\n case 'prune_delete_days':\n case 'position':\n case 'bitrate':\n case 'rate_limit_per_user':\n case 'color':\n case 'max_uses':\n case 'uses':\n case 'max_age':\n case 'expire_behavior':\n case 'expire_grace_period':\n case 'user_limit':\n case 'privacy_level':\n case 'entity_type':\n case 'status':\n return {\n key: change.key,\n old: change.old_value ? Number(change.old_value) : undefined,\n new: change.new_value ? Number(change.new_value) : undefined,\n }\n case 'widget_enabled':\n case 'nsfw':\n case 'hoist':\n case 'mentionable':\n case 'temporary':\n case 'deaf':\n case 'mute':\n case 'enable_emoticons':\n return {\n key: change.key,\n old: change.old_value ?? false,\n new: change.new_value ?? false,\n }\n case 'permission_overwrites':\n return {\n key: change.key,\n old: change.old_value,\n new: change.new_value,\n }\n default:\n return {\n key: change.key,\n old: change.old_value,\n new: change.new_value,\n }\n }\n }),\n userId: payload.user_id ? bot.transformers.snowflake(payload.user_id) : undefined,\n targetId: payload.target_id ? bot.transformers.snowflake(payload.target_id) : undefined,\n actionType: payload.action_type,\n options: payload.options\n ? {\n deleteMemberDays: payload.options.delete_member_days ? Number(payload.options.delete_member_days) : 0,\n membersRemoved: payload.options.members_removed ? Number(payload.options.members_removed) : 0,\n channelId: payload.options.channel_id ? bot.transformers.snowflake(payload.options.channel_id) : undefined,\n messageId: payload.options.message_id ? bot.transformers.snowflake(payload.options.message_id) : undefined,\n count: payload.options.count ? Number(payload.options.count) : 0,\n id: payload.options.id ? bot.transformers.snowflake(payload.options.id) : undefined,\n type: Number(payload.options.type),\n roleName: payload.options.role_name,\n autoModerationRuleName: payload.options.auto_moderation_rule_name,\n autoModerationRuleTriggerType: payload.options.auto_moderation_rule_trigger_type,\n }\n : undefined,\n reason: payload.reason,\n }\n\n return auditLogEntry as Optionalize<typeof auditLogEntry>\n}\n\nexport interface AuditLogEntry extends ReturnType<typeof transformAuditLogEntry> {}\n"],"names":["iconHashToBigInt","transformAuditLogEntry","bot","payload","auditLogEntry","id","transformers","snowflake","changes","map","change","key","new","new_value","val","undefined","name","old","old_value","Number","userId","user_id","targetId","target_id","actionType","action_type","options","deleteMemberDays","delete_member_days","membersRemoved","members_removed","channelId","channel_id","messageId","message_id","count","type","roleName","role_name","autoModerationRuleName","auto_moderation_rule_name","autoModerationRuleTriggerType","auto_moderation_rule_trigger_type","reason"],"mappings":"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"}
@@ -70,7 +70,7 @@ export function transformChannel(bot, payload) {
70
70
  if (payload.channel.name && props.name) channel.name = payload.channel.name;
71
71
  if (payload.channel.topic && props.topic) channel.topic = payload.channel.topic;
72
72
  if (payload.channel.last_message_id && props.lastMessageId) channel.lastMessageId = bot.transformers.snowflake(payload.channel.last_message_id);
73
- if (payload.channel.bitrate && props.bitrate) channel.bitrate = props.bitrate;
73
+ if (payload.channel.bitrate && props.bitrate) channel.bitrate = payload.channel.bitrate;
74
74
  if (props.userLimit) channel.userLimit = payload.channel.user_limit;
75
75
  if (props.rateLimitPerUser) channel.rateLimitPerUser = payload.channel.rate_limit_per_user;
76
76
  if (payload.channel.owner_id && props.ownerId) channel.ownerId = bot.transformers.snowflake(payload.channel.owner_id);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transformers/channel.ts"],"sourcesContent":["import type { BigString, ChannelTypes, DiscordChannel, DiscordThreadMember, OverwriteReadable, VideoQualityModes } from '@discordeno/types'\nimport { calculatePermissions, type Bot } from '../index.js'\nimport { Permissions } from './toggles/Permissions.js'\nimport { ChannelToggles } from './toggles/channel.js'\n\nconst Mask = (1n << 64n) - 1n\n\nexport function packOverwrites(allow: string, deny: string, id: string, type: number): bigint {\n return pack64(allow, 0) | pack64(deny, 1) | pack64(id, 2) | pack64(type, 3)\n}\nfunction unpack64(v: bigint, shift: number): bigint {\n return (v >> BigInt(shift * 64)) & Mask\n}\nfunction pack64(v: string | number, shift: number): bigint {\n const b = BigInt(v)\n if (b < 0 || b > Mask) throw new Error('should have been a 64 bit unsigned integer: ' + v.toString())\n return b << BigInt(shift * 64)\n}\nexport function separateOverwrites(v: bigint): [number, bigint, bigint, bigint] {\n return [Number(unpack64(v, 3)), unpack64(v, 2), unpack64(v, 0), unpack64(v, 1)] as [number, bigint, bigint, bigint]\n}\n\nexport const baseChannel: Partial<Channel> & BaseChannel = {\n get archived() {\n return !!this.toggles?.archived\n },\n get invitable() {\n return !!this.toggles?.invitable\n },\n get locked() {\n return !!this.toggles?.locked\n },\n get nsfw() {\n return !!this.toggles?.nsfw\n },\n get newlyCreated() {\n return !!this.toggles?.newlyCreated\n },\n get permissionOverwrites() {\n return (\n this.internalOverwrites?.map((overwrite) => {\n const [type, id, allow, deny] = separateOverwrites(overwrite)\n return {\n type,\n id,\n allow: calculatePermissions(allow),\n deny: calculatePermissions(deny),\n }\n }) ?? []\n )\n },\n get threadMetadata() {\n return {\n archiveTimestamp: this.internalThreadMetadata?.archiveTimestamp,\n createTimestamp: this.internalThreadMetadata?.createTimestamp,\n autoArchiveDuration: this.internalThreadMetadata?.autoArchiveDuration,\n locked: this.locked,\n invitable: this.invitable,\n archived: this.archived,\n }\n },\n}\n\nexport function transformChannel(bot: Bot, payload: { channel: DiscordChannel } & { guildId?: BigString }): Channel {\n const channel = Object.create(baseChannel)\n const props = bot.transformers.desiredProperties.channel\n channel.toggles = new ChannelToggles(payload.channel)\n\n if (payload.channel.id && props.id) channel.id = bot.transformers.snowflake(payload.channel.id)\n if ((payload.guildId ?? payload.channel.guild_id) && props.guildId) channel.guildId = payload.guildId ?? bot.transformers.snowflake(payload.channel.guild_id!)\n if (props.type) channel.type = payload.channel.type\n if (props.position) channel.position = payload.channel.position\n if (payload.channel.name && props.name) channel.name = payload.channel.name\n if (payload.channel.topic && props.topic) channel.topic = payload.channel.topic\n if (payload.channel.last_message_id && props.lastMessageId) channel.lastMessageId = bot.transformers.snowflake(payload.channel.last_message_id)\n if (payload.channel.bitrate && props.bitrate) channel.bitrate = props.bitrate\n if (props.userLimit) channel.userLimit = payload.channel.user_limit\n if (props.rateLimitPerUser) channel.rateLimitPerUser = payload.channel.rate_limit_per_user\n if (payload.channel.owner_id && props.ownerId) channel.ownerId = bot.transformers.snowflake(payload.channel.owner_id)\n if (payload.channel.last_pin_timestamp && props.lastPinTimestamp) channel.lastPinTimestamp = Date.parse(payload.channel.last_pin_timestamp)\n if (payload.channel.rtc_region && props.rtcRegion) channel.rtcRegion = payload.channel.rtc_region\n if (payload.channel.video_quality_mode && props.videoQualityMode) channel.videoQualityMode = payload.channel.video_quality_mode\n if (payload.channel.message_count && props.messageCount) channel.messageCount = payload.channel.message_count\n if (payload.channel.member_count && props.memberCount) channel.memberCount = payload.channel.member_count\n if (props.archiveTimestamp || props.createTimestamp || props.autoArchiveDuration) {\n channel.internalThreadMetadata = {}\n if (payload.channel.thread_metadata?.archive_timestamp && props.archiveTimestamp)\n channel.internalThreadMetadata.archiveTimestamp = Date.parse(payload.channel.thread_metadata.archive_timestamp)\n if (payload.channel.thread_metadata?.create_timestamp && props.createTimestamp)\n channel.internalThreadMetadata.createTimestamp = Date.parse(payload.channel.thread_metadata.create_timestamp)\n if (payload.channel.thread_metadata?.auto_archive_duration && props.autoArchiveDuration)\n channel.internalThreadMetadata.autoArchiveDuration = payload.channel.thread_metadata.auto_archive_duration\n }\n if (payload.channel.default_auto_archive_duration && props.autoArchiveDuration)\n channel.autoArchiveDuration = payload.channel.default_auto_archive_duration\n if (payload.channel.permissions && props.permissions) channel.permissions = new Permissions(payload.channel.permissions)\n if (payload.channel.flags && props.flags) channel.flags = payload.channel.flags\n if (payload.channel.permission_overwrites && props.permissionOverwrites) {\n channel.internalOverwrites = payload.channel.permission_overwrites.map((o) => packOverwrites(o.allow ?? '0', o.deny ?? '0', o.id, o.type))\n }\n if (props.parentId && payload.channel.parent_id) channel.parentId = bot.transformers.snowflake(payload.channel.parent_id);\n\n return bot.transformers.customizers.channel(bot, payload.channel, channel);\n}\n\nexport interface BaseChannel {\n /** Whether the channel is nsfw */\n nsfw: boolean\n /** Thread-specific fields not needed by other channels */\n threadMetadata?: {\n /** Timestamp when the thread's archive status was last changed, used for calculating recent activity */\n archiveTimestamp?: number\n /** Timestamp when the thread was created; only populated for threads created after 2022-01-09 */\n createTimestamp?: number\n /** Duration in minutes to automatically archive the thread after recent activity */\n autoArchiveDuration?: 60 | 1440 | 4320 | 10080\n /** When a thread is locked, only users with `MANAGE_THREADS` can unarchive it */\n locked: boolean\n /** whether non-moderators can add other non-moderators to a thread; only available on private threads */\n invitable: boolean\n /** Whether the thread is archived */\n archived: boolean\n }\n /** When a thread is created this will be true on that channel payload for the thread. */\n newlyCreated: boolean\n /** When a thread is locked, only users with `MANAGE_THREADS` can unarchive it */\n locked: boolean\n /** whether non-moderators can add other non-moderators to a thread; only available on private threads */\n invitable: boolean\n /** Whether the thread is archived */\n archived: boolean\n /** Explicit permission overwrites for members and roles. */\n permissionOverwrites: OverwriteReadable[]\n}\n\nexport interface Channel extends BaseChannel {\n /** The id of the channel */\n id: bigint\n /** The compressed form of all the boolean values on this channel. */\n toggles: ChannelToggles\n /** The type of channel */\n type: ChannelTypes\n /** The id of the guild */\n guildId?: bigint\n /** Sorting position of the channel */\n position?: number\n /** The name of the channel (1-100 characters) */\n name?: string\n /** The channel topic (0-4096 characters for GUILD_FORUM channels, 0-1024 characters for all others) */\n topic?: string\n /** The id of the last message sent in this channel (may not point to an existing or valid message) */\n lastMessageId?: bigint\n /** The bitrate (in bits) of the voice or stage channel */\n bitrate?: number\n /** The user limit of the voice or stage channel */\n userLimit?: number\n /** Amount of seconds a user has to wait before sending another message (0-21600); bots, as well as users with the permission `manage_messages` or `manage_channel`, are unaffected */\n rateLimitPerUser?: number\n /** Id of the creator of the thread */\n ownerId?: bigint\n /** For guild channels: Id of the parent category for a channel (each parent category can contain up to 50 channels), for threads: id of the text channel this thread was created */\n parentId?: bigint\n /** When the last pinned message was pinned. This may be null in events such as GUILD_CREATE when a message is not pinned. */\n lastPinTimestamp?: string\n /** Voice region id for the voice or stage channel, automatic when set to null */\n rtcRegion?: string\n /** The camera video quality mode of the voice channel, 1 when not present */\n videoQualityMode?: VideoQualityModes\n /** An approximate count of messages in a thread, stops counting at 50 */\n messageCount?: number\n /** An approximate count of users in a thread, stops counting at 50 */\n memberCount?: number\n /**\n * Thread-specific fields not needed by other channels.\n * @deprecated Use channel.threadMetadata\n * @private This field is an internal field, subject to breaking changes.\n */\n internalThreadMetadata?: {\n /** Timestamp when the thread's archive status was last changed, used for calculating recent activity */\n archiveTimestamp: number\n /** Timestamp when the thread was created; only populated for threads created after 2022-01-09 */\n createTimestamp?: number\n /** Duration in minutes to automatically archive the thread after recent activity */\n autoArchiveDuration: 60 | 1440 | 4320 | 10080\n }\n /** Thread member object for the current user, if they have joined the thread, only included on certain API endpoints */\n member?: DiscordThreadMember\n /** Default duration for newly created threads, in minutes, to automatically archive the thread after recent activity, can be set to: 60, 1440, 4320, 10080 */\n default_auto_archive_duration?: number\n /** computed permissions for the invoking user in the channel, including overwrites, only included when part of the resolved data received on a application command interaction */\n permissions?: Permissions\n /** The flags of the channel */\n flags?: number\n /**\n * Explicit permission overwrites for members and roles\n * @deprecated Use channel.permissionOverwrites\n * @private This is for internal use only, and prone to breaking changes.\n */\n internalOverwrites?: bigint[]\n}\n"],"names":["calculatePermissions","Permissions","ChannelToggles","Mask","packOverwrites","allow","deny","id","type","pack64","unpack64","v","shift","BigInt","b","Error","toString","separateOverwrites","Number","baseChannel","archived","toggles","invitable","locked","nsfw","newlyCreated","permissionOverwrites","internalOverwrites","map","overwrite","threadMetadata","archiveTimestamp","internalThreadMetadata","createTimestamp","autoArchiveDuration","transformChannel","bot","payload","channel","Object","create","props","transformers","desiredProperties","snowflake","guildId","guild_id","position","name","topic","last_message_id","lastMessageId","bitrate","userLimit","user_limit","rateLimitPerUser","rate_limit_per_user","owner_id","ownerId","last_pin_timestamp","lastPinTimestamp","Date","parse","rtc_region","rtcRegion","video_quality_mode","videoQualityMode","message_count","messageCount","member_count","memberCount","thread_metadata","archive_timestamp","create_timestamp","auto_archive_duration","default_auto_archive_duration","permissions","flags","permission_overwrites","o","parentId","parent_id","customizers"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/transformers/channel.ts"],"sourcesContent":["import type { BigString, ChannelTypes, DiscordChannel, DiscordThreadMember, OverwriteReadable, VideoQualityModes } from '@discordeno/types'\nimport { calculatePermissions, type Bot } from '../index.js'\nimport { Permissions } from './toggles/Permissions.js'\nimport { ChannelToggles } from './toggles/channel.js'\n\nconst Mask = (1n << 64n) - 1n\n\nexport function packOverwrites(allow: string, deny: string, id: string, type: number): bigint {\n return pack64(allow, 0) | pack64(deny, 1) | pack64(id, 2) | pack64(type, 3)\n}\nfunction unpack64(v: bigint, shift: number): bigint {\n return (v >> BigInt(shift * 64)) & Mask\n}\nfunction pack64(v: string | number, shift: number): bigint {\n const b = BigInt(v)\n if (b < 0 || b > Mask) throw new Error('should have been a 64 bit unsigned integer: ' + v.toString())\n return b << BigInt(shift * 64)\n}\nexport function separateOverwrites(v: bigint): [number, bigint, bigint, bigint] {\n return [Number(unpack64(v, 3)), unpack64(v, 2), unpack64(v, 0), unpack64(v, 1)] as [number, bigint, bigint, bigint]\n}\n\nexport const baseChannel: Partial<Channel> & BaseChannel = {\n get archived() {\n return !!this.toggles?.archived\n },\n get invitable() {\n return !!this.toggles?.invitable\n },\n get locked() {\n return !!this.toggles?.locked\n },\n get nsfw() {\n return !!this.toggles?.nsfw\n },\n get newlyCreated() {\n return !!this.toggles?.newlyCreated\n },\n get permissionOverwrites() {\n return (\n this.internalOverwrites?.map((overwrite) => {\n const [type, id, allow, deny] = separateOverwrites(overwrite)\n return {\n type,\n id,\n allow: calculatePermissions(allow),\n deny: calculatePermissions(deny),\n }\n }) ?? []\n )\n },\n get threadMetadata() {\n return {\n archiveTimestamp: this.internalThreadMetadata?.archiveTimestamp,\n createTimestamp: this.internalThreadMetadata?.createTimestamp,\n autoArchiveDuration: this.internalThreadMetadata?.autoArchiveDuration,\n locked: this.locked,\n invitable: this.invitable,\n archived: this.archived,\n }\n },\n}\n\nexport function transformChannel(bot: Bot, payload: { channel: DiscordChannel } & { guildId?: BigString }): Channel {\n const channel = Object.create(baseChannel)\n const props = bot.transformers.desiredProperties.channel\n channel.toggles = new ChannelToggles(payload.channel)\n\n if (payload.channel.id && props.id) channel.id = bot.transformers.snowflake(payload.channel.id)\n if ((payload.guildId ?? payload.channel.guild_id) && props.guildId) channel.guildId = payload.guildId ?? bot.transformers.snowflake(payload.channel.guild_id!)\n if (props.type) channel.type = payload.channel.type\n if (props.position) channel.position = payload.channel.position\n if (payload.channel.name && props.name) channel.name = payload.channel.name\n if (payload.channel.topic && props.topic) channel.topic = payload.channel.topic\n if (payload.channel.last_message_id && props.lastMessageId) channel.lastMessageId = bot.transformers.snowflake(payload.channel.last_message_id)\n if (payload.channel.bitrate && props.bitrate) channel.bitrate = payload.channel.bitrate\n if (props.userLimit) channel.userLimit = payload.channel.user_limit\n if (props.rateLimitPerUser) channel.rateLimitPerUser = payload.channel.rate_limit_per_user\n if (payload.channel.owner_id && props.ownerId) channel.ownerId = bot.transformers.snowflake(payload.channel.owner_id)\n if (payload.channel.last_pin_timestamp && props.lastPinTimestamp) channel.lastPinTimestamp = Date.parse(payload.channel.last_pin_timestamp)\n if (payload.channel.rtc_region && props.rtcRegion) channel.rtcRegion = payload.channel.rtc_region\n if (payload.channel.video_quality_mode && props.videoQualityMode) channel.videoQualityMode = payload.channel.video_quality_mode\n if (payload.channel.message_count && props.messageCount) channel.messageCount = payload.channel.message_count\n if (payload.channel.member_count && props.memberCount) channel.memberCount = payload.channel.member_count\n if (props.archiveTimestamp || props.createTimestamp || props.autoArchiveDuration) {\n channel.internalThreadMetadata = {}\n if (payload.channel.thread_metadata?.archive_timestamp && props.archiveTimestamp)\n channel.internalThreadMetadata.archiveTimestamp = Date.parse(payload.channel.thread_metadata.archive_timestamp)\n if (payload.channel.thread_metadata?.create_timestamp && props.createTimestamp)\n channel.internalThreadMetadata.createTimestamp = Date.parse(payload.channel.thread_metadata.create_timestamp)\n if (payload.channel.thread_metadata?.auto_archive_duration && props.autoArchiveDuration)\n channel.internalThreadMetadata.autoArchiveDuration = payload.channel.thread_metadata.auto_archive_duration\n }\n if (payload.channel.default_auto_archive_duration && props.autoArchiveDuration)\n channel.autoArchiveDuration = payload.channel.default_auto_archive_duration\n if (payload.channel.permissions && props.permissions) channel.permissions = new Permissions(payload.channel.permissions)\n if (payload.channel.flags && props.flags) channel.flags = payload.channel.flags\n if (payload.channel.permission_overwrites && props.permissionOverwrites) {\n channel.internalOverwrites = payload.channel.permission_overwrites.map((o) => packOverwrites(o.allow ?? '0', o.deny ?? '0', o.id, o.type))\n }\n if (props.parentId && payload.channel.parent_id) channel.parentId = bot.transformers.snowflake(payload.channel.parent_id);\n\n return bot.transformers.customizers.channel(bot, payload.channel, channel);\n}\n\nexport interface BaseChannel {\n /** Whether the channel is nsfw */\n nsfw: boolean\n /** Thread-specific fields not needed by other channels */\n threadMetadata?: {\n /** Timestamp when the thread's archive status was last changed, used for calculating recent activity */\n archiveTimestamp?: number\n /** Timestamp when the thread was created; only populated for threads created after 2022-01-09 */\n createTimestamp?: number\n /** Duration in minutes to automatically archive the thread after recent activity */\n autoArchiveDuration?: 60 | 1440 | 4320 | 10080\n /** When a thread is locked, only users with `MANAGE_THREADS` can unarchive it */\n locked: boolean\n /** whether non-moderators can add other non-moderators to a thread; only available on private threads */\n invitable: boolean\n /** Whether the thread is archived */\n archived: boolean\n }\n /** When a thread is created this will be true on that channel payload for the thread. */\n newlyCreated: boolean\n /** When a thread is locked, only users with `MANAGE_THREADS` can unarchive it */\n locked: boolean\n /** whether non-moderators can add other non-moderators to a thread; only available on private threads */\n invitable: boolean\n /** Whether the thread is archived */\n archived: boolean\n /** Explicit permission overwrites for members and roles. */\n permissionOverwrites: OverwriteReadable[]\n}\n\nexport interface Channel extends BaseChannel {\n /** The id of the channel */\n id: bigint\n /** The compressed form of all the boolean values on this channel. */\n toggles: ChannelToggles\n /** The type of channel */\n type: ChannelTypes\n /** The id of the guild */\n guildId?: bigint\n /** Sorting position of the channel */\n position?: number\n /** The name of the channel (1-100 characters) */\n name?: string\n /** The channel topic (0-4096 characters for GUILD_FORUM channels, 0-1024 characters for all others) */\n topic?: string\n /** The id of the last message sent in this channel (may not point to an existing or valid message) */\n lastMessageId?: bigint\n /** The bitrate (in bits) of the voice or stage channel */\n bitrate?: number\n /** The user limit of the voice or stage channel */\n userLimit?: number\n /** Amount of seconds a user has to wait before sending another message (0-21600); bots, as well as users with the permission `manage_messages` or `manage_channel`, are unaffected */\n rateLimitPerUser?: number\n /** Id of the creator of the thread */\n ownerId?: bigint\n /** For guild channels: Id of the parent category for a channel (each parent category can contain up to 50 channels), for threads: id of the text channel this thread was created */\n parentId?: bigint\n /** When the last pinned message was pinned. This may be null in events such as GUILD_CREATE when a message is not pinned. */\n lastPinTimestamp?: string\n /** Voice region id for the voice or stage channel, automatic when set to null */\n rtcRegion?: string\n /** The camera video quality mode of the voice channel, 1 when not present */\n videoQualityMode?: VideoQualityModes\n /** An approximate count of messages in a thread, stops counting at 50 */\n messageCount?: number\n /** An approximate count of users in a thread, stops counting at 50 */\n memberCount?: number\n /**\n * Thread-specific fields not needed by other channels.\n * @deprecated Use channel.threadMetadata\n * @private This field is an internal field, subject to breaking changes.\n */\n internalThreadMetadata?: {\n /** Timestamp when the thread's archive status was last changed, used for calculating recent activity */\n archiveTimestamp: number\n /** Timestamp when the thread was created; only populated for threads created after 2022-01-09 */\n createTimestamp?: number\n /** Duration in minutes to automatically archive the thread after recent activity */\n autoArchiveDuration: 60 | 1440 | 4320 | 10080\n }\n /** Thread member object for the current user, if they have joined the thread, only included on certain API endpoints */\n member?: DiscordThreadMember\n /** Default duration for newly created threads, in minutes, to automatically archive the thread after recent activity, can be set to: 60, 1440, 4320, 10080 */\n default_auto_archive_duration?: number\n /** computed permissions for the invoking user in the channel, including overwrites, only included when part of the resolved data received on a application command interaction */\n permissions?: Permissions\n /** The flags of the channel */\n flags?: number\n /**\n * Explicit permission overwrites for members and roles\n * @deprecated Use channel.permissionOverwrites\n * @private This is for internal use only, and prone to breaking changes.\n */\n internalOverwrites?: bigint[]\n}\n"],"names":["calculatePermissions","Permissions","ChannelToggles","Mask","packOverwrites","allow","deny","id","type","pack64","unpack64","v","shift","BigInt","b","Error","toString","separateOverwrites","Number","baseChannel","archived","toggles","invitable","locked","nsfw","newlyCreated","permissionOverwrites","internalOverwrites","map","overwrite","threadMetadata","archiveTimestamp","internalThreadMetadata","createTimestamp","autoArchiveDuration","transformChannel","bot","payload","channel","Object","create","props","transformers","desiredProperties","snowflake","guildId","guild_id","position","name","topic","last_message_id","lastMessageId","bitrate","userLimit","user_limit","rateLimitPerUser","rate_limit_per_user","owner_id","ownerId","last_pin_timestamp","lastPinTimestamp","Date","parse","rtc_region","rtcRegion","video_quality_mode","videoQualityMode","message_count","messageCount","member_count","memberCount","thread_metadata","archive_timestamp","create_timestamp","auto_archive_duration","default_auto_archive_duration","permissions","flags","permission_overwrites","o","parentId","parent_id","customizers"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ButtonStyles, MessageComponentTypes, SelectOption, TextStyles } from '@discordeno/types';
1
+ import type { ButtonStyles, ChannelTypes, MessageComponentTypes, SelectOption, TextStyles } from '@discordeno/types';
2
2
  import type { Bot } from '../index.js';
3
3
  import type { DiscordComponent } from '../typings.js';
4
4
  export declare function transformComponent(bot: Bot, payload: DiscordComponent): Component;
@@ -28,6 +28,8 @@ export interface Component {
28
28
  };
29
29
  /** optional url for link-style buttons that can navigate a user to the web. Only type 5 Link buttons can have a url */
30
30
  url?: string;
31
+ /** List of channel types to include in a channel select menu options list */
32
+ channelTypes?: ChannelTypes[];
31
33
  /** The choices! Maximum of 25 items. */
32
34
  options?: SelectOption[];
33
35
  /** A custom placeholder text if nothing is selected. Maximum 150 characters. */
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/transformers/component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACtG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAoCjF;AAID,MAAM,WAAW,SAAS;IACxB,qBAAqB;IACrB,IAAI,EAAE,qBAAqB,CAAA;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iDAAiD;IACjD,KAAK,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACjC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wGAAwG;IACxG,KAAK,CAAC,EAAE;QACN,eAAe;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,iBAAiB;QACjB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,qCAAqC;QACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;IACD,uHAAuH;IACvH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iCAAiC;IACjC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;CACzB"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/transformers/component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACpH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAqCjF;AAID,MAAM,WAAW,SAAS;IACxB,qBAAqB;IACrB,IAAI,EAAE,qBAAqB,CAAA;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iDAAiD;IACjD,KAAK,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACjC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wGAAwG;IACxG,KAAK,CAAC,EAAE;QACN,eAAe;QACf,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,iBAAiB;QACjB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,qCAAqC;QACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;IACD,uHAAuH;IACvH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,YAAY,CAAC,EAAE,YAAY,EAAE,CAAA;IAC7B,wCAAwC;IACxC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iCAAiC;IACjC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;CACzB"}
@@ -11,6 +11,7 @@ export function transformComponent(bot, payload) {
11
11
  animated: payload.emoji.animated
12
12
  } : undefined,
13
13
  url: payload.url,
14
+ channelTypes: payload.channel_types,
14
15
  options: payload.options?.map((option)=>({
15
16
  label: option.label,
16
17
  value: option.value,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transformers/component.ts"],"sourcesContent":["import type { ButtonStyles, MessageComponentTypes, SelectOption, TextStyles } from '@discordeno/types'\nimport type { Bot } from '../index.js'\nimport type { DiscordComponent } from '../typings.js'\n\nexport function transformComponent(bot: Bot, payload: DiscordComponent): Component {\n return {\n type: payload.type,\n customId: payload.custom_id,\n disabled: payload.disabled,\n style: payload.style,\n label: payload.label,\n emoji: payload.emoji\n ? {\n id: payload.emoji.id ? bot.transformers.snowflake(payload.emoji.id) : undefined,\n name: payload.emoji.name,\n animated: payload.emoji.animated,\n }\n : undefined,\n url: payload.url,\n options: payload.options?.map((option) => ({\n label: option.label,\n value: option.value,\n description: option.description,\n emoji: option.emoji\n ? {\n id: option.emoji.id ? bot.transformers.snowflake(option.emoji.id) : undefined,\n name: option.emoji.name,\n animated: option.emoji.animated,\n }\n : undefined,\n default: option.default,\n })),\n placeholder: payload.placeholder,\n minValues: payload.min_values,\n maxValues: payload.max_values,\n minLength: payload.min_length,\n maxLength: payload.max_length,\n value: payload.value,\n components: payload.components?.map((component) => bot.transformers.component(bot, component)),\n }\n}\n\n// THIS TRANSFORMER HAS A CIRCULAR REFERENCE TO CALL ITSELF FOR COMPONENTS SO AN AUTOMATED TYPE CAN NOT BE CREATED!\n\nexport interface Component {\n /** component type */\n type: MessageComponentTypes\n /** a developer-defined identifier for the component, max 100 characters */\n customId?: string\n /** whether this component is required to be filled, default true */\n required?: boolean\n /** whether the component is disabled, default false */\n disabled?: boolean\n /** For different styles/colors of the buttons */\n style?: ButtonStyles | TextStyles\n /** text that appears on the button (max 80 characters) */\n label?: string\n /** the dev-define value of the option, max 100 characters for select or 4000 for input. */\n value?: string\n /** Emoji object that includes fields of name, id, and animated supporting unicode and custom emojis. */\n emoji?: {\n /** Emoji id */\n id?: bigint\n /** Emoji name */\n name?: string\n /** Whether this emoji is animated */\n animated?: boolean\n }\n /** optional url for link-style buttons that can navigate a user to the web. Only type 5 Link buttons can have a url */\n url?: string\n /** The choices! Maximum of 25 items. */\n options?: SelectOption[]\n /** A custom placeholder text if nothing is selected. Maximum 150 characters. */\n placeholder?: string\n /** The minimum number of items that must be selected. Default 1. Between 1-25. */\n minValues?: number\n /** The maximum number of items that can be selected. Default 1. Between 1-25. */\n maxValues?: number\n /** The minimum input length for a text input. Between 0-4000. */\n minLength?: number\n /** The maximum input length for a text input. Between 1-4000. */\n maxLength?: number\n /** a list of child components */\n components?: Component[]\n}\n"],"names":["transformComponent","bot","payload","type","customId","custom_id","disabled","style","label","emoji","id","transformers","snowflake","undefined","name","animated","url","options","map","option","value","description","default","placeholder","minValues","min_values","maxValues","max_values","minLength","min_length","maxLength","max_length","components","component"],"mappings":"AAIA,OAAO,SAASA,mBAAmBC,GAAQ,EAAEC,OAAyB,EAAa;IACjF,OAAO;QACLC,MAAMD,QAAQC,IAAI;QAClBC,UAAUF,QAAQG,SAAS;QAC3BC,UAAUJ,QAAQI,QAAQ;QAC1BC,OAAOL,QAAQK,KAAK;QACpBC,OAAON,QAAQM,KAAK;QACpBC,OAAOP,QAAQO,KAAK,GAChB;YACEC,IAAIR,QAAQO,KAAK,CAACC,EAAE,GAAGT,IAAIU,YAAY,CAACC,SAAS,CAACV,QAAQO,KAAK,CAACC,EAAE,IAAIG,SAAS;YAC/EC,MAAMZ,QAAQO,KAAK,CAACK,IAAI;YACxBC,UAAUb,QAAQO,KAAK,CAACM,QAAQ;QAClC,IACAF,SAAS;QACbG,KAAKd,QAAQc,GAAG;QAChBC,SAASf,QAAQe,OAAO,EAAEC,IAAI,CAACC,SAAY,CAAA;gBACzCX,OAAOW,OAAOX,KAAK;gBACnBY,OAAOD,OAAOC,KAAK;gBACnBC,aAAaF,OAAOE,WAAW;gBAC/BZ,OAAOU,OAAOV,KAAK,GACf;oBACEC,IAAIS,OAAOV,KAAK,CAACC,EAAE,GAAGT,IAAIU,YAAY,CAACC,SAAS,CAACO,OAAOV,KAAK,CAACC,EAAE,IAAIG,SAAS;oBAC7EC,MAAMK,OAAOV,KAAK,CAACK,IAAI;oBACvBC,UAAUI,OAAOV,KAAK,CAACM,QAAQ;gBACjC,IACAF,SAAS;gBACbS,SAASH,OAAOG,OAAO;YACzB,CAAA;QACAC,aAAarB,QAAQqB,WAAW;QAChCC,WAAWtB,QAAQuB,UAAU;QAC7BC,WAAWxB,QAAQyB,UAAU;QAC7BC,WAAW1B,QAAQ2B,UAAU;QAC7BC,WAAW5B,QAAQ6B,UAAU;QAC7BX,OAAOlB,QAAQkB,KAAK;QACpBY,YAAY9B,QAAQ8B,UAAU,EAAEd,IAAI,CAACe,YAAchC,IAAIU,YAAY,CAACsB,SAAS,CAAChC,KAAKgC;IACrF;AACF,CAAC"}
1
+ {"version":3,"sources":["../../src/transformers/component.ts"],"sourcesContent":["import type { ButtonStyles, ChannelTypes, MessageComponentTypes, SelectOption, TextStyles } from '@discordeno/types'\nimport type { Bot } from '../index.js'\nimport type { DiscordComponent } from '../typings.js'\n\nexport function transformComponent(bot: Bot, payload: DiscordComponent): Component {\n return {\n type: payload.type,\n customId: payload.custom_id,\n disabled: payload.disabled,\n style: payload.style,\n label: payload.label,\n emoji: payload.emoji\n ? {\n id: payload.emoji.id ? bot.transformers.snowflake(payload.emoji.id) : undefined,\n name: payload.emoji.name,\n animated: payload.emoji.animated,\n }\n : undefined,\n url: payload.url,\n channelTypes: payload.channel_types,\n options: payload.options?.map((option) => ({\n label: option.label,\n value: option.value,\n description: option.description,\n emoji: option.emoji\n ? {\n id: option.emoji.id ? bot.transformers.snowflake(option.emoji.id) : undefined,\n name: option.emoji.name,\n animated: option.emoji.animated,\n }\n : undefined,\n default: option.default,\n })),\n placeholder: payload.placeholder,\n minValues: payload.min_values,\n maxValues: payload.max_values,\n minLength: payload.min_length,\n maxLength: payload.max_length,\n value: payload.value,\n components: payload.components?.map((component) => bot.transformers.component(bot, component)),\n }\n}\n\n// THIS TRANSFORMER HAS A CIRCULAR REFERENCE TO CALL ITSELF FOR COMPONENTS SO AN AUTOMATED TYPE CAN NOT BE CREATED!\n\nexport interface Component {\n /** component type */\n type: MessageComponentTypes\n /** a developer-defined identifier for the component, max 100 characters */\n customId?: string\n /** whether this component is required to be filled, default true */\n required?: boolean\n /** whether the component is disabled, default false */\n disabled?: boolean\n /** For different styles/colors of the buttons */\n style?: ButtonStyles | TextStyles\n /** text that appears on the button (max 80 characters) */\n label?: string\n /** the dev-define value of the option, max 100 characters for select or 4000 for input. */\n value?: string\n /** Emoji object that includes fields of name, id, and animated supporting unicode and custom emojis. */\n emoji?: {\n /** Emoji id */\n id?: bigint\n /** Emoji name */\n name?: string\n /** Whether this emoji is animated */\n animated?: boolean\n }\n /** optional url for link-style buttons that can navigate a user to the web. Only type 5 Link buttons can have a url */\n url?: string\n /** List of channel types to include in a channel select menu options list */\n channelTypes?: ChannelTypes[]\n /** The choices! Maximum of 25 items. */\n options?: SelectOption[]\n /** A custom placeholder text if nothing is selected. Maximum 150 characters. */\n placeholder?: string\n /** The minimum number of items that must be selected. Default 1. Between 1-25. */\n minValues?: number\n /** The maximum number of items that can be selected. Default 1. Between 1-25. */\n maxValues?: number\n /** The minimum input length for a text input. Between 0-4000. */\n minLength?: number\n /** The maximum input length for a text input. Between 1-4000. */\n maxLength?: number\n /** a list of child components */\n components?: Component[]\n}\n"],"names":["transformComponent","bot","payload","type","customId","custom_id","disabled","style","label","emoji","id","transformers","snowflake","undefined","name","animated","url","channelTypes","channel_types","options","map","option","value","description","default","placeholder","minValues","min_values","maxValues","max_values","minLength","min_length","maxLength","max_length","components","component"],"mappings":"AAIA,OAAO,SAASA,mBAAmBC,GAAQ,EAAEC,OAAyB,EAAa;IACjF,OAAO;QACLC,MAAMD,QAAQC,IAAI;QAClBC,UAAUF,QAAQG,SAAS;QAC3BC,UAAUJ,QAAQI,QAAQ;QAC1BC,OAAOL,QAAQK,KAAK;QACpBC,OAAON,QAAQM,KAAK;QACpBC,OAAOP,QAAQO,KAAK,GAChB;YACEC,IAAIR,QAAQO,KAAK,CAACC,EAAE,GAAGT,IAAIU,YAAY,CAACC,SAAS,CAACV,QAAQO,KAAK,CAACC,EAAE,IAAIG,SAAS;YAC/EC,MAAMZ,QAAQO,KAAK,CAACK,IAAI;YACxBC,UAAUb,QAAQO,KAAK,CAACM,QAAQ;QAClC,IACAF,SAAS;QACbG,KAAKd,QAAQc,GAAG;QAChBC,cAAcf,QAAQgB,aAAa;QACnCC,SAASjB,QAAQiB,OAAO,EAAEC,IAAI,CAACC,SAAY,CAAA;gBACzCb,OAAOa,OAAOb,KAAK;gBACnBc,OAAOD,OAAOC,KAAK;gBACnBC,aAAaF,OAAOE,WAAW;gBAC/Bd,OAAOY,OAAOZ,KAAK,GACf;oBACEC,IAAIW,OAAOZ,KAAK,CAACC,EAAE,GAAGT,IAAIU,YAAY,CAACC,SAAS,CAACS,OAAOZ,KAAK,CAACC,EAAE,IAAIG,SAAS;oBAC7EC,MAAMO,OAAOZ,KAAK,CAACK,IAAI;oBACvBC,UAAUM,OAAOZ,KAAK,CAACM,QAAQ;gBACjC,IACAF,SAAS;gBACbW,SAASH,OAAOG,OAAO;YACzB,CAAA;QACAC,aAAavB,QAAQuB,WAAW;QAChCC,WAAWxB,QAAQyB,UAAU;QAC7BC,WAAW1B,QAAQ2B,UAAU;QAC7BC,WAAW5B,QAAQ6B,UAAU;QAC7BC,WAAW9B,QAAQ+B,UAAU;QAC7BX,OAAOpB,QAAQoB,KAAK;QACpBY,YAAYhC,QAAQgC,UAAU,EAAEd,IAAI,CAACe,YAAclC,IAAIU,YAAY,CAACwB,SAAS,CAAClC,KAAKkC;IACrF;AACF,CAAC"}
@@ -30,6 +30,7 @@ export declare function transformEmoji(bot: Bot, payload: DiscordEmoji): {
30
30
  remove: (bits: number) => import("./toggles/user.js").UserToggles;
31
31
  toJSON: () => number;
32
32
  } | undefined;
33
+ globalName?: string | undefined;
33
34
  premiumType?: import("@discordeno/types").PremiumTypes | undefined;
34
35
  publicFlags?: {
35
36
  bitfield: number;
@@ -1 +1 @@
1
- {"version":3,"file":"emoji.d.ts","sourceRoot":"","sources":["../../src/transformers/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7D;AAED,MAAM,WAAW,KAAM,SAAQ,UAAU,CAAC,OAAO,cAAc,CAAC;CAAG"}
1
+ {"version":3,"file":"emoji.d.ts","sourceRoot":"","sources":["../../src/transformers/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7D;AAED,MAAM,WAAW,KAAM,SAAQ,UAAU,CAAC,OAAO,cAAc,CAAC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../src/transformers/guild.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAoB,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+F9F;AAED,MAAM,WAAW,KAAM,SAAQ,UAAU,CAAC,OAAO,cAAc,CAAC;CAAG"}
1
+ {"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../src/transformers/guild.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAoB,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8F9F;AAED,MAAM,WAAW,KAAM,SAAQ,UAAU,CAAC,OAAO,cAAc,CAAC;CAAG"}
@@ -46,7 +46,10 @@ export function transformGuild(bot, payload) {
46
46
  icon: payload.guild.icon ? iconHashToBigInt(payload.guild.icon) : undefined,
47
47
  banner: payload.guild.banner ? iconHashToBigInt(payload.guild.banner) : undefined,
48
48
  splash: payload.guild.splash ? iconHashToBigInt(payload.guild.splash) : undefined,
49
- channels: new Collection(payload.guild.channels?.map((channel)=>{
49
+ channels: new Collection([
50
+ ...payload.guild.channels ?? [],
51
+ ...payload.guild.threads ?? []
52
+ ].map((channel)=>{
50
53
  const result = bot.transformers.channel(bot, {
51
54
  channel,
52
55
  guildId