@discordeno/bot 22.0.1-next.f2e8d7e → 22.0.1-next.f4e424f

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 (209) hide show
  1. package/dist/bot.d.ts +3 -3
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +3 -2
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +2 -2
  6. package/dist/desiredProperties.d.ts +4 -1
  7. package/dist/desiredProperties.d.ts.map +1 -1
  8. package/dist/desiredProperties.js +40 -1
  9. package/dist/events.d.ts +22 -7
  10. package/dist/events.d.ts.map +1 -1
  11. package/dist/events.js +1 -1
  12. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +2 -2
  13. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +2 -2
  14. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +2 -2
  15. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +2 -2
  16. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +2 -2
  17. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
  18. package/dist/handlers/invites/INVITE_CREATE.js +20 -4
  19. package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
  20. package/dist/handlers/invites/INVITE_DELETE.js +4 -4
  21. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
  22. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +4 -4
  23. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
  24. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +4 -3
  25. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
  26. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +4 -3
  27. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
  28. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +4 -3
  29. package/dist/helpers.d.ts +17 -4
  30. package/dist/helpers.d.ts.map +1 -1
  31. package/dist/helpers.js +60 -20
  32. package/dist/transformers/activity.d.ts +17 -5
  33. package/dist/transformers/activity.d.ts.map +1 -1
  34. package/dist/transformers/activity.js +55 -37
  35. package/dist/transformers/application.d.ts +3 -3
  36. package/dist/transformers/application.d.ts.map +1 -1
  37. package/dist/transformers/application.js +18 -7
  38. package/dist/transformers/applicationCommand.d.ts +3 -2
  39. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  40. package/dist/transformers/applicationCommand.js +19 -17
  41. package/dist/transformers/applicationCommandOption.d.ts +3 -2
  42. package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
  43. package/dist/transformers/applicationCommandOption.js +22 -19
  44. package/dist/transformers/applicationCommandOptionChoice.d.ts +3 -2
  45. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
  46. package/dist/transformers/applicationCommandOptionChoice.js +10 -8
  47. package/dist/transformers/applicationCommandPermission.d.ts +7 -3
  48. package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
  49. package/dist/transformers/applicationCommandPermission.js +20 -13
  50. package/dist/transformers/attachment.d.ts +3 -1
  51. package/dist/transformers/attachment.d.ts.map +1 -1
  52. package/dist/transformers/attachment.js +12 -4
  53. package/dist/transformers/auditLogEntry.d.ts +7 -3
  54. package/dist/transformers/auditLogEntry.d.ts.map +1 -1
  55. package/dist/transformers/auditLogEntry.js +32 -25
  56. package/dist/transformers/automodActionExecution.d.ts +10 -3
  57. package/dist/transformers/automodActionExecution.d.ts.map +1 -1
  58. package/dist/transformers/automodActionExecution.js +35 -23
  59. package/dist/transformers/automodRule.d.ts +7 -3
  60. package/dist/transformers/automodRule.d.ts.map +1 -1
  61. package/dist/transformers/automodRule.js +30 -30
  62. package/dist/transformers/avatarDecorationData.d.ts +3 -2
  63. package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
  64. package/dist/transformers/avatarDecorationData.js +6 -3
  65. package/dist/transformers/channel.d.ts +6 -3
  66. package/dist/transformers/channel.d.ts.map +1 -1
  67. package/dist/transformers/channel.js +11 -6
  68. package/dist/transformers/component.d.ts +9 -4
  69. package/dist/transformers/component.d.ts.map +1 -1
  70. package/dist/transformers/component.js +197 -28
  71. package/dist/transformers/embed.d.ts +16 -3
  72. package/dist/transformers/embed.d.ts.map +1 -1
  73. package/dist/transformers/embed.js +71 -42
  74. package/dist/transformers/emoji.d.ts +7 -3
  75. package/dist/transformers/emoji.d.ts.map +1 -1
  76. package/dist/transformers/emoji.js +10 -5
  77. package/dist/transformers/entitlement.d.ts +3 -2
  78. package/dist/transformers/entitlement.d.ts.map +1 -1
  79. package/dist/transformers/entitlement.js +6 -3
  80. package/dist/transformers/gatewayBot.d.ts +7 -3
  81. package/dist/transformers/gatewayBot.d.ts.map +1 -1
  82. package/dist/transformers/gatewayBot.js +20 -13
  83. package/dist/transformers/guild.d.ts +3 -2
  84. package/dist/transformers/guild.d.ts.map +1 -1
  85. package/dist/transformers/guild.js +25 -25
  86. package/dist/transformers/incidentsData.d.ts +3 -2
  87. package/dist/transformers/incidentsData.d.ts.map +1 -1
  88. package/dist/transformers/incidentsData.js +6 -3
  89. package/dist/transformers/integration.d.ts +10 -3
  90. package/dist/transformers/integration.d.ts.map +1 -1
  91. package/dist/transformers/integration.js +43 -31
  92. package/dist/transformers/interaction.d.ts +20 -12
  93. package/dist/transformers/interaction.d.ts.map +1 -1
  94. package/dist/transformers/interaction.js +47 -32
  95. package/dist/transformers/invite.d.ts +4 -4
  96. package/dist/transformers/invite.d.ts.map +1 -1
  97. package/dist/transformers/invite.js +26 -24
  98. package/dist/transformers/lobby.d.ts +13 -4
  99. package/dist/transformers/lobby.d.ts.map +1 -1
  100. package/dist/transformers/lobby.js +35 -5
  101. package/dist/transformers/member.d.ts +3 -2
  102. package/dist/transformers/member.d.ts.map +1 -1
  103. package/dist/transformers/member.js +6 -3
  104. package/dist/transformers/message.d.ts +20 -10
  105. package/dist/transformers/message.d.ts.map +1 -1
  106. package/dist/transformers/message.js +52 -25
  107. package/dist/transformers/onboarding.d.ts +9 -4
  108. package/dist/transformers/onboarding.d.ts.map +1 -1
  109. package/dist/transformers/onboarding.js +17 -10
  110. package/dist/transformers/poll.d.ts +6 -3
  111. package/dist/transformers/poll.d.ts.map +1 -1
  112. package/dist/transformers/poll.js +14 -7
  113. package/dist/transformers/presence.d.ts +3 -2
  114. package/dist/transformers/presence.d.ts.map +1 -1
  115. package/dist/transformers/presence.js +10 -6
  116. package/dist/transformers/reverse/activity.d.ts +4 -3
  117. package/dist/transformers/reverse/activity.d.ts.map +1 -1
  118. package/dist/transformers/reverse/activity.js +20 -24
  119. package/dist/transformers/reverse/applicationCommand.js +2 -2
  120. package/dist/transformers/reverse/component.d.ts.map +1 -1
  121. package/dist/transformers/reverse/component.js +152 -11
  122. package/dist/transformers/reverse/embed.d.ts.map +1 -1
  123. package/dist/transformers/reverse/embed.js +19 -4
  124. package/dist/transformers/reverse/member.d.ts.map +1 -1
  125. package/dist/transformers/reverse/member.js +4 -2
  126. package/dist/transformers/reverse/presence.d.ts.map +1 -1
  127. package/dist/transformers/reverse/presence.js +3 -2
  128. package/dist/transformers/reverse/user.d.ts +5 -0
  129. package/dist/transformers/reverse/user.d.ts.map +1 -0
  130. package/dist/transformers/reverse/user.js +17 -0
  131. package/dist/transformers/role.d.ts +7 -4
  132. package/dist/transformers/role.d.ts.map +1 -1
  133. package/dist/transformers/role.js +11 -7
  134. package/dist/transformers/scheduledEvent.d.ts +6 -3
  135. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  136. package/dist/transformers/scheduledEvent.js +10 -5
  137. package/dist/transformers/sku.d.ts +3 -2
  138. package/dist/transformers/sku.d.ts.map +1 -1
  139. package/dist/transformers/sku.js +6 -3
  140. package/dist/transformers/soundboardSound.d.ts +3 -2
  141. package/dist/transformers/soundboardSound.d.ts.map +1 -1
  142. package/dist/transformers/soundboardSound.js +6 -3
  143. package/dist/transformers/stageInstance.d.ts +3 -2
  144. package/dist/transformers/stageInstance.d.ts.map +1 -1
  145. package/dist/transformers/stageInstance.js +6 -3
  146. package/dist/transformers/stageInviteInstance.d.ts +3 -3
  147. package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
  148. package/dist/transformers/stageInviteInstance.js +10 -8
  149. package/dist/transformers/sticker.d.ts +6 -3
  150. package/dist/transformers/sticker.d.ts.map +1 -1
  151. package/dist/transformers/sticker.js +18 -14
  152. package/dist/transformers/subscription.d.ts +3 -2
  153. package/dist/transformers/subscription.d.ts.map +1 -1
  154. package/dist/transformers/subscription.js +6 -3
  155. package/dist/transformers/team.d.ts +7 -3
  156. package/dist/transformers/team.d.ts.map +1 -1
  157. package/dist/transformers/team.js +22 -16
  158. package/dist/transformers/template.d.ts +3 -2
  159. package/dist/transformers/template.d.ts.map +1 -1
  160. package/dist/transformers/template.js +18 -16
  161. package/dist/transformers/threadMember.d.ts +6 -3
  162. package/dist/transformers/threadMember.d.ts.map +1 -1
  163. package/dist/transformers/threadMember.js +20 -16
  164. package/dist/transformers/toggles/channel.d.ts +2 -2
  165. package/dist/transformers/toggles/channel.d.ts.map +1 -1
  166. package/dist/transformers/toggles/channel.js +2 -2
  167. package/dist/transformers/toggles/emoji.d.ts +1 -1
  168. package/dist/transformers/toggles/emoji.d.ts.map +1 -1
  169. package/dist/transformers/toggles/emoji.js +1 -1
  170. package/dist/transformers/toggles/guild.d.ts +3 -3
  171. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  172. package/dist/transformers/toggles/guild.js +3 -3
  173. package/dist/transformers/toggles/role.d.ts +1 -1
  174. package/dist/transformers/toggles/role.d.ts.map +1 -1
  175. package/dist/transformers/toggles/role.js +1 -1
  176. package/dist/transformers/toggles/user.d.ts +1 -1
  177. package/dist/transformers/toggles/user.d.ts.map +1 -1
  178. package/dist/transformers/toggles/user.js +1 -1
  179. package/dist/transformers/toggles/voice.d.ts +1 -1
  180. package/dist/transformers/toggles/voice.d.ts.map +1 -1
  181. package/dist/transformers/toggles/voice.js +1 -1
  182. package/dist/transformers/types.d.ts +212 -52
  183. package/dist/transformers/types.d.ts.map +1 -1
  184. package/dist/transformers/types.js +2 -2
  185. package/dist/transformers/user.d.ts +13 -5
  186. package/dist/transformers/user.d.ts.map +1 -1
  187. package/dist/transformers/user.js +18 -9
  188. package/dist/transformers/voiceRegion.d.ts +3 -2
  189. package/dist/transformers/voiceRegion.d.ts.map +1 -1
  190. package/dist/transformers/voiceRegion.js +12 -10
  191. package/dist/transformers/voiceState.d.ts +3 -3
  192. package/dist/transformers/voiceState.d.ts.map +1 -1
  193. package/dist/transformers/voiceState.js +6 -4
  194. package/dist/transformers/webhook.d.ts +3 -1
  195. package/dist/transformers/webhook.d.ts.map +1 -1
  196. package/dist/transformers/webhook.js +9 -6
  197. package/dist/transformers/welcomeScreen.d.ts +1 -2
  198. package/dist/transformers/welcomeScreen.d.ts.map +1 -1
  199. package/dist/transformers/welcomeScreen.js +1 -1
  200. package/dist/transformers/widget.d.ts +1 -2
  201. package/dist/transformers/widget.d.ts.map +1 -1
  202. package/dist/transformers/widget.js +7 -5
  203. package/dist/transformers/widgetSettings.d.ts +1 -2
  204. package/dist/transformers/widgetSettings.d.ts.map +1 -1
  205. package/dist/transformers/widgetSettings.js +1 -1
  206. package/dist/transformers.d.ts +190 -78
  207. package/dist/transformers.d.ts.map +1 -1
  208. package/dist/transformers.js +81 -21
  209. package/package.json +18 -18
@@ -1,4 +1,4 @@
1
- import type { ActivityTypes, ApplicationCommandOptionTypes, ApplicationCommandPermissionTypes, ApplicationCommandTypes, ApplicationFlags, AttachmentFlags, AuditLogEvents, AutoModerationActionType, AutoModerationEventTypes, AutoModerationTriggerTypes, BigString, ButtonStyles, Camelize, ChannelTypes, DefaultMessageNotificationLevels, DiscordActivityInstanceResource, DiscordActivityLocationKind, DiscordApplicationEventWebhookStatus, DiscordApplicationIntegrationType, DiscordAuditLogChange, DiscordAutoModerationRuleTriggerMetadataPresets, DiscordEntitlementType, DiscordGuildOnboardingMode, DiscordGuildOnboardingPromptType, DiscordInteractionContextType, DiscordInviteType, DiscordPollLayoutType, DiscordScheduledEventRecurrenceRuleFrequency, DiscordScheduledEventRecurrenceRuleMonth, DiscordScheduledEventRecurrenceRuleNWeekday, DiscordScheduledEventRecurrenceRuleWeekday, DiscordSkuType, DiscordSubscriptionStatus, DiscordTeamMemberRole, DiscordTemplateSerializedSourceGuild, DiscordWebhookEventType, EmbedTypes, ExplicitContentFilterLevels, ForumLayout, GuildNsfwLevel, IntegrationExpireBehaviors, InteractionCallbackData, InteractionCallbackOptions, InteractionResponseTypes, InteractionTypes, Localization, MessageActivityTypes, MessageComponentTypes, MessageTypes, MfaLevels, OAuth2Scope, OverwriteTypes, PremiumTiers, PremiumTypes, PresenceStatus, RoleFlags, ScheduledEventEntityType, ScheduledEventPrivacyLevel, ScheduledEventStatus, SelectOption, SeparatorSpacingSize, SkuFlags, SortOrderTypes, StickerFormatTypes, StickerTypes, SystemChannelFlags, TeamMembershipStates, TextStyles, VerificationLevels, VideoQualityModes, WebhookTypes } from '@discordeno/types';
1
+ import type { ActivityTypes, ApplicationCommandOptionTypes, ApplicationCommandPermissionTypes, ApplicationCommandTypes, ApplicationFlags, AttachmentFlags, AuditLogEvents, AutoModerationActionType, AutoModerationEventTypes, AutoModerationTriggerTypes, BigString, ButtonStyles, Camelize, ChannelTypes, CheckboxGroupOption, DefaultMessageNotificationLevels, DiscordActivityInstanceResource, DiscordActivityLocationKind, DiscordActivityParty, DiscordActivitySecrets, DiscordActivityTimestamps, DiscordApplicationEventWebhookStatus, DiscordApplicationIntegrationType, DiscordAuditLogChange, DiscordAutoModerationRuleTriggerMetadataPresets, DiscordBaseTheme, DiscordEntitlementType, DiscordGuildOnboardingMode, DiscordGuildOnboardingPromptType, DiscordInteractionContextType, DiscordInviteType, DiscordPollLayoutType, DiscordScheduledEventRecurrenceRuleFrequency, DiscordScheduledEventRecurrenceRuleMonth, DiscordScheduledEventRecurrenceRuleNWeekday, DiscordScheduledEventRecurrenceRuleWeekday, DiscordSkuType, DiscordStatusDisplayType, DiscordSubscriptionStatus, DiscordTeamMemberRole, DiscordTemplateSerializedSourceGuild, DiscordWebhookEventType, EmbedTypes, ExplicitContentFilterLevels, ForumLayout, GuildAgeRestrictionLevel, IntegrationExpireBehaviors, InteractionCallbackData, InteractionCallbackOptions, InteractionResponseTypes, InteractionTypes, Localization, MessageActivityTypes, MessageComponentTypes, MessageTypes, MfaLevels, OAuth2Scope, OverwriteTypes, PremiumTiers, PremiumTypes, PresenceStatus, RadioGroupOption, RoleFlags, ScheduledEventEntityType, ScheduledEventPrivacyLevel, ScheduledEventStatus, SelectOption, SeparatorSpacingSize, SkuFlags, SortOrderTypes, StickerFormatTypes, StickerTypes, SystemChannelFlags, TargetTypes, TeamMembershipStates, TextStyles, VerificationLevels, VideoQualityModes, WebhookTypes } from '@discordeno/types';
2
2
  import type { Collection, ImageOptions } from '@discordeno/utils';
3
3
  import type { Bot } from '../bot.js';
4
4
  import type { InteractionResolvedDataChannel, InteractionResolvedDataMember } from '../commandOptionsParser.js';
@@ -13,36 +13,64 @@ import type { ToggleBitfield } from './toggles/ToggleBitfield.js';
13
13
  import type { UserToggles } from './toggles/user.js';
14
14
  import type { VoiceStateToggles } from './toggles/voice.js';
15
15
  export interface Activity {
16
- join?: string;
17
- flags?: number;
18
- applicationId?: bigint;
19
- spectate?: string;
16
+ /** The activity's name */
17
+ name: string;
18
+ /** Activity type */
19
+ type: ActivityTypes;
20
+ /** Stream url, is validated when type is 1 */
20
21
  url?: string;
21
- startedAt?: number;
22
- endedAt?: number;
22
+ /** Unix timestamp of when the activity was added to the user's session */
23
+ createdAt: number;
24
+ /** Unix timestamps for start and/or end of the game */
25
+ timestamps?: DiscordActivityTimestamps;
26
+ /** Application id for the game */
27
+ applicationId?: bigint;
28
+ /** Controls which field is displayed in the user's status text in the member list */
29
+ statusDisplayType?: DiscordStatusDisplayType;
30
+ /** What the player is currently doing */
23
31
  details?: string;
32
+ /** URL that is linked when clicking on the details text */
33
+ detailsUrl?: string;
34
+ /** The user's current party status */
24
35
  state?: string;
36
+ /** URL that is linked when clicking on the state text */
37
+ stateUrl?: string;
38
+ /** The emoji used for a custom status */
25
39
  emoji?: ActivityEmoji;
26
- partyId?: string;
27
- partyCurrentSize?: number;
28
- partyMaxSize?: number;
29
- largeImage?: string;
30
- largeText?: string;
31
- smallImage?: string;
32
- smallText?: string;
33
- inviteCoverImage?: string;
34
- match?: string;
40
+ /** Information for the current party of the player */
41
+ party?: DiscordActivityParty;
42
+ /** Images for the presence and their hover texts */
43
+ assets?: ActivityAssets;
44
+ /** Secrets for Rich Presence joining and spectating */
45
+ secrets?: DiscordActivitySecrets;
46
+ /** Whether or not the activity is an instanced game session */
35
47
  instance?: boolean;
48
+ /** Activity flags `OR`d together, describes what the payload includes */
49
+ flags?: number;
50
+ /** The custom buttons shown in the Rich Presence (max 2) */
36
51
  buttons?: ActivityButton[];
37
- name: string;
38
- type: ActivityTypes;
39
- createdAt: number;
40
52
  }
41
53
  export interface ActivityEmoji {
42
54
  id?: bigint;
43
55
  animated?: boolean;
44
56
  name: string;
45
57
  }
58
+ export interface ActivityAssets {
59
+ /** The id for a large asset of the activity, usually a snowflake */
60
+ largeImage?: string;
61
+ /** Text displayed when hovering over the large image of the activity */
62
+ largeText?: string;
63
+ /** URL that is opened when clicking on the large image */
64
+ largeUrl?: string;
65
+ /** The id for a small asset of the activity, usually a snowflake */
66
+ smallImage?: string;
67
+ /** Text displayed when hovering over the small image of the activity */
68
+ smallText?: string;
69
+ /** URL that is opened when clicking on the small image */
70
+ smallUrl?: string;
71
+ /** See Activity Asset Image. Displayed as a banner on a Game Invite. */
72
+ inviteCoverImage?: string;
73
+ }
46
74
  export interface ActivityButton {
47
75
  url: string;
48
76
  label: string;
@@ -71,6 +99,7 @@ export interface ActivityLocation {
71
99
  }
72
100
  export interface Application {
73
101
  flags?: ApplicationFlags;
102
+ flagsNew?: ToggleBitfield;
74
103
  icon?: bigint;
75
104
  rpcOrigins?: string[];
76
105
  termsOfServiceUrl?: string;
@@ -156,6 +185,24 @@ export interface ApplicationCommandOption {
156
185
  maxLength?: number;
157
186
  /** if autocomplete interactions are enabled for this `String`, `Integer`, or `Number` type option */
158
187
  autocomplete?: boolean;
188
+ /**
189
+ * The accepted file types for the file upload
190
+ *
191
+ * @remarks
192
+ * The supported values are `image`, `video`, `audio` or any dot prefixed extension (e.g. `.pdf`)
193
+ *
194
+ * Extensions are case-insensitive and are normalized to lowercase, so `.PDF` and `.pdf` are equivalent.
195
+ *
196
+ * Discord recommends using the provided file groups rather than listing extensions individually.
197
+ * If you do list extensions individually, include `.jpg` for image uploads and both `.mp4` and `.mov` for video uploads,
198
+ * as some mobile clients rely on those extensions.
199
+ *
200
+ * This feature only checks the file extension against the filename and does not inspect the file contents.
201
+ * You are still responsible for validating the actual contents of the file.
202
+ *
203
+ * Up to 10 file types.
204
+ */
205
+ fileTypes?: string[];
159
206
  }
160
207
  export interface ApplicationCommandOptionChoice {
161
208
  nameLocalizations?: Localization;
@@ -193,10 +240,14 @@ export interface Attachment {
193
240
  id: bigint;
194
241
  /** description for the file (max 1024 characters) */
195
242
  description?: string;
196
- /** Height of file (if image) */
243
+ /** Height of file (if image or video) */
197
244
  height?: number;
198
- /** Width of file (if image) */
245
+ /** Width of file (if image or video) */
199
246
  width?: number;
247
+ /** Thumbhash placeholder (if image or video) */
248
+ placeholder?: string;
249
+ /** Version of the placeholder (if image or video) */
250
+ placeholderVersion?: number;
200
251
  /** whether this attachment is ephemeral. Ephemeral attachments will automatically be removed after a set period of time. Ephemeral attachments on messages are guaranteed to be available as long as the message itself exists. */
201
252
  ephemeral?: boolean;
202
253
  /** The duration of the audio file for a voice message */
@@ -205,6 +256,12 @@ export interface Attachment {
205
256
  waveform?: string;
206
257
  /** Attachment flags combined as a bitfield */
207
258
  flags?: AttachmentFlags;
259
+ /** for Clips, array of users who were in the stream */
260
+ clipParticipants?: User[];
261
+ /** for Clips, when the clip was created. ISO8601 timestamp */
262
+ clipCreatedAt?: string;
263
+ /** for Clips, the application in the stream, if recognized */
264
+ application?: Application;
208
265
  }
209
266
  export interface AuditLogEntry {
210
267
  id: bigint;
@@ -340,11 +397,11 @@ export interface Channel {
340
397
  topic?: string;
341
398
  /** The id of the last message sent in this channel (may not point to an existing or valid message) */
342
399
  lastMessageId?: bigint;
343
- /** The bitrate (in bits) of the voice or stage channel */
400
+ /** The bitrate (in bits per second) of the voice or stage channel */
344
401
  bitrate?: number;
345
402
  /** The user limit of the voice or stage channel */
346
403
  userLimit?: number;
347
- /** Amount of seconds a user has to wait before sending another message (0-21600); bots, as well as users with the permission `manage_messages` or `manage_channel`, are unaffected */
404
+ /** Amount of seconds a user has to wait before sending another message (0-21600); bots, as well as users with the permission `BYPASS_SLOWMODE`, are unaffected */
348
405
  rateLimitPerUser?: number;
349
406
  /** Id of the creator of the thread */
350
407
  ownerId?: bigint;
@@ -372,6 +429,8 @@ export interface Channel {
372
429
  defaultAutoArchiveDuration?: number;
373
430
  /** computed permissions for the invoking user in the channel, including overwrites, only included when part of the resolved data received on an interaction. This does not include implicit permissions, which may need to be checked separately. */
374
431
  permissions?: Permissions;
432
+ /**computed permissions for the bot user in the channel, including overwrites, only included when part of the resolved data received on an interaction. This does not include implicit permissions, which may need to be checked separately */
433
+ appPermissions?: Permissions;
375
434
  /** The flags of the channel */
376
435
  flags?: number;
377
436
  /**
@@ -400,7 +459,7 @@ export interface Channel {
400
459
  /** The default sort order type used to order posts in `GUILD_FORUM` and `GUILD_MEDIA` channels. Defaults to null, which indicates a preferred sort order hasn't been set by a channel admin */
401
460
  defaultSortOrder?: SortOrderTypes | null;
402
461
  defaultForumLayout?: ForumLayout;
403
- /** Whether the channel is nsfw */
462
+ /** Whether the channel is age-restricted */
404
463
  nsfw: boolean;
405
464
  /** Thread-specific fields not needed by other channels */
406
465
  threadMetadata?: ChannelThreadMetadata;
@@ -477,8 +536,8 @@ export interface Component {
477
536
  style?: ButtonStyles | TextStyles;
478
537
  /** text that appears on the button (max 80 characters) */
479
538
  label?: string;
480
- /** the dev-define value of the option, max 100 characters for select or 4000 for input. */
481
- value?: string;
539
+ /** the dev-define value of the option, max 100 characters for select or 4000 for input; or boolean for checkbox response. */
540
+ value?: string | boolean;
482
541
  /** Emoji object that includes fields of name, id, and animated supporting unicode and custom emojis. */
483
542
  emoji?: Pick<Partial<Emoji>, 'id' | 'name' | 'animated'>;
484
543
  /** optional url for link-style buttons that can navigate a user to the web. Only type 5 Link buttons can have a url */
@@ -486,7 +545,8 @@ export interface Component {
486
545
  /** List of channel types to include in a channel select menu options list */
487
546
  channelTypes?: ChannelTypes[];
488
547
  /** The choices! Maximum of 25 items. */
489
- options?: SelectOption[];
548
+ /** The string select options or the radio or checkbox group options */
549
+ options?: SelectOption[] | RadioGroupOption[] | CheckboxGroupOption[];
490
550
  /** A custom placeholder text if nothing is selected. Maximum 150 characters. */
491
551
  placeholder?: string;
492
552
  /** The minimum number of items that must be selected. Default 1. Between 1-25. */
@@ -500,7 +560,7 @@ export interface Component {
500
560
  /** a list of child components */
501
561
  components?: Component[];
502
562
  /** List of default values for auto-populated select menu components; number of default values must be in the range defined by min_values and max_values */
503
- defaultValues?: DiscordComponentDefaultValue[];
563
+ defaultValues?: ComponentDefaultValue[];
504
564
  /** Identifier for a purchasable SKU, only available when using premium-style buttons */
505
565
  skuId?: bigint;
506
566
  /** Optional identifier for component */
@@ -533,6 +593,28 @@ export interface Component {
533
593
  component?: Component;
534
594
  /** The text of the selected options */
535
595
  values?: string[];
596
+ /** Whether the checkbox is selected by default (Checkbox component). */
597
+ default?: boolean;
598
+ /** Resolved entities from selected options */
599
+ resolved?: InteractionDataResolved;
600
+ /**
601
+ * The accepted file types for the file upload
602
+ *
603
+ * @remarks
604
+ * The supported values are `image`, `video`, `audio` or any dot prefixed extension (e.g. `.pdf`)
605
+ *
606
+ * Extensions are case-insensitive and are normalized to lowercase, so `.PDF` and `.pdf` are equivalent.
607
+ *
608
+ * Discord recommends using the provided file groups rather than listing extensions individually.
609
+ * If you do list extensions individually, include `.jpg` for image uploads and both `.mp4` and `.mov` for video uploads,
610
+ * as some mobile clients rely on those extensions.
611
+ *
612
+ * This feature only checks the file extension against the filename and does not inspect the file contents.
613
+ * You are still responsible for validating the actual contents of the file.
614
+ *
615
+ * Up to 10 file types.
616
+ */
617
+ fileTypes?: string[];
536
618
  }
537
619
  export interface UnfurledMediaItem {
538
620
  /** Supports arbitrary urls and attachment://<filename> references */
@@ -543,8 +625,21 @@ export interface UnfurledMediaItem {
543
625
  height?: number | null;
544
626
  /** The width of the media item. This field is ignored and provided by the API as part of the response */
545
627
  width?: number | null;
628
+ /** Thumbhash placeholder if image or video. This field is ignored and provided by the API as part of the response */
629
+ placeholder?: string;
630
+ /** Version of the placeholder (if image or video). This field is ignored and provided by the API as part of the response */
631
+ placeholderVersion?: number;
546
632
  /** The media type of the content. This field is ignored and provided by the API as part of the response */
547
633
  contentType?: string;
634
+ /**
635
+ * Unfurled media item flags combined as a bitfield
636
+ *
637
+ * @remarks
638
+ * This field is ignored and provided by the API as part of the response
639
+ *
640
+ * @see {@link DiscordUnfurledMediaItemFlags}
641
+ */
642
+ flags?: ToggleBitfield;
548
643
  /** The id of the uploaded attachment. Only present if the media was uploaded as an attachment. This field is ignored and provided by the API as part of the response */
549
644
  attachmentId?: bigint;
550
645
  }
@@ -556,7 +651,7 @@ export interface MediaGalleryItem {
556
651
  /** Whether the media should be a spoiler (or blurred out). Defaults to `false` */
557
652
  spoiler?: boolean;
558
653
  }
559
- export interface DiscordComponentDefaultValue {
654
+ export interface ComponentDefaultValue {
560
655
  /** ID of a user, role, or channel */
561
656
  id: bigint;
562
657
  /** Type of value that id represents. */
@@ -572,34 +667,50 @@ export interface Embed {
572
667
  timestamp?: number;
573
668
  color?: number;
574
669
  footer?: EmbedFooter;
575
- thumbnail?: EmbedThumbnail;
670
+ thumbnail?: EmbedImage;
576
671
  provider?: EmbedProvider;
577
672
  author?: EmbedAuthor;
578
673
  fields?: EmbedField[];
674
+ /** @see {@link DiscordEmbedFlags} */
675
+ flags?: ToggleBitfield;
579
676
  }
580
677
  export interface EmbedImage {
581
678
  proxyUrl?: string;
582
679
  height?: number;
583
680
  width?: number;
584
681
  url: string;
682
+ contentType?: string;
683
+ placeholder?: string;
684
+ placeholderVersion?: number;
685
+ description?: string;
686
+ /**
687
+ * Embed media flags combined as a bitfield
688
+ *
689
+ * @see {@link DiscordEmbedMediaFlags}
690
+ */
691
+ flags?: ToggleBitfield;
585
692
  }
586
693
  export interface EmbedVideo {
587
694
  url?: string;
588
695
  proxyUrl?: string;
589
696
  height?: number;
590
697
  width?: number;
698
+ contentType?: string;
699
+ placeholder?: string;
700
+ placeholderVersion?: number;
701
+ description?: string;
702
+ /**
703
+ * Embed media flags combined as a bitfield
704
+ *
705
+ * @see {@link DiscordEmbedMediaFlags}
706
+ */
707
+ flags?: ToggleBitfield;
591
708
  }
592
709
  export interface EmbedFooter {
593
710
  iconUrl?: string;
594
711
  proxyIconUrl?: string;
595
712
  text: string;
596
713
  }
597
- export interface EmbedThumbnail {
598
- proxyUrl?: string;
599
- height?: number;
600
- width?: number;
601
- url: string;
602
- }
603
714
  export interface EmbedProvider {
604
715
  name?: string;
605
716
  url?: string;
@@ -723,7 +834,7 @@ export interface Guild {
723
834
  /** Approximate number of non-offline members in this guild, returned from the GET /guilds/id endpoint when with_counts is true */
724
835
  approximatePresenceCount?: number;
725
836
  /** Guild NSFW level */
726
- nsfwLevel: GuildNsfwLevel;
837
+ nsfwLevel: GuildAgeRestrictionLevel;
727
838
  /** Whether the guild has the boost progress bar enabled */
728
839
  premiumProgressBarEnabled: boolean;
729
840
  /** Guild id */
@@ -765,7 +876,7 @@ export interface Guild {
765
876
  /** All active threads in the guild that the current user has permission to view */
766
877
  threads: Collection<bigint, Channel>;
767
878
  /** Presences of the members in the guild, will only include non-offline members if the size is greater than large threshold */
768
- presences?: PresenceUpdate[];
879
+ presences?: Partial<PresenceUpdate>[];
769
880
  /** Banner hash */
770
881
  banner?: bigint;
771
882
  /** The preferred locale of a Community guild; used in server discovery and notices from Discord; defaults to "en-US" */
@@ -808,7 +919,7 @@ export interface Integration {
808
919
  id: bigint;
809
920
  name: string;
810
921
  guildId: bigint;
811
- type: 'twitch' | 'youtube' | 'discord';
922
+ type: 'twitch' | 'youtube' | 'discord' | 'guild_subscription';
812
923
  account: IntegrationAccount;
813
924
  scopes: OAuth2Scope[];
814
925
  }
@@ -959,7 +1070,7 @@ export interface InteractionData {
959
1070
  targetId?: bigint;
960
1071
  }
961
1072
  export interface InteractionDataResolved {
962
- messages?: Collection<bigint, Message>;
1073
+ messages?: Collection<bigint, Partial<Message>>;
963
1074
  users?: Collection<bigint, User>;
964
1075
  members?: Collection<bigint, InteractionResolvedDataMember<TransformersDesiredProperties, DesiredPropertiesBehavior>>;
965
1076
  roles?: Collection<bigint, Role>;
@@ -991,14 +1102,14 @@ export interface Invite {
991
1102
  /** The maximum number of times the invite can be used */
992
1103
  maxUses: number;
993
1104
  /** The type of target for this voice channel invite */
994
- targetType: number;
1105
+ targetType?: TargetTypes;
995
1106
  /** The target user for this invite */
996
- targetUser: User;
1107
+ targetUser?: User;
997
1108
  /** The embedded application to open for this voice channel embedded application invite */
998
- targetApplication?: Application;
1109
+ targetApplication?: Partial<Application>;
999
1110
  /** Whether or not the invite is temporary (invited users will be kicked on disconnect unless they're assigned a role) */
1000
1111
  temporary: boolean;
1001
- /** How many times the invite has been used (always will be 0) */
1112
+ /** How many times the invite has been used */
1002
1113
  uses: number;
1003
1114
  /** Approximate count of online members (only present when target_user is set) */
1004
1115
  approximateMemberCount: number;
@@ -1013,7 +1124,7 @@ export interface Invite {
1013
1124
  /**
1014
1125
  * The roles assigned to the user upon accepting the invite
1015
1126
  */
1016
- roles?: Role[];
1127
+ roles?: Pick<Role, 'id' | 'name' | 'position' | 'color' | 'colors' | 'icon' | 'unicodeEmoji'>[];
1017
1128
  }
1018
1129
  export interface Member {
1019
1130
  /** The user id of the member. */
@@ -1063,6 +1174,8 @@ export interface Member {
1063
1174
  completedOnboarding?: boolean;
1064
1175
  /** Guild member flags */
1065
1176
  flags: number;
1177
+ /** Data for the member's collectibles */
1178
+ collectibles?: Collectibles;
1066
1179
  }
1067
1180
  export interface Message {
1068
1181
  /** Sent with Rich Presence-related chat embeds */
@@ -1101,6 +1214,8 @@ export interface Message {
1101
1214
  member?: Member;
1102
1215
  /** Users specifically mentioned in the message Note: The user objects in the mentions array will only have the partial member field present in MESSAGE_CREATE and MESSAGE_UPDATE events from text-based guild channels. */
1103
1216
  mentions?: User[];
1217
+ /** The type of channel the message was sent in. Only present when received from the gateway MESSAGE_CREATE event */
1218
+ channelType?: ChannelTypes;
1104
1219
  /** Channels specifically mentioned in this message Note: Not all channel mentions in a message will appear in mention_channels. Only textual channels that are visible to everyone in a discoverable guild will ever be included. Only crossposted messages (via Channel Following) currently include mention_channels at all. If no mentions in the message meet these requirements, this field will not be sent. */
1105
1220
  mentionedChannelIds?: bigint[];
1106
1221
  /** Roles specifically mentioned in this message */
@@ -1129,6 +1244,8 @@ export interface Message {
1129
1244
  poll?: Poll;
1130
1245
  /** The call associated with the message */
1131
1246
  call?: MessageCall;
1247
+ /** The custom client-side theme shared via the message */
1248
+ sharedClientTheme?: SharedClientTheme;
1132
1249
  /** Holds all the boolean values on this message. */
1133
1250
  bitfield?: ToggleBitfield;
1134
1251
  /** Whether this message has been published to subscribed channels (via Channel Following) */
@@ -1248,6 +1365,16 @@ export interface MessagePin {
1248
1365
  /** the pinned message */
1249
1366
  message: Message;
1250
1367
  }
1368
+ export interface SharedClientTheme {
1369
+ /** The hexadecimal-encoded colors of the theme (max of 5) */
1370
+ colors: string[];
1371
+ /** The direction of the theme's colors (max of 360) */
1372
+ gradientAngle: number;
1373
+ /** The intensity of the theme's colors (max of 100) */
1374
+ baseMix: number;
1375
+ /** The mode of the theme */
1376
+ baseTheme?: DiscordBaseTheme;
1377
+ }
1251
1378
  export interface Reaction {
1252
1379
  /** Whether the current user reacted using this emoji */
1253
1380
  me: boolean;
@@ -1380,6 +1507,7 @@ export interface PresenceUpdate {
1380
1507
  desktop?: string;
1381
1508
  mobile?: string;
1382
1509
  web?: string;
1510
+ vr?: string;
1383
1511
  user: User;
1384
1512
  guildId: bigint;
1385
1513
  status: PresenceStatus;
@@ -1560,7 +1688,7 @@ export interface InviteStageInstance {
1560
1688
  topic: string;
1561
1689
  }
1562
1690
  export interface Sticker {
1563
- /** [Id of the sticker](https://discord.com/developers/docs/reference#image-formatting) */
1691
+ /** [Id of the sticker](https://docs.discord.com/developers/reference#image-formatting) */
1564
1692
  id: bigint;
1565
1693
  /** Id of the pack the sticker is from */
1566
1694
  packId?: bigint;
@@ -1570,9 +1698,9 @@ export interface Sticker {
1570
1698
  description: string;
1571
1699
  /** a unicode emoji representing the sticker's expression */
1572
1700
  tags: string;
1573
- /** [type of sticker](https://discord.com/developers/docs/resources/sticker#sticker-object-sticker-types) */
1701
+ /** [type of sticker](https://docs.discord.com/developers/resources/sticker#sticker-object-sticker-types) */
1574
1702
  type: StickerTypes;
1575
- /** [Type of sticker format](https://discord.com/developers/docs/resources/sticker#sticker-object-sticker-format-types) */
1703
+ /** [Type of sticker format](https://docs.discord.com/developers/resources/sticker#sticker-object-sticker-format-types) */
1576
1704
  formatType: StickerFormatTypes;
1577
1705
  /** Whether or not the sticker is available */
1578
1706
  available?: boolean;
@@ -1638,7 +1766,7 @@ export interface User {
1638
1766
  toggles?: UserToggles;
1639
1767
  /** The user's username, not unique across the platform */
1640
1768
  username: string;
1641
- /** The user's display name, if it is set. For bots, this is the application name */
1769
+ /** The user's display name, if it is set */
1642
1770
  globalName?: string;
1643
1771
  /** The user's display name based on `globalName` and `username` */
1644
1772
  displayName: string;
@@ -1810,7 +1938,7 @@ export interface Subscription {
1810
1938
  /** ISO3166-1 alpha-2 country code of the payment source used to purchase the subscription. Missing unless queried with a private OAuth scope. */
1811
1939
  country?: string;
1812
1940
  }
1813
- /** https://discord.com/developers/docs/resources/soundboard#soundboard-sound-object-soundboard-sound-structure */
1941
+ /** https://docs.discord.com/developers/resources/soundboard#soundboard-sound-object-soundboard-sound-structure */
1814
1942
  export interface SoundboardSound {
1815
1943
  /** The name of this sound */
1816
1944
  name: string;
@@ -1829,7 +1957,7 @@ export interface SoundboardSound {
1829
1957
  /** The user who created this sound */
1830
1958
  user?: User;
1831
1959
  }
1832
- /** https://discord.com/developers/docs/resources/lobby#lobby-object-lobby-structure */
1960
+ /** https://docs.discord.com/developers/resources/lobby#lobby-object-lobby-structure */
1833
1961
  export interface Lobby {
1834
1962
  /** The id of this channel */
1835
1963
  id: bigint;
@@ -1842,7 +1970,7 @@ export interface Lobby {
1842
1970
  /** the guild channel linked to the lobby */
1843
1971
  linkedChannel?: Channel;
1844
1972
  }
1845
- /** https://discord.com/developers/docs/resources/lobby#lobby-member-object-lobby-member-structure */
1973
+ /** https://docs.discord.com/developers/resources/lobby#lobby-member-object-lobby-member-structure */
1846
1974
  export interface LobbyMember {
1847
1975
  /** The id of the user */
1848
1976
  id: bigint;
@@ -1851,4 +1979,36 @@ export interface LobbyMember {
1851
1979
  /** lobby member flags combined as as bitfield */
1852
1980
  flags?: ToggleBitfield;
1853
1981
  }
1982
+ /** https://docs.discord.com/developers/resources/lobby#lobby-message-object */
1983
+ export interface LobbyMessage {
1984
+ /** id of the message */
1985
+ id: bigint;
1986
+ /** Message type */
1987
+ type: MessageTypes;
1988
+ /** Message content */
1989
+ content: string;
1990
+ /** id of the lobby this message was sent to */
1991
+ lobbyId: bigint;
1992
+ /** Included for compatibility with the messages interface; equal to lobby_id */
1993
+ channelId: bigint;
1994
+ /** The user who sent the message */
1995
+ author: User;
1996
+ /** Dispatch-only metadata sent with the message */
1997
+ metadata?: Record<string, string>;
1998
+ /** Moderation metadata set via Update Lobby Message Moderation Metadata */
1999
+ moderationMetadata?: Record<string, string>;
2000
+ /**
2001
+ * Message flags bitfield
2002
+ *
2003
+ * @see {@link MessageFlags}
2004
+ */
2005
+ flags: ToggleBitfield;
2006
+ /** The application that sent the message */
2007
+ applicationId: bigint;
2008
+ }
2009
+ /** https://docs.discord.com/developers/resources/lobby#lobby-invite-object */
2010
+ export interface LobbyInvite {
2011
+ /** The invite code for the lobby's linked channel */
2012
+ code: string;
2013
+ }
1854
2014
  //# sourceMappingURL=types.d.ts.map