@discordeno/bot 19.0.0-next.dea9d1d → 19.0.0-next.dfbee47

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 (136) hide show
  1. package/dist/bot.d.ts +7 -2
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +9 -5
  4. package/dist/bot.js.map +1 -1
  5. package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -1
  6. package/dist/handlers/channels/CHANNEL_CREATE.js +3 -1
  7. package/dist/handlers/channels/CHANNEL_CREATE.js.map +1 -1
  8. package/dist/handlers/channels/index.d.ts +1 -0
  9. package/dist/handlers/channels/index.d.ts.map +1 -1
  10. package/dist/handlers/channels/index.js +1 -0
  11. package/dist/handlers/channels/index.js.map +1 -1
  12. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +1 -1
  13. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js.map +1 -1
  14. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts +1 -1
  15. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
  16. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js.map +1 -1
  17. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +1 -1
  18. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -1
  19. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js.map +1 -1
  20. package/dist/helpers.d.ts +205 -0
  21. package/dist/helpers.d.ts.map +1 -0
  22. package/dist/helpers.js +553 -0
  23. package/dist/helpers.js.map +1 -0
  24. package/dist/index.d.ts +6 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +6 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/transformers/activity.d.ts +15 -15
  29. package/dist/transformers/application.d.ts +36 -5
  30. package/dist/transformers/application.d.ts.map +1 -1
  31. package/dist/transformers/applicationCommand.d.ts +36 -4
  32. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  33. package/dist/transformers/applicationCommandPermission.d.ts +1 -1
  34. package/dist/transformers/attachment.d.ts +3 -3
  35. package/dist/transformers/auditLogEntry.d.ts +6 -6
  36. package/dist/transformers/automodActionExecution.d.ts +6 -6
  37. package/dist/transformers/automodRule.d.ts +3 -2
  38. package/dist/transformers/automodRule.d.ts.map +1 -1
  39. package/dist/transformers/automodRule.js +1 -0
  40. package/dist/transformers/automodRule.js.map +1 -1
  41. package/dist/transformers/channel.d.ts +99 -36
  42. package/dist/transformers/channel.d.ts.map +1 -1
  43. package/dist/transformers/channel.js +74 -37
  44. package/dist/transformers/channel.js.map +1 -1
  45. package/dist/transformers/embed.d.ts +3 -3
  46. package/dist/transformers/emoji.d.ts +36 -5
  47. package/dist/transformers/emoji.d.ts.map +1 -1
  48. package/dist/transformers/guild.d.ts +3 -3
  49. package/dist/transformers/index.d.ts +2 -0
  50. package/dist/transformers/index.d.ts.map +1 -1
  51. package/dist/transformers/index.js +2 -0
  52. package/dist/transformers/index.js.map +1 -1
  53. package/dist/transformers/integration.d.ts +71 -9
  54. package/dist/transformers/integration.d.ts.map +1 -1
  55. package/dist/transformers/interaction.d.ts +81 -377
  56. package/dist/transformers/interaction.d.ts.map +1 -1
  57. package/dist/transformers/interaction.js +77 -27
  58. package/dist/transformers/interaction.js.map +1 -1
  59. package/dist/transformers/invite.d.ts +110 -17
  60. package/dist/transformers/invite.d.ts.map +1 -1
  61. package/dist/transformers/member.d.ts +31 -37
  62. package/dist/transformers/member.d.ts.map +1 -1
  63. package/dist/transformers/member.js +28 -32
  64. package/dist/transformers/member.js.map +1 -1
  65. package/dist/transformers/message.d.ts +2 -1
  66. package/dist/transformers/message.d.ts.map +1 -1
  67. package/dist/transformers/message.js +3 -3
  68. package/dist/transformers/message.js.map +1 -1
  69. package/dist/transformers/presence.d.ts +2 -14
  70. package/dist/transformers/presence.d.ts.map +1 -1
  71. package/dist/transformers/presence.js +1 -14
  72. package/dist/transformers/presence.js.map +1 -1
  73. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts +2 -2
  74. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
  75. package/dist/transformers/reverse/applicationCommandOptionChoice.js.map +1 -1
  76. package/dist/transformers/reverse/createApplicationCommand.d.ts.map +1 -1
  77. package/dist/transformers/reverse/createApplicationCommand.js.map +1 -1
  78. package/dist/transformers/reverse/index.d.ts +3 -0
  79. package/dist/transformers/reverse/index.d.ts.map +1 -1
  80. package/dist/transformers/reverse/index.js +3 -0
  81. package/dist/transformers/reverse/index.js.map +1 -1
  82. package/dist/transformers/reverse/member.d.ts +2 -1
  83. package/dist/transformers/reverse/member.d.ts.map +1 -1
  84. package/dist/transformers/reverse/member.js +9 -9
  85. package/dist/transformers/reverse/member.js.map +1 -1
  86. package/dist/transformers/role.d.ts +67 -13
  87. package/dist/transformers/role.d.ts.map +1 -1
  88. package/dist/transformers/role.js +51 -15
  89. package/dist/transformers/role.js.map +1 -1
  90. package/dist/transformers/scheduledEvent.d.ts +37 -6
  91. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  92. package/dist/transformers/sticker.d.ts +37 -6
  93. package/dist/transformers/sticker.d.ts.map +1 -1
  94. package/dist/transformers/team.d.ts +1 -1
  95. package/dist/transformers/template.d.ts +103 -114
  96. package/dist/transformers/template.d.ts.map +1 -1
  97. package/dist/transformers/toggles/Permissions.d.ts +9 -0
  98. package/dist/transformers/toggles/Permissions.d.ts.map +1 -0
  99. package/dist/transformers/toggles/Permissions.js +18 -0
  100. package/dist/transformers/toggles/Permissions.js.map +1 -0
  101. package/dist/transformers/toggles/ToggleBitfield.d.ts +1 -0
  102. package/dist/transformers/toggles/ToggleBitfield.d.ts.map +1 -1
  103. package/dist/transformers/toggles/ToggleBitfield.js +3 -0
  104. package/dist/transformers/toggles/ToggleBitfield.js.map +1 -1
  105. package/dist/transformers/toggles/channel.d.ts +33 -0
  106. package/dist/transformers/toggles/channel.d.ts.map +1 -0
  107. package/dist/transformers/toggles/channel.js +50 -0
  108. package/dist/transformers/toggles/channel.js.map +1 -0
  109. package/dist/transformers/toggles/guild.d.ts +0 -4
  110. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  111. package/dist/transformers/toggles/guild.js +0 -6
  112. package/dist/transformers/toggles/guild.js.map +1 -1
  113. package/dist/transformers/toggles/index.d.ts +2 -0
  114. package/dist/transformers/toggles/index.d.ts.map +1 -1
  115. package/dist/transformers/toggles/index.js +2 -0
  116. package/dist/transformers/toggles/index.js.map +1 -1
  117. package/dist/transformers/toggles/role.d.ts +4 -0
  118. package/dist/transformers/toggles/role.d.ts.map +1 -1
  119. package/dist/transformers/toggles/role.js +6 -0
  120. package/dist/transformers/toggles/role.js.map +1 -1
  121. package/dist/transformers/user.d.ts +42 -0
  122. package/dist/transformers/user.d.ts.map +1 -0
  123. package/dist/transformers/user.js +41 -0
  124. package/dist/transformers/user.js.map +1 -0
  125. package/dist/transformers/voiceRegion.d.ts +1 -1
  126. package/dist/transformers/voiceState.d.ts +3 -3
  127. package/dist/transformers/webhook.d.ts +38 -7
  128. package/dist/transformers/webhook.d.ts.map +1 -1
  129. package/dist/transformers.d.ts +53 -5
  130. package/dist/transformers.d.ts.map +1 -1
  131. package/dist/transformers.js +59 -3
  132. package/dist/transformers.js.map +1 -1
  133. package/dist/typings.d.ts +2 -1
  134. package/dist/typings.d.ts.map +1 -1
  135. package/dist/typings.js.map +1 -1
  136. package/package.json +5 -5
@@ -1,25 +1,80 @@
1
+ import { InteractionResponseTypes, InteractionTypes } from '@discordeno/types';
1
2
  import { Collection } from '@discordeno/utils';
2
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
3
+ const baseInteraction = {
4
+ async respond (response, options) {
5
+ let type = InteractionResponseTypes.ChannelMessageWithSource;
6
+ // If user provides a string, change it to a response object
7
+ if (typeof response === 'string') response = {
8
+ content: response
9
+ };
10
+ else if (response.title) type = InteractionResponseTypes.Modal;
11
+ else if (this.type === InteractionTypes.ApplicationCommandAutocomplete) type = InteractionResponseTypes.ApplicationCommandAutocompleteResult;
12
+ // If user wants to send a private message
13
+ if (type === InteractionResponseTypes.ChannelMessageWithSource && options?.isPrivate) response.flags = 64;
14
+ // Since this has already been given a response, any further responses must be followups.
15
+ if (this.acknowledged) return await this.bot?.rest.sendFollowupMessage(this.token, response);
16
+ // Modals cannot be chained
17
+ if (this.type === InteractionTypes.ModalSubmit && type === InteractionResponseTypes.Modal) throw new Error('Cannot respond to a modal interaction with another modal.');
18
+ // Autocomplete response can only be used for autocomplete interactions
19
+ if (this.type === InteractionTypes.ApplicationCommandAutocomplete && type !== InteractionResponseTypes.ApplicationCommandAutocompleteResult) throw new Error('Cannot respond to an autocomplete interaction with a modal or message.');
20
+ // If user has not already responded to this interaction we need to send an original response
21
+ this.acknowledged = true;
22
+ return await this.bot?.rest.sendInteractionResponse(this.id, this.token, {
23
+ type,
24
+ data: response
25
+ });
26
+ },
27
+ async edit (response) {
28
+ if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot edit an autocomplete interaction');
29
+ // If user provides a string, change it to a response object
30
+ if (typeof response === 'string') response = {
31
+ content: response
32
+ };
33
+ return await this.bot.rest.editOriginalInteractionResponse(this.token, response);
34
+ },
35
+ async defer (isPrivate) {
36
+ if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot defer an autocomplete interaction');
37
+ if (this.acknowledged) throw new Error('Cannot defer an already responded interaction');
38
+ // Determine the type of defer response
39
+ const type = this.type === InteractionTypes.MessageComponent ? InteractionResponseTypes.DeferredUpdateMessage : InteractionResponseTypes.DeferredChannelMessageWithSource;
40
+ // If user wants to send a private message
41
+ const data = {};
42
+ if (isPrivate) data.flags = 64;
43
+ this.acknowledged = true;
44
+ return await this.bot?.rest.sendInteractionResponse(this.id, this.token, {
45
+ type,
46
+ data
47
+ });
48
+ },
49
+ async delete (messageId) {
50
+ if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot delete an autocomplete interaction');
51
+ if (messageId) return await this.bot?.rest.deleteFollowupMessage(this.token, messageId);
52
+ else return await this.bot?.rest.deleteOriginalInteractionResponse(this.token);
53
+ }
54
+ };
3
55
  export function transformInteraction(bot, payload) {
4
56
  const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined;
5
57
  const user = bot.transformers.user(bot, payload.member?.user ?? payload.user);
6
- const interaction = {
7
- // UNTRANSFORMED STUFF HERE
8
- type: payload.type,
9
- token: payload.token,
10
- version: payload.version,
11
- locale: payload.locale,
12
- guildLocale: payload.guild_locale,
13
- // TRANSFORMED STUFF BELOW
14
- guildId,
15
- user,
16
- id: bot.transformers.snowflake(payload.id),
17
- applicationId: bot.transformers.snowflake(payload.application_id),
18
- appPermissions: payload.app_permissions ? bot.transformers.snowflake(payload.app_permissions) : undefined,
19
- message: payload.message ? bot.transformers.message(bot, payload.message) : undefined,
20
- channelId: payload.channel_id ? bot.transformers.snowflake(payload.channel_id) : undefined,
21
- member: payload.member && guildId ? bot.transformers.member(bot, payload.member, guildId, user.id) : undefined,
22
- data: payload.data ? {
58
+ const interaction = Object.create(baseInteraction);
59
+ const props = bot.transformers.desiredProperties.interaction;
60
+ interaction.bot = bot;
61
+ interaction.acknowledged = false;
62
+ if (payload.id && props.id) interaction.id = bot.transformers.snowflake(payload.id);
63
+ if (payload.application_id && props.applicationId) interaction.applicationId = bot.transformers.snowflake(payload.application_id);
64
+ if (payload.type && props.type) interaction.type = payload.type;
65
+ if (payload.token && props.token) interaction.token = payload.token;
66
+ if (payload.version && props.version) interaction.version = payload.version;
67
+ if (payload.locale && props.locale) interaction.locale = payload.locale;
68
+ if (payload.guild_locale && props.guildLocale) interaction.guildLocale = payload.guild_locale;
69
+ if (guildId && props.guildId) interaction.guildId = guildId;
70
+ if (props.user) interaction.user = user;
71
+ if (payload.app_permissions && props.appPermissions) interaction.appPermissions = bot.transformers.snowflake(payload.app_permissions);
72
+ if (payload.message && props.message) interaction.message = bot.transformers.message(bot, payload.message);
73
+ if (payload.channel_id && props.channelId) interaction.channelId = bot.transformers.snowflake(payload.channel_id);
74
+ if (payload.member && guildId && props.member) interaction.member = bot.transformers.member(bot, payload.member, guildId, user.id);
75
+ if (payload.data && props.data) {
76
+ interaction.data = {
77
+ type: payload.data.type,
23
78
  componentType: payload.data.component_type,
24
79
  customId: payload.data.custom_id,
25
80
  components: payload.data.components?.map((component)=>bot.transformers.component(bot, component)),
@@ -28,13 +83,11 @@ export function transformInteraction(bot, payload) {
28
83
  name: payload.data.name,
29
84
  resolved: payload.data.resolved ? transformInteractionDataResolved(bot, payload.data.resolved, guildId) : undefined,
30
85
  options: payload.data.options?.map((opt)=>bot.transformers.interactionDataOptions(bot, opt)),
31
- targetId: payload.data.target_id ? bot.transformers.snowflake(payload.data.target_id) : undefined,
32
- guildId: payload.data.guild_id ? bot.transformers.snowflake(payload.data.guild_id) : undefined
33
- } : undefined
34
- };
35
- return interaction;
86
+ targetId: payload.data.target_id ? bot.transformers.snowflake(payload.data.target_id) : undefined
87
+ };
88
+ }
89
+ return bot.transformers.customizers.interaction(bot, payload, interaction);
36
90
  }
37
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
38
91
  export function transformInteractionDataOption(bot, option) {
39
92
  const opt = {
40
93
  name: option.name,
@@ -45,7 +98,6 @@ export function transformInteractionDataOption(bot, option) {
45
98
  };
46
99
  return opt;
47
100
  }
48
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
49
101
  export function transformInteractionDataResolved(bot, resolved, guildId) {
50
102
  const transformed = {};
51
103
  if (resolved.messages) {
@@ -111,8 +163,6 @@ export function transformInteractionDataResolved(bot, resolved, guildId) {
111
163
  ];
112
164
  }));
113
165
  }
114
- // TODO: fix
115
- // return transformed as Optionalize<typeof transformed>
116
166
  return transformed;
117
167
  }
118
168
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transformers/interaction.ts"],"sourcesContent":["import type { ChannelTypes, DiscordInteraction, DiscordInteractionDataOption } from '@discordeno/types'\nimport { Collection } from '@discordeno/utils'\nimport type { Bot } from '../index.js'\nimport type { Optionalize } from '../optionalize.js'\nimport type { DiscordInteractionDataResolved } from '../typings.js'\nimport type { Attachment } from './attachment.js'\nimport type { Member, User } from './member.js'\nimport type { Message } from './message.js'\nimport type { Role } from './role.js'\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function transformInteraction(bot: Bot, payload: DiscordInteraction) {\n const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined\n const user = bot.transformers.user(bot, payload.member?.user ?? payload.user!)\n\n const interaction = {\n // UNTRANSFORMED STUFF HERE\n type: payload.type,\n token: payload.token,\n version: payload.version,\n locale: payload.locale,\n guildLocale: payload.guild_locale,\n\n // TRANSFORMED STUFF BELOW\n guildId,\n user,\n id: bot.transformers.snowflake(payload.id),\n applicationId: bot.transformers.snowflake(payload.application_id),\n appPermissions: payload.app_permissions ? bot.transformers.snowflake(payload.app_permissions) : undefined,\n message: payload.message ? bot.transformers.message(bot, payload.message) : undefined,\n channelId: payload.channel_id ? bot.transformers.snowflake(payload.channel_id) : undefined,\n member: payload.member && guildId ? bot.transformers.member(bot, payload.member, guildId, user.id) : undefined,\n\n data: payload.data\n ? {\n componentType: payload.data.component_type,\n customId: payload.data.custom_id,\n components: payload.data.components?.map((component) => bot.transformers.component(bot, component)),\n values: payload.data.values,\n id: payload.data.id ? bot.transformers.snowflake(payload.data.id) : undefined,\n name: payload.data.name,\n resolved: payload.data.resolved ? transformInteractionDataResolved(bot, payload.data.resolved, guildId) : undefined,\n options: payload.data.options?.map((opt) => bot.transformers.interactionDataOptions(bot, opt)),\n targetId: payload.data.target_id ? bot.transformers.snowflake(payload.data.target_id) : undefined,\n guildId: payload.data.guild_id ? bot.transformers.snowflake(payload.data.guild_id) : undefined,\n }\n : undefined,\n }\n\n return interaction as Optionalize<typeof interaction>\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function transformInteractionDataOption(bot: Bot, option: DiscordInteractionDataOption) {\n const opt = {\n name: option.name,\n type: option.type,\n value: option.value,\n options: option.options,\n focused: option.focused,\n }\n\n return opt as Optionalize<typeof opt>\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function transformInteractionDataResolved(bot: Bot, resolved: DiscordInteractionDataResolved, guildId?: bigint) {\n const transformed: {\n messages?: Collection<bigint, Message>\n users?: Collection<bigint, User>\n members?: Collection<bigint, Member>\n roles?: Collection<bigint, Role>\n channels?: Collection<bigint, { id: bigint; name: string; type: ChannelTypes; permissions: bigint }>\n attachments?: Collection<bigint, Attachment>\n } = {}\n\n if (resolved.messages) {\n transformed.messages = new Collection(\n Object.entries(resolved.messages).map(([id, value]) => {\n const message: Message = bot.transformers.message(bot, value)\n return [message.id, message]\n }),\n )\n }\n\n if (resolved.users) {\n transformed.users = new Collection(\n Object.entries(resolved.users).map(([id, value]) => {\n const user = bot.transformers.user(bot, value)\n return [user.id, user]\n }),\n )\n }\n\n if (guildId && resolved.members) {\n transformed.members = new Collection(\n Object.entries(resolved.members).map(([id, value]) => {\n const member: Member = bot.transformers.member(bot, value, guildId, bot.transformers.snowflake(id))\n return [member.id, member]\n }),\n )\n }\n\n if (guildId && resolved.roles) {\n transformed.roles = new Collection(\n Object.entries(resolved.roles).map(([id, value]) => {\n const role = bot.transformers.role(bot, { role: value, guildId })\n return [role.id, role]\n }),\n )\n }\n\n if (resolved.channels) {\n transformed.channels = new Collection(\n Object.entries(resolved.channels).map(([key, value]) => {\n const id = bot.transformers.snowflake(key)\n const channel = value as {\n id: string\n name: string\n type: ChannelTypes\n permissions: string\n }\n return [\n id,\n {\n id,\n name: channel.name,\n type: channel.type,\n permissions: bot.transformers.snowflake(channel.permissions),\n },\n ]\n }),\n )\n }\n\n if (resolved.attachments) {\n transformed.attachments = new Collection(\n Object.entries(resolved.attachments).map(([key, value]) => {\n const id = bot.transformers.snowflake(key)\n return [id, bot.transformers.attachment(bot, value)]\n }),\n )\n }\n\n // TODO: fix\n // return transformed as Optionalize<typeof transformed>\n return transformed as any\n}\n\nexport interface Interaction extends ReturnType<typeof transformInteraction> {}\nexport interface InteractionDataResolved extends ReturnType<typeof transformInteractionDataResolved> {}\nexport interface InteractionDataOption extends ReturnType<typeof transformInteractionDataOption> {}\n"],"names":["Collection","transformInteraction","bot","payload","guildId","guild_id","transformers","snowflake","undefined","user","member","interaction","type","token","version","locale","guildLocale","guild_locale","id","applicationId","application_id","appPermissions","app_permissions","message","channelId","channel_id","data","componentType","component_type","customId","custom_id","components","map","component","values","name","resolved","transformInteractionDataResolved","options","opt","interactionDataOptions","targetId","target_id","transformInteractionDataOption","option","value","focused","transformed","messages","Object","entries","users","members","roles","role","channels","key","channel","permissions","attachments","attachment"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/transformers/interaction.ts"],"sourcesContent":["import {\n InteractionResponseTypes,\n InteractionTypes,\n type ApplicationCommandOptionTypes,\n type ApplicationCommandTypes,\n type BigString,\n type CamelizedDiscordMessage,\n type ChannelTypes,\n type DiscordInteraction,\n type DiscordInteractionDataOption,\n type InteractionCallbackData,\n type MessageComponentTypes,\n} from '@discordeno/types'\nimport { Collection } from '@discordeno/utils'\nimport type { Bot, Component } from '../index.js'\nimport type { DiscordInteractionDataResolved } from '../typings.js'\nimport type { Attachment } from './attachment.js'\nimport type { Member } from './member.js'\nimport type { Message } from './message.js'\nimport type { Role } from './role.js'\nimport type { User } from './user.js'\n\nexport interface Interaction extends BaseInteraction {\n /** The bot object */\n bot: Bot\n /** Whether or not this interaction has been responded to. */\n acknowledged: boolean\n /** Id of the interaction */\n id: bigint\n /** Id of the application this interaction is for */\n applicationId: bigint\n /** The type of interaction */\n type: InteractionTypes\n /** The guild it was sent from */\n guildId?: bigint\n /** The channel it was sent from */\n channelId?: bigint\n /** Guild member data for the invoking user, including permissions */\n member?: Member\n /** User object for the invoking user, if invoked in a DM */\n user: User\n /** A continuation token for responding to the interaction */\n token: string\n /** Read-only property, always `1` */\n version: 1\n /** For the message the button was attached to */\n message?: Message\n /** the command data payload */\n data?: {\n type?: ApplicationCommandTypes\n componentType?: MessageComponentTypes\n customId?: string\n components?: Component[]\n values?: string[]\n name: string\n resolved?: InteractionDataResolved\n options?: InteractionDataOption[]\n id?: bigint\n targetId?: bigint\n // guildId?: bigint\n }\n /** The selected language of the invoking user */\n locale?: string\n /** The guild's preferred locale, if invoked in a guild */\n guildLocale?: string\n /** The computed permissions for a bot or app in the context of a specific interaction (including channel overwrites) */\n appPermissions: bigint\n}\n\nexport interface BaseInteraction {\n /** Sends a response to an interaction. */\n respond: (response: string | InteractionCallbackData, options?: { isPrivate?: boolean }) => Promise<CamelizedDiscordMessage | void>\n /** Edit the original response of an interaction. */\n edit: (response: string | InteractionCallbackData) => Promise<CamelizedDiscordMessage>\n /** Defer the interaction. */\n defer: (isPrivate?: boolean) => Promise<void>\n /** Delete the original interaction response or a followup message */\n delete: (messageId?: BigString) => Promise<void>\n}\n\nconst baseInteraction: Partial<Interaction> & BaseInteraction = {\n async respond(response, options) {\n let type = InteractionResponseTypes.ChannelMessageWithSource\n\n // If user provides a string, change it to a response object\n if (typeof response === 'string') response = { content: response }\n // If user provides an object, determine if it should be an autocomplete or a modal response\n else if (response.title) type = InteractionResponseTypes.Modal\n else if (this.type === InteractionTypes.ApplicationCommandAutocomplete) type = InteractionResponseTypes.ApplicationCommandAutocompleteResult\n\n // If user wants to send a private message\n if (type === InteractionResponseTypes.ChannelMessageWithSource && options?.isPrivate) response.flags = 64\n\n // Since this has already been given a response, any further responses must be followups.\n if (this.acknowledged) return await this.bot?.rest.sendFollowupMessage(this.token!, response)\n\n // Modals cannot be chained\n if (this.type === InteractionTypes.ModalSubmit && type === InteractionResponseTypes.Modal)\n throw new Error('Cannot respond to a modal interaction with another modal.')\n\n // Autocomplete response can only be used for autocomplete interactions\n if (this.type === InteractionTypes.ApplicationCommandAutocomplete && type !== InteractionResponseTypes.ApplicationCommandAutocompleteResult)\n throw new Error('Cannot respond to an autocomplete interaction with a modal or message.')\n\n // If user has not already responded to this interaction we need to send an original response\n this.acknowledged = true\n return await this.bot?.rest.sendInteractionResponse(this.id!, this.token!, { type, data: response })\n },\n\n async edit(response) {\n if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot edit an autocomplete interaction')\n\n // If user provides a string, change it to a response object\n if (typeof response === 'string') response = { content: response }\n\n return await this.bot!.rest.editOriginalInteractionResponse(this.token!, response)\n },\n\n async defer(isPrivate) {\n if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot defer an autocomplete interaction')\n if (this.acknowledged) throw new Error('Cannot defer an already responded interaction')\n\n // Determine the type of defer response\n const type =\n this.type === InteractionTypes.MessageComponent\n ? InteractionResponseTypes.DeferredUpdateMessage\n : InteractionResponseTypes.DeferredChannelMessageWithSource\n\n // If user wants to send a private message\n const data: InteractionCallbackData = {}\n if (isPrivate) data.flags = 64\n\n this.acknowledged = true\n return await this.bot?.rest.sendInteractionResponse(this.id!, this.token!, { type, data })\n },\n\n async delete(messageId?: BigString) {\n if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot delete an autocomplete interaction')\n\n if (messageId) return await this.bot?.rest.deleteFollowupMessage(this.token!, messageId)\n else return await this.bot?.rest.deleteOriginalInteractionResponse(this.token!)\n },\n}\n\nexport function transformInteraction(bot: Bot, payload: DiscordInteraction): Interaction {\n const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined\n const user = bot.transformers.user(bot, payload.member?.user ?? payload.user!)\n\n const interaction: Interaction = Object.create(baseInteraction)\n const props = bot.transformers.desiredProperties.interaction\n interaction.bot = bot\n interaction.acknowledged = false\n\n if (payload.id && props.id) interaction.id = bot.transformers.snowflake(payload.id)\n if (payload.application_id && props.applicationId) interaction.applicationId = bot.transformers.snowflake(payload.application_id)\n if (payload.type && props.type) interaction.type = payload.type\n if (payload.token && props.token) interaction.token = payload.token\n if (payload.version && props.version) interaction.version = payload.version\n if (payload.locale && props.locale) interaction.locale = payload.locale\n if (payload.guild_locale && props.guildLocale) interaction.guildLocale = payload.guild_locale\n if (guildId && props.guildId) interaction.guildId = guildId\n if (props.user) interaction.user = user\n if (payload.app_permissions && props.appPermissions) interaction.appPermissions = bot.transformers.snowflake(payload.app_permissions)\n if (payload.message && props.message) interaction.message = bot.transformers.message(bot, payload.message)\n if (payload.channel_id && props.channelId) interaction.channelId = bot.transformers.snowflake(payload.channel_id)\n if (payload.member && guildId && props.member) interaction.member = bot.transformers.member(bot, payload.member, guildId, user.id)\n if (payload.data && props.data) {\n interaction.data = {\n type: payload.data.type,\n componentType: payload.data.component_type,\n customId: payload.data.custom_id,\n components: payload.data.components?.map((component) => bot.transformers.component(bot, component)),\n values: payload.data.values,\n id: payload.data.id ? bot.transformers.snowflake(payload.data.id) : undefined,\n name: payload.data.name,\n resolved: payload.data.resolved ? transformInteractionDataResolved(bot, payload.data.resolved, guildId) : undefined,\n options: payload.data.options?.map((opt) => bot.transformers.interactionDataOptions(bot, opt)),\n targetId: payload.data.target_id ? bot.transformers.snowflake(payload.data.target_id) : undefined,\n // guildId: payload.data.guild_id ? bot.transformers.snowflake(payload.data.guild_id) : undefined,\n }\n }\n\n return bot.transformers.customizers.interaction(bot, payload, interaction)\n}\n\nexport function transformInteractionDataOption(bot: Bot, option: DiscordInteractionDataOption): InteractionDataOption {\n const opt = {\n name: option.name,\n type: option.type,\n value: option.value,\n options: option.options,\n focused: option.focused,\n }\n\n return opt\n}\n\nexport function transformInteractionDataResolved(bot: Bot, resolved: DiscordInteractionDataResolved, guildId?: bigint): InteractionDataResolved {\n const transformed: InteractionDataResolved = {}\n\n if (resolved.messages) {\n transformed.messages = new Collection(\n Object.entries(resolved.messages).map(([id, value]) => {\n const message: Message = bot.transformers.message(bot, value)\n return [message.id, message]\n }),\n )\n }\n\n if (resolved.users) {\n transformed.users = new Collection(\n Object.entries(resolved.users).map(([id, value]) => {\n const user = bot.transformers.user(bot, value)\n return [user.id, user]\n }),\n )\n }\n\n if (guildId && resolved.members) {\n transformed.members = new Collection(\n Object.entries(resolved.members).map(([id, value]) => {\n const member: Member = bot.transformers.member(bot, value, guildId, bot.transformers.snowflake(id))\n return [member.id, member]\n }),\n )\n }\n\n if (guildId && resolved.roles) {\n transformed.roles = new Collection(\n Object.entries(resolved.roles).map(([id, value]) => {\n const role = bot.transformers.role(bot, { role: value, guildId })\n return [role.id, role]\n }),\n )\n }\n\n if (resolved.channels) {\n transformed.channels = new Collection(\n Object.entries(resolved.channels).map(([key, value]) => {\n const id = bot.transformers.snowflake(key)\n const channel = value as {\n id: string\n name: string\n type: ChannelTypes\n permissions: string\n }\n return [\n id,\n {\n id,\n name: channel.name,\n type: channel.type,\n permissions: bot.transformers.snowflake(channel.permissions),\n },\n ]\n }),\n )\n }\n\n if (resolved.attachments) {\n transformed.attachments = new Collection(\n Object.entries(resolved.attachments).map(([key, value]) => {\n const id = bot.transformers.snowflake(key)\n return [id, bot.transformers.attachment(bot, value)]\n }),\n )\n }\n\n return transformed\n}\n\nexport interface InteractionDataResolved {\n messages?: Collection<bigint, Message>\n users?: Collection<bigint, User>\n members?: Collection<bigint, Member>\n roles?: Collection<bigint, Role>\n channels?: Collection<bigint, { id: bigint; name: string; type: ChannelTypes; permissions: bigint }>\n attachments?: Collection<bigint, Attachment>\n}\n\nexport interface InteractionDataOption {\n name: string\n type: ApplicationCommandOptionTypes\n value?: string | number | boolean\n options?: InteractionDataOption[]\n focused?: boolean\n}\n"],"names":["InteractionResponseTypes","InteractionTypes","Collection","baseInteraction","respond","response","options","type","ChannelMessageWithSource","content","title","Modal","ApplicationCommandAutocomplete","ApplicationCommandAutocompleteResult","isPrivate","flags","acknowledged","bot","rest","sendFollowupMessage","token","ModalSubmit","Error","sendInteractionResponse","id","data","edit","editOriginalInteractionResponse","defer","MessageComponent","DeferredUpdateMessage","DeferredChannelMessageWithSource","delete","messageId","deleteFollowupMessage","deleteOriginalInteractionResponse","transformInteraction","payload","guildId","guild_id","transformers","snowflake","undefined","user","member","interaction","Object","create","props","desiredProperties","application_id","applicationId","version","locale","guild_locale","guildLocale","app_permissions","appPermissions","message","channel_id","channelId","componentType","component_type","customId","custom_id","components","map","component","values","name","resolved","transformInteractionDataResolved","opt","interactionDataOptions","targetId","target_id","customizers","transformInteractionDataOption","option","value","focused","transformed","messages","entries","users","members","roles","role","channels","key","channel","permissions","attachments","attachment"],"mappings":"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"}
@@ -3,28 +3,90 @@ import type { Bot } from '../index.js';
3
3
  export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate): {
4
4
  guildId?: bigint | undefined;
5
5
  inviter?: {
6
- flags?: import("@discordeno/types").UserFlags | undefined;
7
6
  locale?: string | undefined;
7
+ flags?: {
8
+ bitfield: number;
9
+ contains: (bits: number) => boolean;
10
+ add: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
11
+ remove: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
12
+ toJSON: () => number;
13
+ } | undefined;
8
14
  avatar?: bigint | undefined;
9
15
  email?: string | undefined;
16
+ banner?: bigint | undefined;
17
+ toggles?: {
18
+ bot: boolean;
19
+ system: boolean;
20
+ verified: boolean;
21
+ mfaEnabled: boolean;
22
+ bitfield: number;
23
+ list: () => Record<"bot" | "system" | "verified" | "mfaEnabled", boolean>;
24
+ has: (permissions: "bot" | "system" | "verified" | "mfaEnabled" | ("bot" | "system" | "verified" | "mfaEnabled")[]) => boolean;
25
+ contains: (bits: number) => boolean;
26
+ add: (bits: number) => import("./toggles/user.js").UserToggles;
27
+ remove: (bits: number) => import("./toggles/user.js").UserToggles;
28
+ toJSON: () => number;
29
+ } | undefined;
10
30
  premiumType?: import("@discordeno/types").PremiumTypes | undefined;
11
- publicFlags?: import("@discordeno/types").UserFlags | undefined;
12
- id: bigint;
31
+ publicFlags?: {
32
+ bitfield: number;
33
+ contains: (bits: number) => boolean;
34
+ add: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
35
+ remove: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
36
+ toJSON: () => number;
37
+ } | undefined;
38
+ accentColor?: number | undefined;
13
39
  username: string;
40
+ id: bigint;
14
41
  discriminator: string;
15
- toggles: import("./index.js").UserToggles;
42
+ bot: boolean;
43
+ system: boolean;
44
+ verified: boolean;
45
+ tag: string;
46
+ mfaEnabled: boolean;
16
47
  } | undefined;
17
48
  targetUser?: {
18
- flags?: import("@discordeno/types").UserFlags | undefined;
19
49
  locale?: string | undefined;
50
+ flags?: {
51
+ bitfield: number;
52
+ contains: (bits: number) => boolean;
53
+ add: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
54
+ remove: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
55
+ toJSON: () => number;
56
+ } | undefined;
20
57
  avatar?: bigint | undefined;
21
58
  email?: string | undefined;
59
+ banner?: bigint | undefined;
60
+ toggles?: {
61
+ bot: boolean;
62
+ system: boolean;
63
+ verified: boolean;
64
+ mfaEnabled: boolean;
65
+ bitfield: number;
66
+ list: () => Record<"bot" | "system" | "verified" | "mfaEnabled", boolean>;
67
+ has: (permissions: "bot" | "system" | "verified" | "mfaEnabled" | ("bot" | "system" | "verified" | "mfaEnabled")[]) => boolean;
68
+ contains: (bits: number) => boolean;
69
+ add: (bits: number) => import("./toggles/user.js").UserToggles;
70
+ remove: (bits: number) => import("./toggles/user.js").UserToggles;
71
+ toJSON: () => number;
72
+ } | undefined;
22
73
  premiumType?: import("@discordeno/types").PremiumTypes | undefined;
23
- publicFlags?: import("@discordeno/types").UserFlags | undefined;
24
- id: bigint;
74
+ publicFlags?: {
75
+ bitfield: number;
76
+ contains: (bits: number) => boolean;
77
+ add: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
78
+ remove: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
79
+ toJSON: () => number;
80
+ } | undefined;
81
+ accentColor?: number | undefined;
25
82
  username: string;
83
+ id: bigint;
26
84
  discriminator: string;
27
- toggles: import("./index.js").UserToggles;
85
+ bot: boolean;
86
+ system: boolean;
87
+ verified: boolean;
88
+ tag: string;
89
+ mfaEnabled: boolean;
28
90
  } | undefined;
29
91
  targetApplication?: {
30
92
  flags?: import("@discordeno/types").ApplicationFlags | undefined;
@@ -36,16 +98,47 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
36
98
  slug?: string | undefined;
37
99
  coverImage?: bigint | undefined;
38
100
  owner?: {
39
- flags?: import("@discordeno/types").UserFlags | undefined;
40
101
  locale?: string | undefined;
102
+ flags?: {
103
+ bitfield: number;
104
+ contains: (bits: number) => boolean;
105
+ add: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
106
+ remove: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
107
+ toJSON: () => number;
108
+ } | undefined;
41
109
  avatar?: bigint | undefined;
42
110
  email?: string | undefined;
111
+ banner?: bigint | undefined;
112
+ toggles?: {
113
+ bot: boolean;
114
+ system: boolean;
115
+ verified: boolean;
116
+ mfaEnabled: boolean;
117
+ bitfield: number;
118
+ list: () => Record<"bot" | "system" | "verified" | "mfaEnabled", boolean>;
119
+ has: (permissions: "bot" | "system" | "verified" | "mfaEnabled" | ("bot" | "system" | "verified" | "mfaEnabled")[]) => boolean;
120
+ contains: (bits: number) => boolean;
121
+ add: (bits: number) => import("./toggles/user.js").UserToggles;
122
+ remove: (bits: number) => import("./toggles/user.js").UserToggles;
123
+ toJSON: () => number;
124
+ } | undefined;
43
125
  premiumType?: import("@discordeno/types").PremiumTypes | undefined;
44
- publicFlags?: import("@discordeno/types").UserFlags | undefined;
45
- id: bigint;
126
+ publicFlags?: {
127
+ bitfield: number;
128
+ contains: (bits: number) => boolean;
129
+ add: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
130
+ remove: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
131
+ toJSON: () => number;
132
+ } | undefined;
133
+ accentColor?: number | undefined;
46
134
  username: string;
135
+ id: bigint;
47
136
  discriminator: string;
48
- toggles: import("./index.js").UserToggles;
137
+ bot: boolean;
138
+ system: boolean;
139
+ verified: boolean;
140
+ tag: string;
141
+ mfaEnabled: boolean;
49
142
  } | undefined;
50
143
  team?: {
51
144
  icon?: bigint | undefined;
@@ -56,7 +149,7 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
56
149
  membershipState: import("@discordeno/types").TeamMembershipStates;
57
150
  permissions: "*"[];
58
151
  teamId: bigint;
59
- user: import("./member.js").User;
152
+ user: import("./user.js").User;
60
153
  }[];
61
154
  } | undefined;
62
155
  guildId?: bigint | undefined;
@@ -67,14 +160,14 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
67
160
  botRequireCodeGrant: boolean;
68
161
  verifyKey: string;
69
162
  } | undefined;
70
- createdAt: number;
163
+ channelId: bigint;
71
164
  code: string;
165
+ createdAt: number;
166
+ targetType: import("@discordeno/types").TargetTypes;
72
167
  uses: number;
73
168
  temporary: boolean;
74
- channelId: bigint;
75
- maxAge: number;
76
169
  maxUses: number;
77
- targetType: import("@discordeno/types").TargetTypes;
170
+ maxAge: number;
78
171
  };
79
172
  export interface Invite extends ReturnType<typeof transformInvite> {
80
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"invite.d.ts","sourceRoot":"","sources":["../../src/transformers/invite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAItC,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCpE;AAED,MAAM,WAAW,MAAO,SAAQ,UAAU,CAAC,OAAO,eAAe,CAAC;CAAG"}
1
+ {"version":3,"file":"invite.d.ts","sourceRoot":"","sources":["../../src/transformers/invite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAItC,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCpE;AAED,MAAM,WAAW,MAAO,SAAQ,UAAU,CAAC,OAAO,eAAe,CAAC;CAAG"}
@@ -1,45 +1,39 @@
1
- import type { DiscordMember, DiscordUser } from '@discordeno/types';
1
+ import type { BigString, DiscordMember } from '@discordeno/types';
2
2
  import type { Bot } from '../bot.js';
3
+ import { Permissions } from './toggles/Permissions.js';
3
4
  import { MemberToggles } from './toggles/member.js';
4
- import { UserToggles } from './toggles/user.js';
5
- export declare function transformUser(bot: Bot, payload: DiscordUser): {
6
- flags?: import("@discordeno/types").UserFlags | undefined;
7
- locale?: string | undefined;
8
- avatar?: bigint | undefined;
9
- email?: string | undefined;
10
- premiumType?: import("@discordeno/types").PremiumTypes | undefined;
11
- publicFlags?: import("@discordeno/types").UserFlags | undefined;
12
- id: bigint;
13
- username: string;
14
- discriminator: string;
15
- toggles: UserToggles;
16
- };
17
- export declare function transformMember(bot: Bot, payload: DiscordMember, guildId: bigint, userId: bigint): {
18
- avatar?: bigint | undefined;
19
- permissions?: bigint | undefined;
20
- nick?: string | undefined;
21
- user?: {
22
- flags?: import("@discordeno/types").UserFlags | undefined;
23
- locale?: string | undefined;
24
- avatar?: bigint | undefined;
25
- email?: string | undefined;
26
- premiumType?: import("@discordeno/types").PremiumTypes | undefined;
27
- publicFlags?: import("@discordeno/types").UserFlags | undefined;
28
- id: bigint;
29
- username: string;
30
- discriminator: string;
31
- toggles: UserToggles;
32
- } | undefined;
33
- premiumSince?: number | undefined;
34
- communicationDisabledUntil?: number | undefined;
5
+ import type { User } from './user.js';
6
+ export declare function transformMember(bot: Bot, payload: DiscordMember, guildId: BigString, userId: BigString): Member;
7
+ export interface BaseMember {
8
+ /** Whether the user is deafened in voice channels */
9
+ deaf?: boolean;
10
+ /** Whether the user is muted in voice channels */
11
+ mute?: boolean;
12
+ /** Whether the user has not yet passed the guild's Membership Screening requirements */
13
+ pending?: boolean;
14
+ }
15
+ export interface Member extends BaseMember {
16
+ /** The user id of the member. */
35
17
  id: bigint;
36
- toggles: MemberToggles;
18
+ /** The compressed form of all the boolean values on this user. */
19
+ toggles?: MemberToggles;
20
+ /** The guild id where this member is. */
37
21
  guildId: bigint;
22
+ /** The user this guild member represents */
23
+ user?: User;
24
+ /** This users guild nickname */
25
+ nick?: string;
26
+ /** The members custom avatar for this server. */
27
+ avatar?: bigint;
28
+ /** Array of role object ids */
38
29
  roles: bigint[];
30
+ /** When the user joined the guild */
39
31
  joinedAt: number;
40
- };
41
- export interface Member extends ReturnType<typeof transformMember> {
42
- }
43
- export interface User extends ReturnType<typeof transformUser> {
32
+ /** When the user started boosting the guild */
33
+ premiumSince?: number;
34
+ /** The permissions this member has in the guild. Only present on interaction events. */
35
+ permissions?: Permissions;
36
+ /** when the user's timeout will expire and the user will be able to communicate in the guild again (set null to remove timeout), null or a time in the past if the user is not timed out */
37
+ communicationDisabledUntil?: number;
44
38
  }
45
39
  //# sourceMappingURL=member.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../src/transformers/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW;;;;;;;;;;;EAe3D;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;EAgBhG;AAED,MAAM,WAAW,MAAO,SAAQ,UAAU,CAAC,OAAO,eAAe,CAAC;CAAG;AACrE,MAAM,WAAW,IAAK,SAAQ,UAAU,CAAC,OAAO,aAAa,CAAC;CAAG"}
1
+ {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../src/transformers/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAcrC,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,CAoB/G;AAED,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,MAAO,SAAQ,UAAU;IACxC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,kEAAkE;IAClE,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,4CAA4C;IAC5C,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+BAA+B;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wFAAwF;IACxF,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,4LAA4L;IAC5L,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC"}
@@ -1,38 +1,34 @@
1
1
  import { iconHashToBigInt } from '@discordeno/utils';
2
+ import { Permissions } from './toggles/Permissions.js';
2
3
  import { MemberToggles } from './toggles/member.js';
3
- import { UserToggles } from './toggles/user.js';
4
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
5
- export function transformUser(bot, payload) {
6
- const user = {
7
- id: bot.transformers.snowflake(payload.id || ''),
8
- username: payload.username,
9
- discriminator: payload.discriminator,
10
- avatar: payload.avatar ? iconHashToBigInt(payload.avatar) : undefined,
11
- locale: payload.locale,
12
- email: payload.email ?? undefined,
13
- flags: payload.flags,
14
- premiumType: payload.premium_type,
15
- publicFlags: payload.public_flags,
16
- toggles: new UserToggles(payload)
17
- };
18
- return user;
19
- }
20
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
4
+ const baseMember = {
5
+ get deaf () {
6
+ return !!this.toggles?.has('deaf');
7
+ },
8
+ get mute () {
9
+ return !!this.toggles?.has('mute');
10
+ },
11
+ get pending () {
12
+ return !!this.toggles?.has('pending');
13
+ }
14
+ };
21
15
  export function transformMember(bot, payload, guildId, userId) {
22
- const member = {
23
- id: userId,
24
- guildId,
25
- user: payload.user ? bot.transformers.user(bot, payload.user) : undefined,
26
- nick: payload.nick ?? undefined,
27
- roles: payload.roles.map((id)=>bot.transformers.snowflake(id)),
28
- joinedAt: Date.parse(payload.joined_at),
29
- premiumSince: payload.premium_since ? Date.parse(payload.premium_since) : undefined,
30
- avatar: payload.avatar ? iconHashToBigInt(payload.avatar) : undefined,
31
- permissions: payload.permissions ? bot.transformers.snowflake(payload.permissions) : undefined,
32
- communicationDisabledUntil: payload.communication_disabled_until ? Date.parse(payload.communication_disabled_until) : undefined,
33
- toggles: new MemberToggles(payload)
34
- };
35
- return member;
16
+ const member = Object.create(baseMember);
17
+ const props = bot.transformers.desiredProperties.member;
18
+ if (userId && props.id) member.id = typeof userId === "string" ? bot.transformers.snowflake(userId) : userId;
19
+ if (guildId && props.guildId) member.guildId = typeof guildId === "string" ? bot.transformers.snowflake(guildId) : guildId;
20
+ if (payload.user && props.user) member.user = bot.transformers.user(bot, payload.user);
21
+ if (payload.nick && props.nick) member.nick = payload.nick;
22
+ if (payload.roles && props.roles) member.roles = payload.roles.map((id)=>bot.transformers.snowflake(id));
23
+ if (payload.joined_at && props.joinedAt) member.joinedAt = Date.parse(payload.joined_at);
24
+ if (payload.premium_since && props.premiumSince) member.premiumSince = Date.parse(payload.premium_since);
25
+ if (payload.communication_disabled_until && props.communicationDisabledUntil) member.communicationDisabledUntil = Date.parse(payload.communication_disabled_until);
26
+ if (payload.avatar && props.avatar) member.avatar = iconHashToBigInt(payload.avatar);
27
+ if (payload.permissions && props.permissions) member.permissions = new Permissions(payload.permissions);
28
+ if (props.deaf || props.mute || props.pending) {
29
+ member.toggles = new MemberToggles(payload);
30
+ }
31
+ return bot.transformers.customizers.member(bot, payload, member);
36
32
  }
37
33
 
38
34
  //# sourceMappingURL=member.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transformers/member.ts"],"sourcesContent":["import type { DiscordMember, DiscordUser } from '@discordeno/types'\nimport { iconHashToBigInt } from '@discordeno/utils'\nimport type { Bot } from '../bot.js'\nimport type { Optionalize } from '../optionalize.js'\nimport { MemberToggles } from './toggles/member.js'\nimport { UserToggles } from './toggles/user.js'\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function transformUser(bot: Bot, payload: DiscordUser) {\n const user = {\n id: bot.transformers.snowflake(payload.id || ''),\n username: payload.username,\n discriminator: payload.discriminator,\n avatar: payload.avatar ? iconHashToBigInt(payload.avatar) : undefined,\n locale: payload.locale,\n email: payload.email ?? undefined,\n flags: payload.flags,\n premiumType: payload.premium_type,\n publicFlags: payload.public_flags,\n toggles: new UserToggles(payload),\n }\n\n return user as Optionalize<typeof user>\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function transformMember(bot: Bot, payload: DiscordMember, guildId: bigint, userId: bigint) {\n const member = {\n id: userId,\n guildId,\n user: payload.user ? bot.transformers.user(bot, payload.user) : undefined,\n nick: payload.nick ?? undefined,\n roles: payload.roles.map((id) => bot.transformers.snowflake(id)),\n joinedAt: Date.parse(payload.joined_at),\n premiumSince: payload.premium_since ? Date.parse(payload.premium_since) : undefined,\n avatar: payload.avatar ? iconHashToBigInt(payload.avatar) : undefined,\n permissions: payload.permissions ? bot.transformers.snowflake(payload.permissions) : undefined,\n communicationDisabledUntil: payload.communication_disabled_until ? Date.parse(payload.communication_disabled_until) : undefined,\n toggles: new MemberToggles(payload),\n }\n\n return member as Optionalize<typeof member>\n}\n\nexport interface Member extends ReturnType<typeof transformMember> {}\nexport interface User extends ReturnType<typeof transformUser> {}\n"],"names":["iconHashToBigInt","MemberToggles","UserToggles","transformUser","bot","payload","user","id","transformers","snowflake","username","discriminator","avatar","undefined","locale","email","flags","premiumType","premium_type","publicFlags","public_flags","toggles","transformMember","guildId","userId","member","nick","roles","map","joinedAt","Date","parse","joined_at","premiumSince","premium_since","permissions","communicationDisabledUntil","communication_disabled_until"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,oBAAmB;AAGpD,SAASC,aAAa,QAAQ,sBAAqB;AACnD,SAASC,WAAW,QAAQ,oBAAmB;AAE/C,4EAA4E;AAC5E,OAAO,SAASC,cAAcC,GAAQ,EAAEC,OAAoB,EAAE;IAC5D,MAAMC,OAAO;QACXC,IAAIH,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQE,EAAE,IAAI;QAC7CG,UAAUL,QAAQK,QAAQ;QAC1BC,eAAeN,QAAQM,aAAa;QACpCC,QAAQP,QAAQO,MAAM,GAAGZ,iBAAiBK,QAAQO,MAAM,IAAIC,SAAS;QACrEC,QAAQT,QAAQS,MAAM;QACtBC,OAAOV,QAAQU,KAAK,IAAIF;QACxBG,OAAOX,QAAQW,KAAK;QACpBC,aAAaZ,QAAQa,YAAY;QACjCC,aAAad,QAAQe,YAAY;QACjCC,SAAS,IAAInB,YAAYG;IAC3B;IAEA,OAAOC;AACT,CAAC;AAED,4EAA4E;AAC5E,OAAO,SAASgB,gBAAgBlB,GAAQ,EAAEC,OAAsB,EAAEkB,OAAe,EAAEC,MAAc,EAAE;IACjG,MAAMC,SAAS;QACblB,IAAIiB;QACJD;QACAjB,MAAMD,QAAQC,IAAI,GAAGF,IAAII,YAAY,CAACF,IAAI,CAACF,KAAKC,QAAQC,IAAI,IAAIO,SAAS;QACzEa,MAAMrB,QAAQqB,IAAI,IAAIb;QACtBc,OAAOtB,QAAQsB,KAAK,CAACC,GAAG,CAAC,CAACrB,KAAOH,IAAII,YAAY,CAACC,SAAS,CAACF;QAC5DsB,UAAUC,KAAKC,KAAK,CAAC1B,QAAQ2B,SAAS;QACtCC,cAAc5B,QAAQ6B,aAAa,GAAGJ,KAAKC,KAAK,CAAC1B,QAAQ6B,aAAa,IAAIrB,SAAS;QACnFD,QAAQP,QAAQO,MAAM,GAAGZ,iBAAiBK,QAAQO,MAAM,IAAIC,SAAS;QACrEsB,aAAa9B,QAAQ8B,WAAW,GAAG/B,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQ8B,WAAW,IAAItB,SAAS;QAC9FuB,4BAA4B/B,QAAQgC,4BAA4B,GAAGP,KAAKC,KAAK,CAAC1B,QAAQgC,4BAA4B,IAAIxB,SAAS;QAC/HQ,SAAS,IAAIpB,cAAcI;IAC7B;IAEA,OAAOoB;AACT,CAAC"}
1
+ {"version":3,"sources":["../../src/transformers/member.ts"],"sourcesContent":["import type { BigString, DiscordMember } from '@discordeno/types'\nimport { iconHashToBigInt } from '@discordeno/utils'\nimport type { Bot } from '../bot.js'\nimport { Permissions } from './toggles/Permissions.js'\nimport { MemberToggles } from './toggles/member.js'\nimport type { User } from './user.js'\n\nconst baseMember: Partial<Member> & BaseMember = {\n get deaf() {\n return !!this.toggles?.has('deaf')\n },\n get mute() {\n return !!this.toggles?.has('mute')\n },\n get pending() {\n return !!this.toggles?.has('pending')\n },\n}\n\nexport function transformMember(bot: Bot, payload: DiscordMember, guildId: BigString, userId: BigString): Member {\n const member: Member = Object.create(baseMember)\n const props = bot.transformers.desiredProperties.member\n\n if (userId && props.id) member.id = typeof userId === \"string\" ? bot.transformers.snowflake(userId) : userId\n if (guildId && props.guildId) member.guildId = typeof guildId === \"string\" ? bot.transformers.snowflake(guildId) : guildId\n if (payload.user && props.user) member.user = bot.transformers.user(bot, payload.user)\n if (payload.nick && props.nick) member.nick = payload.nick\n if (payload.roles && props.roles) member.roles = payload.roles.map((id) => bot.transformers.snowflake(id))\n if (payload.joined_at && props.joinedAt) member.joinedAt = Date.parse(payload.joined_at)\n if (payload.premium_since && props.premiumSince) member.premiumSince = Date.parse(payload.premium_since)\n if (payload.communication_disabled_until && props.communicationDisabledUntil)\n member.communicationDisabledUntil = Date.parse(payload.communication_disabled_until)\n if (payload.avatar && props.avatar) member.avatar = iconHashToBigInt(payload.avatar)\n if (payload.permissions && props.permissions) member.permissions = new Permissions(payload.permissions)\n if (props.deaf || props.mute || props.pending) {\n member.toggles = new MemberToggles(payload)\n }\n\n return bot.transformers.customizers.member(bot, payload, member)\n}\n\nexport interface BaseMember {\n /** Whether the user is deafened in voice channels */\n deaf?: boolean\n /** Whether the user is muted in voice channels */\n mute?: boolean\n /** Whether the user has not yet passed the guild's Membership Screening requirements */\n pending?: boolean\n}\n\nexport interface Member extends BaseMember {\n /** The user id of the member. */\n id: bigint\n /** The compressed form of all the boolean values on this user. */\n toggles?: MemberToggles\n /** The guild id where this member is. */\n guildId: bigint\n /** The user this guild member represents */\n user?: User\n /** This users guild nickname */\n nick?: string\n /** The members custom avatar for this server. */\n avatar?: bigint\n /** Array of role object ids */\n roles: bigint[]\n /** When the user joined the guild */\n joinedAt: number\n /** When the user started boosting the guild */\n premiumSince?: number\n /** The permissions this member has in the guild. Only present on interaction events. */\n permissions?: Permissions\n /** when the user's timeout will expire and the user will be able to communicate in the guild again (set null to remove timeout), null or a time in the past if the user is not timed out */\n communicationDisabledUntil?: number\n}\n"],"names":["iconHashToBigInt","Permissions","MemberToggles","baseMember","deaf","toggles","has","mute","pending","transformMember","bot","payload","guildId","userId","member","Object","create","props","transformers","desiredProperties","id","snowflake","user","nick","roles","map","joined_at","joinedAt","Date","parse","premium_since","premiumSince","communication_disabled_until","communicationDisabledUntil","avatar","permissions","customizers"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,oBAAmB;AAEpD,SAASC,WAAW,QAAQ,2BAA0B;AACtD,SAASC,aAAa,QAAQ,sBAAqB;AAGnD,MAAMC,aAA2C;IAC/C,IAAIC,QAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAACC,OAAO,EAAEC,IAAI;IAC7B;IACA,IAAIC,QAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAACF,OAAO,EAAEC,IAAI;IAC7B;IACA,IAAIE,WAAU;QACZ,OAAO,CAAC,CAAC,IAAI,CAACH,OAAO,EAAEC,IAAI;IAC7B;AACF;AAEA,OAAO,SAASG,gBAAgBC,GAAQ,EAAEC,OAAsB,EAAEC,OAAkB,EAAEC,MAAiB,EAAU;IAC/G,MAAMC,SAAiBC,OAAOC,MAAM,CAACb;IACrC,MAAMc,QAAQP,IAAIQ,YAAY,CAACC,iBAAiB,CAACL,MAAM;IAEvD,IAAID,UAAUI,MAAMG,EAAE,EAAEN,OAAOM,EAAE,GAAG,OAAOP,WAAW,WAAYH,IAAIQ,YAAY,CAACG,SAAS,CAACR,UAAUA,MAAM;IAC7G,IAAID,WAAWK,MAAML,OAAO,EAAEE,OAAOF,OAAO,GAAG,OAAOA,YAAY,WAAYF,IAAIQ,YAAY,CAACG,SAAS,CAACT,WAAWA,OAAO;IAC3H,IAAID,QAAQW,IAAI,IAAIL,MAAMK,IAAI,EAAER,OAAOQ,IAAI,GAAGZ,IAAIQ,YAAY,CAACI,IAAI,CAACZ,KAAKC,QAAQW,IAAI;IACrF,IAAIX,QAAQY,IAAI,IAAIN,MAAMM,IAAI,EAAET,OAAOS,IAAI,GAAGZ,QAAQY,IAAI;IAC1D,IAAIZ,QAAQa,KAAK,IAAIP,MAAMO,KAAK,EAAEV,OAAOU,KAAK,GAAGb,QAAQa,KAAK,CAACC,GAAG,CAAC,CAACL,KAAOV,IAAIQ,YAAY,CAACG,SAAS,CAACD;IACtG,IAAIT,QAAQe,SAAS,IAAIT,MAAMU,QAAQ,EAAEb,OAAOa,QAAQ,GAAGC,KAAKC,KAAK,CAAClB,QAAQe,SAAS;IACvF,IAAIf,QAAQmB,aAAa,IAAIb,MAAMc,YAAY,EAAEjB,OAAOiB,YAAY,GAAGH,KAAKC,KAAK,CAAClB,QAAQmB,aAAa;IACvG,IAAInB,QAAQqB,4BAA4B,IAAIf,MAAMgB,0BAA0B,EAC1EnB,OAAOmB,0BAA0B,GAAGL,KAAKC,KAAK,CAAClB,QAAQqB,4BAA4B;IACrF,IAAIrB,QAAQuB,MAAM,IAAIjB,MAAMiB,MAAM,EAAEpB,OAAOoB,MAAM,GAAGlC,iBAAiBW,QAAQuB,MAAM;IACnF,IAAIvB,QAAQwB,WAAW,IAAIlB,MAAMkB,WAAW,EAAErB,OAAOqB,WAAW,GAAG,IAAIlC,YAAYU,QAAQwB,WAAW;IACtG,IAAIlB,MAAMb,IAAI,IAAIa,MAAMV,IAAI,IAAIU,MAAMT,OAAO,EAAE;QAC7CM,OAAOT,OAAO,GAAG,IAAIH,cAAcS;IACrC,CAAC;IAED,OAAOD,IAAIQ,YAAY,CAACkB,WAAW,CAACtB,MAAM,CAACJ,KAAKC,SAASG;AAC3D,CAAC"}
@@ -5,8 +5,9 @@ import type { Channel } from './channel.js';
5
5
  import type { Component } from './component.js';
6
6
  import type { Embed } from './embed.js';
7
7
  import type { Emoji } from './emoji.js';
8
- import type { Member, User } from './member.js';
8
+ import type { Member } from './member.js';
9
9
  import { ToggleBitfield } from './toggles/ToggleBitfield.js';
10
+ import type { User } from './user.js';
10
11
  export interface MessageBase {
11
12
  /** Holds all the boolean values on this message. */
12
13
  bitfield?: ToggleBitfield;
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/transformers/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/transformers/message.ts"],"names":[],"mappings":"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"}