@discordeno/bot 19.0.0-next.fdf0d53 → 19.0.0-next.fe00a6f

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 (202) hide show
  1. package/dist/bot.d.ts +8 -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 +13 -12
  9. package/dist/handlers/channels/index.d.ts.map +1 -1
  10. package/dist/handlers/channels/index.js +13 -12
  11. package/dist/handlers/channels/index.js.map +1 -1
  12. package/dist/handlers/emojis/index.d.ts +1 -1
  13. package/dist/handlers/emojis/index.d.ts.map +1 -1
  14. package/dist/handlers/emojis/index.js +1 -1
  15. package/dist/handlers/emojis/index.js.map +1 -1
  16. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +1 -1
  17. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js.map +1 -1
  18. package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
  19. package/dist/handlers/guilds/GUILD_DELETE.js +4 -0
  20. package/dist/handlers/guilds/GUILD_DELETE.js.map +1 -1
  21. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts +1 -1
  22. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
  23. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js.map +1 -1
  24. package/dist/handlers/guilds/index.d.ts +10 -10
  25. package/dist/handlers/guilds/index.d.ts.map +1 -1
  26. package/dist/handlers/guilds/index.js +10 -10
  27. package/dist/handlers/guilds/index.js.map +1 -1
  28. package/dist/handlers/guilds/scheduledEvents/index.d.ts +5 -5
  29. package/dist/handlers/guilds/scheduledEvents/index.d.ts.map +1 -1
  30. package/dist/handlers/guilds/scheduledEvents/index.js +5 -5
  31. package/dist/handlers/guilds/scheduledEvents/index.js.map +1 -1
  32. package/dist/handlers/integrations/index.d.ts +3 -3
  33. package/dist/handlers/integrations/index.d.ts.map +1 -1
  34. package/dist/handlers/integrations/index.js +3 -3
  35. package/dist/handlers/integrations/index.js.map +1 -1
  36. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +1 -1
  37. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -1
  38. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js.map +1 -1
  39. package/dist/handlers/invites/index.d.ts +2 -2
  40. package/dist/handlers/invites/index.d.ts.map +1 -1
  41. package/dist/handlers/invites/index.js +2 -2
  42. package/dist/handlers/invites/index.js.map +1 -1
  43. package/dist/handlers/members/index.d.ts +4 -4
  44. package/dist/handlers/members/index.d.ts.map +1 -1
  45. package/dist/handlers/members/index.js +4 -4
  46. package/dist/handlers/members/index.js.map +1 -1
  47. package/dist/handlers/messages/index.d.ts +8 -8
  48. package/dist/handlers/messages/index.d.ts.map +1 -1
  49. package/dist/handlers/messages/index.js +8 -8
  50. package/dist/handlers/messages/index.js.map +1 -1
  51. package/dist/handlers/misc/index.d.ts +4 -4
  52. package/dist/handlers/misc/index.d.ts.map +1 -1
  53. package/dist/handlers/misc/index.js +4 -4
  54. package/dist/handlers/misc/index.js.map +1 -1
  55. package/dist/handlers/roles/index.d.ts +3 -3
  56. package/dist/handlers/roles/index.d.ts.map +1 -1
  57. package/dist/handlers/roles/index.js +3 -3
  58. package/dist/handlers/roles/index.js.map +1 -1
  59. package/dist/handlers/voice/index.d.ts +2 -2
  60. package/dist/handlers/voice/index.d.ts.map +1 -1
  61. package/dist/handlers/voice/index.js +2 -2
  62. package/dist/handlers/voice/index.js.map +1 -1
  63. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -1
  64. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js.map +1 -1
  65. package/dist/handlers/webhooks/index.d.ts +1 -1
  66. package/dist/handlers/webhooks/index.d.ts.map +1 -1
  67. package/dist/handlers/webhooks/index.js +1 -1
  68. package/dist/handlers/webhooks/index.js.map +1 -1
  69. package/dist/handlers.js +1 -1
  70. package/dist/handlers.js.map +1 -1
  71. package/dist/helpers.d.ts +205 -0
  72. package/dist/helpers.d.ts.map +1 -0
  73. package/dist/helpers.js +553 -0
  74. package/dist/helpers.js.map +1 -0
  75. package/dist/index.d.ts +6 -0
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +6 -0
  78. package/dist/index.js.map +1 -1
  79. package/dist/transformers/activity.d.ts +15 -15
  80. package/dist/transformers/application.d.ts +37 -5
  81. package/dist/transformers/application.d.ts.map +1 -1
  82. package/dist/transformers/applicationCommand.d.ts +36 -4
  83. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  84. package/dist/transformers/applicationCommandPermission.d.ts +1 -1
  85. package/dist/transformers/attachment.d.ts +3 -3
  86. package/dist/transformers/auditLogEntry.d.ts +6 -6
  87. package/dist/transformers/automodActionExecution.d.ts +6 -6
  88. package/dist/transformers/automodRule.d.ts +3 -2
  89. package/dist/transformers/automodRule.d.ts.map +1 -1
  90. package/dist/transformers/automodRule.js +1 -0
  91. package/dist/transformers/automodRule.js.map +1 -1
  92. package/dist/transformers/channel.d.ts +99 -36
  93. package/dist/transformers/channel.d.ts.map +1 -1
  94. package/dist/transformers/channel.js +74 -37
  95. package/dist/transformers/channel.js.map +1 -1
  96. package/dist/transformers/component.d.ts +3 -1
  97. package/dist/transformers/component.d.ts.map +1 -1
  98. package/dist/transformers/component.js +1 -0
  99. package/dist/transformers/component.js.map +1 -1
  100. package/dist/transformers/embed.d.ts +3 -3
  101. package/dist/transformers/emoji.d.ts +37 -5
  102. package/dist/transformers/emoji.d.ts.map +1 -1
  103. package/dist/transformers/guild.d.ts +4 -3
  104. package/dist/transformers/guild.d.ts.map +1 -1
  105. package/dist/transformers/guild.js +5 -1
  106. package/dist/transformers/guild.js.map +1 -1
  107. package/dist/transformers/index.d.ts +2 -0
  108. package/dist/transformers/index.d.ts.map +1 -1
  109. package/dist/transformers/index.js +2 -0
  110. package/dist/transformers/index.js.map +1 -1
  111. package/dist/transformers/integration.d.ts +73 -9
  112. package/dist/transformers/integration.d.ts.map +1 -1
  113. package/dist/transformers/interaction.d.ts +80 -342
  114. package/dist/transformers/interaction.d.ts.map +1 -1
  115. package/dist/transformers/interaction.js +77 -27
  116. package/dist/transformers/interaction.js.map +1 -1
  117. package/dist/transformers/invite.d.ts +113 -17
  118. package/dist/transformers/invite.d.ts.map +1 -1
  119. package/dist/transformers/member.d.ts +31 -37
  120. package/dist/transformers/member.d.ts.map +1 -1
  121. package/dist/transformers/member.js +28 -32
  122. package/dist/transformers/member.js.map +1 -1
  123. package/dist/transformers/message.d.ts +124 -221
  124. package/dist/transformers/message.d.ts.map +1 -1
  125. package/dist/transformers/message.js +209 -73
  126. package/dist/transformers/message.js.map +1 -1
  127. package/dist/transformers/presence.d.ts +2 -14
  128. package/dist/transformers/presence.d.ts.map +1 -1
  129. package/dist/transformers/presence.js +1 -14
  130. package/dist/transformers/presence.js.map +1 -1
  131. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts +2 -2
  132. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
  133. package/dist/transformers/reverse/applicationCommandOptionChoice.js.map +1 -1
  134. package/dist/transformers/reverse/component.d.ts.map +1 -1
  135. package/dist/transformers/reverse/component.js +1 -0
  136. package/dist/transformers/reverse/component.js.map +1 -1
  137. package/dist/transformers/reverse/createApplicationCommand.d.ts.map +1 -1
  138. package/dist/transformers/reverse/createApplicationCommand.js.map +1 -1
  139. package/dist/transformers/reverse/index.d.ts +19 -16
  140. package/dist/transformers/reverse/index.d.ts.map +1 -1
  141. package/dist/transformers/reverse/index.js +19 -16
  142. package/dist/transformers/reverse/index.js.map +1 -1
  143. package/dist/transformers/reverse/member.d.ts +2 -1
  144. package/dist/transformers/reverse/member.d.ts.map +1 -1
  145. package/dist/transformers/reverse/member.js +10 -9
  146. package/dist/transformers/reverse/member.js.map +1 -1
  147. package/dist/transformers/role.d.ts +67 -13
  148. package/dist/transformers/role.d.ts.map +1 -1
  149. package/dist/transformers/role.js +51 -15
  150. package/dist/transformers/role.js.map +1 -1
  151. package/dist/transformers/scheduledEvent.d.ts +38 -6
  152. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  153. package/dist/transformers/sticker.d.ts +38 -6
  154. package/dist/transformers/sticker.d.ts.map +1 -1
  155. package/dist/transformers/team.d.ts +1 -1
  156. package/dist/transformers/template.d.ts +110 -114
  157. package/dist/transformers/template.d.ts.map +1 -1
  158. package/dist/transformers/toggles/Permissions.d.ts +9 -0
  159. package/dist/transformers/toggles/Permissions.d.ts.map +1 -0
  160. package/dist/transformers/toggles/Permissions.js +18 -0
  161. package/dist/transformers/toggles/Permissions.js.map +1 -0
  162. package/dist/transformers/toggles/ToggleBitfield.d.ts +2 -0
  163. package/dist/transformers/toggles/ToggleBitfield.d.ts.map +1 -1
  164. package/dist/transformers/toggles/ToggleBitfield.js +6 -0
  165. package/dist/transformers/toggles/ToggleBitfield.js.map +1 -1
  166. package/dist/transformers/toggles/channel.d.ts +33 -0
  167. package/dist/transformers/toggles/channel.d.ts.map +1 -0
  168. package/dist/transformers/toggles/channel.js +50 -0
  169. package/dist/transformers/toggles/channel.js.map +1 -0
  170. package/dist/transformers/toggles/guild.d.ts +0 -4
  171. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  172. package/dist/transformers/toggles/guild.js +0 -6
  173. package/dist/transformers/toggles/guild.js.map +1 -1
  174. package/dist/transformers/toggles/index.d.ts +9 -7
  175. package/dist/transformers/toggles/index.d.ts.map +1 -1
  176. package/dist/transformers/toggles/index.js +9 -7
  177. package/dist/transformers/toggles/index.js.map +1 -1
  178. package/dist/transformers/toggles/role.d.ts +4 -0
  179. package/dist/transformers/toggles/role.d.ts.map +1 -1
  180. package/dist/transformers/toggles/role.js +6 -0
  181. package/dist/transformers/toggles/role.js.map +1 -1
  182. package/dist/transformers/user.d.ts +44 -0
  183. package/dist/transformers/user.d.ts.map +1 -0
  184. package/dist/transformers/user.js +42 -0
  185. package/dist/transformers/user.js.map +1 -0
  186. package/dist/transformers/voiceRegion.d.ts +1 -1
  187. package/dist/transformers/voiceState.d.ts +3 -3
  188. package/dist/transformers/webhook.d.ts +39 -7
  189. package/dist/transformers/webhook.d.ts.map +1 -1
  190. package/dist/transformers.d.ts +275 -5
  191. package/dist/transformers.d.ts.map +1 -1
  192. package/dist/transformers.js +282 -2
  193. package/dist/transformers.js.map +1 -1
  194. package/dist/typings.d.ts +28 -3
  195. package/dist/typings.d.ts.map +1 -1
  196. package/dist/typings.js +13 -0
  197. package/dist/typings.js.map +1 -1
  198. package/dist/utils.d.ts +1 -0
  199. package/dist/utils.d.ts.map +1 -1
  200. package/dist/utils.js +3 -0
  201. package/dist/utils.js.map +1 -1
  202. package/package.json +5 -5
@@ -1,352 +1,90 @@
1
- import type { ChannelTypes, DiscordInteraction, DiscordInteractionDataOption } from '@discordeno/types';
2
- import type { Bot } from '../index.js';
1
+ import { InteractionTypes, type ApplicationCommandOptionTypes, type ApplicationCommandTypes, type BigString, type CamelizedDiscordMessage, type ChannelTypes, type DiscordInteraction, type DiscordInteractionDataOption, type InteractionCallbackData, type MessageComponentTypes } from '@discordeno/types';
2
+ import { Collection } from '@discordeno/utils';
3
+ import type { Bot, Component } from '../index.js';
3
4
  import type { DiscordInteractionDataResolved } from '../typings.js';
4
5
  import type { Attachment } from './attachment.js';
5
- export declare function transformInteraction(bot: Bot, payload: DiscordInteraction): {
6
- locale?: string | undefined;
7
- guildId?: bigint | undefined;
8
- channelId?: bigint | undefined;
9
- member?: {
10
- avatar?: bigint | undefined;
11
- permissions?: bigint | undefined;
12
- nick?: string | undefined;
13
- user?: {
14
- flags?: import("@discordeno/types").UserFlags | undefined;
15
- locale?: string | undefined;
16
- avatar?: bigint | undefined;
17
- email?: string | undefined;
18
- premiumType?: import("@discordeno/types").PremiumTypes | undefined;
19
- publicFlags?: import("@discordeno/types").UserFlags | undefined;
20
- id: bigint;
21
- username: string;
22
- discriminator: string;
23
- toggles: import("./index.js").UserToggles;
24
- } | undefined;
25
- premiumSince?: number | undefined;
26
- communicationDisabledUntil?: number | undefined;
27
- id: bigint;
28
- toggles: import("./index.js").MemberToggles;
29
- guildId: bigint;
30
- roles: bigint[];
31
- joinedAt: number;
32
- } | undefined;
33
- guildLocale?: string | undefined;
34
- appPermissions?: bigint | undefined;
35
- message?: {
36
- applicationId?: bigint | undefined;
37
- flags?: number | undefined;
38
- guildId?: bigint | undefined;
39
- member?: {
40
- avatar?: bigint | undefined;
41
- permissions?: bigint | undefined;
42
- nick?: string | undefined;
43
- user?: {
44
- flags?: import("@discordeno/types").UserFlags | undefined;
45
- locale?: string | undefined;
46
- avatar?: bigint | undefined;
47
- email?: string | undefined;
48
- premiumType?: import("@discordeno/types").PremiumTypes | undefined;
49
- publicFlags?: import("@discordeno/types").UserFlags | undefined;
50
- id: bigint;
51
- username: string;
52
- discriminator: string;
53
- toggles: import("./index.js").UserToggles;
54
- } | undefined;
55
- premiumSince?: number | undefined;
56
- communicationDisabledUntil?: number | undefined;
57
- id: bigint;
58
- toggles: import("./index.js").MemberToggles;
59
- guildId: bigint;
60
- roles: bigint[];
61
- joinedAt: number;
62
- } | undefined;
63
- application?: {
64
- id?: string | undefined;
65
- name?: string | undefined;
66
- flags?: import("@discordeno/types").ApplicationFlags | undefined;
67
- icon?: string | null | undefined;
68
- description?: string | undefined;
69
- slug?: string | undefined;
70
- owner?: {
71
- id?: string | undefined;
72
- flags?: import("@discordeno/types").UserFlags | undefined;
73
- username?: string | undefined;
74
- locale?: string | undefined;
75
- premium_type?: import("@discordeno/types").PremiumTypes | undefined;
76
- public_flags?: import("@discordeno/types").UserFlags | undefined;
77
- accent_color?: number | undefined;
78
- discriminator?: string | undefined;
79
- avatar?: string | null | undefined;
80
- bot?: boolean | undefined;
81
- system?: boolean | undefined;
82
- mfa_enabled?: boolean | undefined;
83
- verified?: boolean | undefined;
84
- email?: string | null | undefined;
85
- banner?: string | undefined;
86
- } | undefined;
87
- team?: {
88
- icon?: string | null | undefined;
89
- id: string;
90
- name: string;
91
- members: import("@discordeno/types").DiscordTeamMember[];
92
- owner_user_id: string;
93
- } | null | undefined;
94
- tags?: string[] | undefined;
95
- guild_id?: string | undefined;
96
- rpc_origins?: string[] | undefined;
97
- terms_of_service_url?: string | undefined;
98
- privacy_policy_url?: string | undefined;
99
- verify_key?: string | undefined;
100
- primary_sku_id?: string | undefined;
101
- bot_public?: boolean | undefined;
102
- bot_require_code_grant?: boolean | undefined;
103
- cover_image?: string | undefined;
104
- install_params?: {
105
- permissions: string;
106
- scopes: string[];
107
- } | undefined;
108
- custom_install_url?: string | undefined;
109
- role_connections_verification_url?: string | undefined;
110
- } | undefined;
111
- editedTimestamp?: number | undefined;
112
- reactions?: {
113
- emoji: {
114
- id?: bigint | undefined;
115
- name?: string | undefined;
116
- user?: {
117
- flags?: import("@discordeno/types").UserFlags | undefined;
118
- locale?: string | undefined;
119
- avatar?: bigint | undefined;
120
- email?: string | undefined;
121
- premiumType?: import("@discordeno/types").PremiumTypes | undefined;
122
- publicFlags?: import("@discordeno/types").UserFlags | undefined;
123
- id: bigint;
124
- username: string;
125
- discriminator: string;
126
- toggles: import("./index.js").UserToggles;
127
- } | undefined;
128
- roles?: bigint[] | undefined;
129
- toggles: import("./index.js").EmojiToggles;
130
- };
131
- count: number;
132
- me: boolean;
133
- }[] | undefined;
134
- activity?: {
135
- partyId?: string | undefined;
136
- type: import("@discordeno/types").MessageActivityTypes;
137
- } | undefined;
138
- interaction?: {
139
- member?: {
140
- avatar?: bigint | undefined;
141
- guildId?: bigint | undefined;
142
- permissions?: bigint | undefined;
143
- nick?: string | undefined;
144
- roles?: bigint[] | undefined;
145
- joinedAt?: number | undefined;
146
- premiumSince?: number | undefined;
147
- communicationDisabledUntil?: number | undefined;
148
- id: bigint;
149
- toggles: import("./index.js").MemberToggles;
150
- } | undefined;
151
- id: bigint;
152
- name: string;
153
- type: import("@discordeno/types").InteractionTypes;
154
- user: {
155
- flags?: import("@discordeno/types").UserFlags | undefined;
156
- locale?: string | undefined;
157
- avatar?: bigint | undefined;
158
- email?: string | undefined;
159
- premiumType?: import("@discordeno/types").PremiumTypes | undefined;
160
- publicFlags?: import("@discordeno/types").UserFlags | undefined;
161
- id: bigint;
162
- username: string;
163
- discriminator: string;
164
- toggles: import("./index.js").UserToggles;
165
- };
166
- } | undefined;
167
- thread?: {
168
- name?: string | undefined;
169
- applicationId?: bigint | undefined;
170
- flags?: import("@discordeno/types").ChannelFlags | undefined;
171
- permissions?: bigint | undefined;
172
- topic?: string | undefined;
173
- position?: number | undefined;
174
- bitrate?: number | undefined;
175
- nsfw?: boolean | undefined;
176
- archived?: boolean | undefined;
177
- locked?: boolean | undefined;
178
- invitable?: boolean | undefined;
179
- managed?: boolean | undefined;
180
- userLimit?: number | undefined;
181
- rateLimitPerUser?: number | undefined;
182
- rtcRegion?: string | undefined;
183
- videoQualityMode?: import("@discordeno/types").VideoQualityModes | undefined;
184
- lastPinTimestamp?: number | undefined;
185
- lastMessageId?: bigint | undefined;
186
- ownerId?: bigint | undefined;
187
- parentId?: bigint | undefined;
188
- memberCount?: number | undefined;
189
- messageCount?: number | undefined;
190
- archiveTimestamp?: number | undefined;
191
- autoArchiveDuration?: 60 | 1440 | 4320 | 10080 | undefined;
192
- createTimestamp?: number | undefined;
193
- newlyCreated?: boolean | undefined;
194
- id: bigint;
195
- type: ChannelTypes;
196
- guildId: bigint;
197
- permissionOverwrites: bigint[];
198
- botIsMember: boolean;
199
- } | undefined;
200
- components?: {
201
- url?: string | undefined;
202
- emoji?: {
203
- id?: bigint | undefined;
204
- name?: string | undefined;
205
- animated?: boolean | undefined;
206
- } | undefined;
207
- options?: {
208
- emoji?: {
209
- id?: bigint | undefined;
210
- name?: string | undefined;
211
- animated?: boolean | undefined;
212
- } | undefined;
213
- description?: string | undefined;
214
- default?: boolean | undefined;
215
- value: string;
216
- label: string;
217
- }[] | undefined;
218
- value?: string | undefined;
219
- components?: any[] | undefined;
220
- customId?: string | undefined;
221
- label?: string | undefined;
222
- required?: boolean | undefined;
223
- minLength?: number | undefined;
224
- maxLength?: number | undefined;
225
- disabled?: boolean | undefined;
226
- style?: import("@discordeno/types").ButtonStyles | import("@discordeno/types").TextStyles | undefined;
227
- placeholder?: string | undefined;
228
- minValues?: number | undefined;
229
- maxValues?: number | undefined;
230
- type: import("@discordeno/types").MessageComponentTypes;
231
- }[] | undefined;
232
- stickerItems?: {
233
- id: bigint;
234
- name: string;
235
- formatType: import("@discordeno/types").StickerFormatTypes;
236
- }[] | undefined;
237
- webhookId?: bigint | undefined;
238
- messageReference?: {
239
- guildId?: bigint | undefined;
240
- channelId?: bigint | undefined;
241
- messageId?: bigint | undefined;
242
- } | undefined;
243
- nonce?: string | number | undefined;
244
- id: bigint;
245
- type: import("@discordeno/types").MessageTypes;
246
- channelId: bigint;
247
- content: string;
248
- timestamp: number;
249
- isFromBot: boolean;
250
- tag: string;
251
- bitfield: bigint;
252
- attachments: Attachment[];
253
- embeds: import("./embed.js").Embed[];
254
- authorId: bigint;
255
- mentionedUserIds: bigint[];
256
- mentionedRoleIds: bigint[];
257
- mentionedChannelIds: bigint[];
258
- } | undefined;
259
- data?: {
260
- values?: string[] | undefined;
261
- id?: bigint | undefined;
262
- guildId?: bigint | undefined;
263
- options?: {
264
- options?: {
265
- options?: any[] | undefined;
266
- value?: string | number | boolean | undefined;
267
- focused?: boolean | undefined;
268
- name: string;
269
- type: import("@discordeno/types").ApplicationCommandOptionTypes;
270
- }[] | undefined;
271
- value?: string | number | boolean | undefined;
272
- focused?: boolean | undefined;
273
- name: string;
274
- type: import("@discordeno/types").ApplicationCommandOptionTypes;
275
- }[] | undefined;
276
- targetId?: bigint | undefined;
277
- components?: {
278
- url?: string | undefined;
279
- emoji?: {
280
- id?: bigint | undefined;
281
- name?: string | undefined;
282
- animated?: boolean | undefined;
283
- } | undefined;
284
- options?: {
285
- emoji?: {
286
- id?: bigint | undefined;
287
- name?: string | undefined;
288
- animated?: boolean | undefined;
289
- } | undefined;
290
- description?: string | undefined;
291
- default?: boolean | undefined;
292
- value: string;
293
- label: string;
294
- }[] | undefined;
295
- value?: string | undefined;
296
- components?: any[] | undefined;
297
- customId?: string | undefined;
298
- label?: string | undefined;
299
- required?: boolean | undefined;
300
- minLength?: number | undefined;
301
- maxLength?: number | undefined;
302
- disabled?: boolean | undefined;
303
- style?: import("@discordeno/types").ButtonStyles | import("@discordeno/types").TextStyles | undefined;
304
- placeholder?: string | undefined;
305
- minValues?: number | undefined;
306
- maxValues?: number | undefined;
307
- type: import("@discordeno/types").MessageComponentTypes;
308
- }[] | undefined;
309
- resolved?: any;
310
- componentType?: import("@discordeno/types").MessageComponentTypes | undefined;
311
- customId?: string | undefined;
312
- name: string;
313
- } | undefined;
6
+ import type { Member } from './member.js';
7
+ import type { Message } from './message.js';
8
+ import type { Role } from './role.js';
9
+ import type { User } from './user.js';
10
+ export interface Interaction extends BaseInteraction {
11
+ /** The bot object */
12
+ bot: Bot;
13
+ /** Whether or not this interaction has been responded to. */
14
+ acknowledged: boolean;
15
+ /** Id of the interaction */
314
16
  id: bigint;
315
- type: import("@discordeno/types").InteractionTypes;
17
+ /** Id of the application this interaction is for */
316
18
  applicationId: bigint;
317
- version: 1;
318
- user: {
319
- flags?: import("@discordeno/types").UserFlags | undefined;
320
- locale?: string | undefined;
321
- avatar?: bigint | undefined;
322
- email?: string | undefined;
323
- premiumType?: import("@discordeno/types").PremiumTypes | undefined;
324
- publicFlags?: import("@discordeno/types").UserFlags | undefined;
325
- id: bigint;
326
- username: string;
327
- discriminator: string;
328
- toggles: import("./index.js").UserToggles;
329
- };
19
+ /** The type of interaction */
20
+ type: InteractionTypes;
21
+ /** The guild it was sent from */
22
+ guildId?: bigint;
23
+ /** The channel it was sent from */
24
+ channelId?: bigint;
25
+ /** Guild member data for the invoking user, including permissions */
26
+ member?: Member;
27
+ /** User object for the invoking user, if invoked in a DM */
28
+ user: User;
29
+ /** A continuation token for responding to the interaction */
330
30
  token: string;
331
- };
332
- export declare function transformInteractionDataOption(bot: Bot, option: DiscordInteractionDataOption): {
333
- options?: {
334
- options?: any[] | undefined;
335
- value?: string | number | boolean | undefined;
336
- focused?: boolean | undefined;
31
+ /** Read-only property, always `1` */
32
+ version: 1;
33
+ /** For the message the button was attached to */
34
+ message?: Message;
35
+ /** the command data payload */
36
+ data?: {
37
+ type?: ApplicationCommandTypes;
38
+ componentType?: MessageComponentTypes;
39
+ customId?: string;
40
+ components?: Component[];
41
+ values?: string[];
337
42
  name: string;
338
- type: import("@discordeno/types").ApplicationCommandOptionTypes;
339
- }[] | undefined;
340
- value?: string | number | boolean | undefined;
341
- focused?: boolean | undefined;
342
- name: string;
343
- type: import("@discordeno/types").ApplicationCommandOptionTypes;
344
- };
345
- export declare function transformInteractionDataResolved(bot: Bot, resolved: DiscordInteractionDataResolved, guildId?: bigint): any;
346
- export interface Interaction extends ReturnType<typeof transformInteraction> {
43
+ resolved?: InteractionDataResolved;
44
+ options?: InteractionDataOption[];
45
+ id?: bigint;
46
+ targetId?: bigint;
47
+ };
48
+ /** The selected language of the invoking user */
49
+ locale?: string;
50
+ /** The guild's preferred locale, if invoked in a guild */
51
+ guildLocale?: string;
52
+ /** The computed permissions for a bot or app in the context of a specific interaction (including channel overwrites) */
53
+ appPermissions: bigint;
347
54
  }
348
- export interface InteractionDataResolved extends ReturnType<typeof transformInteractionDataResolved> {
55
+ export interface BaseInteraction {
56
+ /** Sends a response to an interaction. */
57
+ respond: (response: string | InteractionCallbackData, options?: {
58
+ isPrivate?: boolean;
59
+ }) => Promise<CamelizedDiscordMessage | void>;
60
+ /** Edit the original response of an interaction. */
61
+ edit: (response: string | InteractionCallbackData) => Promise<CamelizedDiscordMessage>;
62
+ /** Defer the interaction. */
63
+ defer: (isPrivate?: boolean) => Promise<void>;
64
+ /** Delete the original interaction response or a followup message */
65
+ delete: (messageId?: BigString) => Promise<void>;
349
66
  }
350
- export interface InteractionDataOption extends ReturnType<typeof transformInteractionDataOption> {
67
+ export declare function transformInteraction(bot: Bot, payload: DiscordInteraction): Interaction;
68
+ export declare function transformInteractionDataOption(bot: Bot, option: DiscordInteractionDataOption): InteractionDataOption;
69
+ export declare function transformInteractionDataResolved(bot: Bot, resolved: DiscordInteractionDataResolved, guildId?: bigint): InteractionDataResolved;
70
+ export interface InteractionDataResolved {
71
+ messages?: Collection<bigint, Message>;
72
+ users?: Collection<bigint, User>;
73
+ members?: Collection<bigint, Member>;
74
+ roles?: Collection<bigint, Role>;
75
+ channels?: Collection<bigint, {
76
+ id: bigint;
77
+ name: string;
78
+ type: ChannelTypes;
79
+ permissions: bigint;
80
+ }>;
81
+ attachments?: Collection<bigint, Attachment>;
82
+ }
83
+ export interface InteractionDataOption {
84
+ name: string;
85
+ type: ApplicationCommandOptionTypes;
86
+ value?: string | number | boolean;
87
+ options?: InteractionDataOption[];
88
+ focused?: boolean;
351
89
  }
352
90
  //# sourceMappingURL=interaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/transformers/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAEvG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAMjD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCzE;AAGD,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,4BAA4B;;;;;;;;;;;;EAU5F;AAGD,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,8BAA8B,EAAE,OAAO,CAAC,EAAE,MAAM,OAiFpH;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU,CAAC,OAAO,oBAAoB,CAAC;CAAG;AAC/E,MAAM,WAAW,uBAAwB,SAAQ,UAAU,CAAC,OAAO,gCAAgC,CAAC;CAAG;AACvG,MAAM,WAAW,qBAAsB,SAAQ,UAAU,CAAC,OAAO,8BAA8B,CAAC;CAAG"}
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/transformers/interaction.ts"],"names":[],"mappings":"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"}
@@ -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