disgroove 2.1.0-dev.8697575 → 2.1.0-dev.ad98d6b

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.
@@ -2,7 +2,7 @@
2
2
  import { GatewayIntents, type OAuth2Scopes, type StatusTypes, type ActionTypes, type ImageWidgetStyleOptions, type MFALevel } from "./constants";
3
3
  import { Util } from "./utils";
4
4
  import { RequestManager } from "./rest";
5
- import type { Activity, AuditLogEntry, AutoModerationActionExecutionEventFields, AutoModerationRule, Channel, ChannelPinsUpdateEventFields, GuildApplicationCommandPermissions, GuildBanAddEventFields, GuildBanRemoveEventFields, GuildMemberRemoveEventFields, GuildMemberUpdateEventFields, GuildMembersChunkEventFields, GuildScheduledEvent, IntegrationDeleteEventFields, InviteCreateEventFields, InviteDeleteEventFields, MessageDeleteBulkEventFields, MessageDeleteEventFields, MessageReactionAddEventFields, MessageReactionRemoveAllEventFields, MessageReactionRemoveEmojiEventFields, MessageReactionRemoveEventFields, PresenceUpdateEventFields, StageInstance, StickerPack, ThreadListSyncEventFields, ThreadMember, ThreadMembersUpdateEventFields, TypingStartEventFields, VoiceRegion, VoiceServerUpdateEventFields, Entitlement, UnavailableGuild, CreateGlobalApplicationCommandParams, ApplicationCommand, CreateGuildApplicationCommandParams, CreateTestEntitlementParams, EditCurrentApplicationParams, Application, EditGlobalApplicationCommandParams, EditGuildApplicationCommandParams, ApplicationRoleConnectionMetadata, Sku, BulkEditGlobalApplicationCommandsParams, BulkEditGuildApplicationCommandsParams, CreateGuildParams, CreateGuildFromGuildTemplateParams, CreateStageInstanceParams, EditAutoModerationRuleParams, CreateChannelInviteParams, Invite, CreateMessageParams, Message, CreateThreadFromMessageParams, CreateThreadParams, CreateThreadWithoutMessageParams, Webhook, EditChannelParams, EditMessageParams, FollowedChannel, User, Emoji, EditGuildEmojiParams, AddGuildMemberParams, BeginGuildPruneParams, GuildMember, CreateAutoModerationRuleParams, CreateGuildBanParams, CreateGuildChannelParams, CreateGuildEmojiParams, CreateGuildRoleParams, Role, CreateGuildScheduledEventParams, CreateGuildStickerParams, CreateGuildTemplateParams, GuildTemplate, Sticker, EditGuildParams, Guild, EditGuildChannelPositionsParams, EditGuildMemberParams, EditCurrentUserVoiceStateParams, EditCurrentGuildMemberParams, EditGuildMFALevelParams, EditGuildOnboardingParams, EditGuildRolePositionsParams, EditGuildScheduledEventParams, EditGuildStickerParams, EditGuildTemplateParams, EditGuildWelcomeScreenParams, WelcomeScreen, GuildWidgetSettings, AuditLog, Ban, Integration, GuildOnboarding, GuildPreview, GuildScheduledEventUser, GuildWidget, ExecuteWebhookParams, CreateInteractionFollowupMessageParams, InteractionResponse, EditWebhookMessageParams, EditStageInstanceParams, CreateDMParams, EditCurrentUserParams, ApplicationRoleConnection, Connection, UpdateCurrentUserApplicationRoleConnection, EditWebhookParams, Interaction, VoiceState, GuildCreateEventExtraFields, GuildMemberAddEventExtraFields, IntegrationCreateEventExtraFields, IntegrationUpdateEventExtraFields, MessageCreateEventExtraFields, ThreadMemberUpdateEventExtraFields, MessagePollVoteAddFields, MessagePollVoteRemoveFields, BulkGuildBanParams } from "./types";
5
+ import type { Activity, AuditLogEntry, AutoModerationActionExecutionEventFields, AutoModerationRule, Channel, ChannelPinsUpdateEventFields, GuildApplicationCommandPermissions, GuildBanAddEventFields, GuildBanRemoveEventFields, GuildMemberRemoveEventFields, GuildMemberUpdateEventFields, GuildMembersChunkEventFields, GuildScheduledEvent, IntegrationDeleteEventFields, InviteCreateEventFields, InviteDeleteEventFields, MessageDeleteBulkEventFields, MessageDeleteEventFields, MessageReactionAddEventFields, MessageReactionRemoveAllEventFields, MessageReactionRemoveEmojiEventFields, MessageReactionRemoveEventFields, PresenceUpdateEventFields, StageInstance, StickerPack, ThreadListSyncEventFields, ThreadMember, ThreadMembersUpdateEventFields, TypingStartEventFields, VoiceRegion, VoiceServerUpdateEventFields, Entitlement, UnavailableGuild, CreateGlobalApplicationCommandParams, ApplicationCommand, CreateGuildApplicationCommandParams, CreateTestEntitlementParams, EditCurrentApplicationParams, Application, EditGlobalApplicationCommandParams, EditGuildApplicationCommandParams, ApplicationRoleConnectionMetadata, Sku, BulkEditGlobalApplicationCommandsParams, BulkEditGuildApplicationCommandsParams, CreateGuildParams, CreateGuildFromGuildTemplateParams, CreateStageInstanceParams, EditAutoModerationRuleParams, CreateChannelInviteParams, Invite, CreateMessageParams, Message, CreateThreadFromMessageParams, CreateThreadParams, CreateThreadWithoutMessageParams, Webhook, EditChannelParams, EditMessageParams, FollowedChannel, User, Emoji, EditGuildEmojiParams, AddGuildMemberParams, BeginGuildPruneParams, GuildMember, CreateAutoModerationRuleParams, CreateGuildBanParams, CreateGuildChannelParams, CreateGuildEmojiParams, CreateGuildRoleParams, Role, CreateGuildScheduledEventParams, CreateGuildStickerParams, CreateGuildTemplateParams, GuildTemplate, Sticker, EditGuildParams, Guild, EditGuildChannelPositionsParams, EditGuildMemberParams, EditCurrentUserVoiceStateParams, EditCurrentGuildMemberParams, EditGuildMFALevelParams, EditGuildOnboardingParams, EditGuildRolePositionsParams, EditGuildScheduledEventParams, EditGuildStickerParams, EditGuildTemplateParams, EditGuildWelcomeScreenParams, WelcomeScreen, GuildWidgetSettings, AuditLog, Ban, Integration, GuildOnboarding, GuildPreview, GuildScheduledEventUser, GuildWidget, ExecuteWebhookParams, CreateInteractionFollowupMessageParams, InteractionResponse, EditWebhookMessageParams, EditStageInstanceParams, CreateDMParams, EditCurrentUserParams, ApplicationRoleConnection, Connection, UpdateCurrentUserApplicationRoleConnection, EditWebhookParams, Interaction, VoiceState, GuildCreateEventExtraFields, GuildMemberAddEventExtraFields, IntegrationCreateEventExtraFields, IntegrationUpdateEventExtraFields, MessageCreateEventExtraFields, ThreadMemberUpdateEventExtraFields, MessagePollVoteAddFields, MessagePollVoteRemoveFields, BulkGuildBanParams, BulkDeleteMessagesParams } from "./types";
6
6
  import EventEmitter from "node:events";
7
7
  import { ShardManager } from "./gateway";
8
8
  export interface ClientOptions {
@@ -44,9 +44,7 @@ export declare class Client extends EventEmitter {
44
44
  failedUsers: Array<string>;
45
45
  }>;
46
46
  /** https://discord.com/developers/docs/resources/channel#bulk-delete-messages */
47
- bulkDeleteMessages(channelId: string, options?: {
48
- messagesIds?: Array<string>;
49
- }, reason?: string): void;
47
+ bulkDeleteMessages(channelId: string, options?: BulkDeleteMessagesParams, reason?: string): void;
50
48
  /** https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-global-application-commands */
51
49
  bulkEditGlobalApplicationCommands(applicationId: string, commands: BulkEditGlobalApplicationCommandsParams): Promise<Array<ApplicationCommand>>;
52
50
  /** https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-guild-application-commands */
@@ -249,6 +247,8 @@ export declare class Client extends EventEmitter {
249
247
  }): Promise<Message>;
250
248
  /** https://discord.com/developers/docs/resources/webhook#modify-webhook-with-token */
251
249
  editWebhookWithToken(webhookId: string, webhookToken: string, options: Omit<EditWebhookParams, "channelId">, reason?: string): Promise<Webhook>;
250
+ /** https://discord.com/developers/docs/resources/poll#end-poll */
251
+ endPoll(channelId: string, messageId: string): Promise<Message>;
252
252
  /** https://discord.com/developers/docs/resources/webhook#execute-webhook */
253
253
  executeWebhook(webhookId: string, webhookToken: string, options: ExecuteWebhookParams & {
254
254
  wait: boolean;
@@ -263,7 +263,6 @@ export declare class Client extends EventEmitter {
263
263
  threadId?: string;
264
264
  wait?: boolean;
265
265
  }): Promise<Message | null>;
266
- expirePoll(channelId: string, messageId: string): Promise<Message>;
267
266
  /** https://discord.com/developers/docs/resources/channel#follow-announcement-channel */
268
267
  followChannel(channelId: string, options: {
269
268
  webhookChannelId: string;
@@ -481,6 +480,7 @@ export declare class Client extends EventEmitter {
481
480
  }>;
482
481
  /** https://discord.com/developers/docs/resources/channel#get-pinned-messages */
483
482
  getPinnedMessages(channelId: string): Promise<Array<Message>>;
483
+ /** https://discord.com/developers/docs/resources/poll#get-answer-voters */
484
484
  getPollAnswerVoters(channelId: string, messageId: string, answerId: string, options?: {
485
485
  after?: string;
486
486
  limit?: number;
@@ -100,7 +100,7 @@ class Client extends node_events_1.default {
100
100
  bulkDeleteMessages(channelId, options, reason) {
101
101
  this.rest.request(rest_1.RESTMethods.Post, rest_1.Endpoints.channelBulkDelete(channelId), {
102
102
  json: {
103
- messages: options?.messagesIds,
103
+ messages: options?.messages,
104
104
  },
105
105
  reason,
106
106
  });
@@ -436,6 +436,9 @@ class Client extends node_events_1.default {
436
436
  ? this.util.toSnakeCase(options.data.components)
437
437
  : undefined,
438
438
  attachments: options.data?.attachments?.map((attachment) => this.util.toSnakeCase(attachment)),
439
+ poll: options.data?.poll !== undefined
440
+ ? this.util.toSnakeCase(options.data?.poll)
441
+ : undefined,
439
442
  },
440
443
  },
441
444
  files: options.data?.files,
@@ -517,6 +520,9 @@ class Client extends node_events_1.default {
517
520
  attachments: options.attachments?.map((attachment) => this.util.toSnakeCase(attachment)),
518
521
  flags: options.flags,
519
522
  enforce_nonce: options.enforceNonce,
523
+ poll: options.poll !== undefined
524
+ ? this.util.toSnakeCase(options.poll)
525
+ : undefined,
520
526
  },
521
527
  files: options.files,
522
528
  })
@@ -1238,6 +1244,12 @@ class Client extends node_events_1.default {
1238
1244
  })
1239
1245
  .then((response) => this.util.toCamelCase(response));
1240
1246
  }
1247
+ /** https://discord.com/developers/docs/resources/poll#end-poll */
1248
+ endPoll(channelId, messageId) {
1249
+ return this.rest
1250
+ .request(rest_1.RESTMethods.Post, rest_1.Endpoints.pollExpire(channelId, messageId))
1251
+ .then((response) => this.util.toCamelCase(response));
1252
+ }
1241
1253
  /** https://discord.com/developers/docs/resources/webhook#execute-webhook */
1242
1254
  executeWebhook(webhookId, webhookToken, options) {
1243
1255
  return this.rest
@@ -1265,6 +1277,10 @@ class Client extends node_events_1.default {
1265
1277
  attachments: options.attachments?.map((attachment) => this.util.toSnakeCase(attachment)),
1266
1278
  flags: options.flags,
1267
1279
  thread_name: options.threadName,
1280
+ applied_tags: options.appliedTags,
1281
+ poll: options.poll !== undefined
1282
+ ? this.util.toSnakeCase(options.poll)
1283
+ : undefined,
1268
1284
  },
1269
1285
  files: options.files,
1270
1286
  query: {
@@ -1290,11 +1306,6 @@ class Client extends node_events_1.default {
1290
1306
  })
1291
1307
  .then((response) => response !== null ? this.util.toCamelCase(response) : null);
1292
1308
  }
1293
- expirePoll(channelId, messageId) {
1294
- return this.rest
1295
- .request(rest_1.RESTMethods.Post, rest_1.Endpoints.pollExpire(channelId, messageId))
1296
- .then((response) => this.util.toCamelCase(response));
1297
- }
1298
1309
  /** https://discord.com/developers/docs/resources/channel#follow-announcement-channel */
1299
1310
  followChannel(channelId, options) {
1300
1311
  return this.rest
@@ -1752,6 +1763,7 @@ class Client extends node_events_1.default {
1752
1763
  .request(rest_1.RESTMethods.Get, rest_1.Endpoints.channelPins(channelId))
1753
1764
  .then((response) => response.map((message) => this.util.toCamelCase(message)));
1754
1765
  }
1766
+ /** https://discord.com/developers/docs/resources/poll#get-answer-voters */
1755
1767
  getPollAnswerVoters(channelId, messageId, answerId, options) {
1756
1768
  return this.rest
1757
1769
  .request(rest_1.RESTMethods.Get, rest_1.Endpoints.pollAnswerVoters(channelId, messageId, answerId), {
@@ -76,6 +76,12 @@ export declare enum InteractionType {
76
76
  ApplicationCommandAutocomplete = 4,
77
77
  ModalSubmit = 5
78
78
  }
79
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-context-types */
80
+ export declare enum InterationContextTypes {
81
+ Guild = 0,
82
+ BotDM = 1,
83
+ PrivateChannel = 2
84
+ }
79
85
  /** https://discord.com/developers/docs/interactions/message-components#component-object-component-types */
80
86
  export declare enum ComponentTypes {
81
87
  ActionRow = 1,
@@ -461,6 +467,7 @@ export declare enum InviteTargetTypes {
461
467
  Stream = 1,
462
468
  EmbeddedApplication = 2
463
469
  }
470
+ /** https://discord.com/developers/docs/resources/poll#layout-type */
464
471
  export declare enum LayoutType {
465
472
  Default = 1
466
473
  }
@@ -566,9 +573,11 @@ export declare enum GatewayIntents {
566
573
  GuildScheduledEvents = 65536,
567
574
  AutoModerationConfiguration = 1048576,
568
575
  AutoModerationActionExecution = 2097152,
569
- AllNonPrivileged = 3243773,
576
+ GuildMessagePolls = 16777216,
577
+ DirectMessagePolls = 33554432,
578
+ AllNonPrivileged = 53575421,
570
579
  AllPrivileged = 33026,
571
- All = 3276799
580
+ All = 53608447
572
581
  }
573
582
  /** https://discord.com/developers/docs/topics/gateway-events#update-presence-status-types */
574
583
  export declare enum StatusTypes {
@@ -1068,6 +1077,7 @@ export declare const BitwisePermissionFlags: {
1068
1077
  readonly CreateEvents: bigint;
1069
1078
  readonly UseExternalSounds: bigint;
1070
1079
  readonly SendVoiceMessages: bigint;
1080
+ readonly SendPolls: bigint;
1071
1081
  };
1072
1082
  /** https://discord.com/developers/docs/topics/permissions#role-object-role-flags */
1073
1083
  export declare enum RoleFlags {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StickerFormatTypes = exports.StickerTypes = exports.PrivacyLevel = exports.LayoutType = exports.InviteTargetTypes = exports.GuildScheduledEventStatus = exports.GuildScheduledEventEntityTypes = exports.GuildScheduledEventPrivacyLevel = exports.ImageWidgetStyleOptions = exports.PromptTypes = exports.OnboardingMode = exports.IntegrationExpireBehaviors = exports.GuildMemberFlags = exports.MutableGuildFeatures = exports.GuildFeatures = exports.SystemChannelFlags = exports.PremiumTier = exports.GuildNSFWLevel = exports.VerificationLevel = exports.MFALevel = exports.ExplicitContentFilterLevel = exports.DefaultMessageNotificationLevel = exports.AllowedMentionTypes = exports.AttachmentFlags = exports.MessageFlags = exports.MessageActivityTypes = exports.MessageTypes = exports.ForumLayoutTypes = exports.SortOrderTypes = exports.ChannelFlags = exports.VideoQualityModes = exports.ChannelTypes = exports.ActionTypes = exports.EventTypes = exports.KeywordPresetTypes = exports.TriggerTypes = exports.AuditLogEvents = exports.ApplicationRoleConnectionMetadataType = exports.ApplicationFlags = exports.ApplicationIntegrationTypes = exports.TextInputStyles = exports.ButtonStyles = exports.InteractionCallbackType = exports.ComponentTypes = exports.InteractionType = exports.ApplicationCommandPermissionType = exports.ApplicationCommandOptionType = exports.ApplicationCommandTypes = exports.Locales = exports.ImageFormats = void 0;
4
- exports.EntitlementTypes = exports.SkuFlags = exports.SkuTypes = exports.MembershipState = exports.TeamMemberRoleTypes = exports.RoleFlags = exports.BitwisePermissionFlags = exports.RPCCloseEventCodes = exports.RPCErrorCodes = exports.JSONErrorCodes = exports.HTTPResponseCodes = exports.VoiceCloseEventCodes = exports.VoiceOPCodes = exports.GatewayCloseEventCodes = exports.GatewayOPCodes = exports.OAuth2Scopes = exports.ActivityFlags = exports.ActivityType = exports.GatewayEvents = exports.StatusTypes = exports.GatewayIntents = exports.DeviceType = exports.WebhookTypes = exports.VisibilityTypes = exports.Services = exports.PremiumTypes = exports.UserFlags = void 0;
3
+ exports.StickerTypes = exports.PrivacyLevel = exports.LayoutType = exports.InviteTargetTypes = exports.GuildScheduledEventStatus = exports.GuildScheduledEventEntityTypes = exports.GuildScheduledEventPrivacyLevel = exports.ImageWidgetStyleOptions = exports.PromptTypes = exports.OnboardingMode = exports.IntegrationExpireBehaviors = exports.GuildMemberFlags = exports.MutableGuildFeatures = exports.GuildFeatures = exports.SystemChannelFlags = exports.PremiumTier = exports.GuildNSFWLevel = exports.VerificationLevel = exports.MFALevel = exports.ExplicitContentFilterLevel = exports.DefaultMessageNotificationLevel = exports.AllowedMentionTypes = exports.AttachmentFlags = exports.MessageFlags = exports.MessageActivityTypes = exports.MessageTypes = exports.ForumLayoutTypes = exports.SortOrderTypes = exports.ChannelFlags = exports.VideoQualityModes = exports.ChannelTypes = exports.ActionTypes = exports.EventTypes = exports.KeywordPresetTypes = exports.TriggerTypes = exports.AuditLogEvents = exports.ApplicationRoleConnectionMetadataType = exports.ApplicationFlags = exports.ApplicationIntegrationTypes = exports.TextInputStyles = exports.ButtonStyles = exports.InteractionCallbackType = exports.ComponentTypes = exports.InterationContextTypes = exports.InteractionType = exports.ApplicationCommandPermissionType = exports.ApplicationCommandOptionType = exports.ApplicationCommandTypes = exports.Locales = exports.ImageFormats = void 0;
4
+ exports.EntitlementTypes = exports.SkuFlags = exports.SkuTypes = exports.MembershipState = exports.TeamMemberRoleTypes = exports.RoleFlags = exports.BitwisePermissionFlags = exports.RPCCloseEventCodes = exports.RPCErrorCodes = exports.JSONErrorCodes = exports.HTTPResponseCodes = exports.VoiceCloseEventCodes = exports.VoiceOPCodes = exports.GatewayCloseEventCodes = exports.GatewayOPCodes = exports.OAuth2Scopes = exports.ActivityFlags = exports.ActivityType = exports.GatewayEvents = exports.StatusTypes = exports.GatewayIntents = exports.DeviceType = exports.WebhookTypes = exports.VisibilityTypes = exports.Services = exports.PremiumTypes = exports.UserFlags = exports.StickerFormatTypes = void 0;
5
5
  /** https://discord.com/developers/docs/reference#image-formatting-image-formats */
6
6
  var ImageFormats;
7
7
  (function (ImageFormats) {
@@ -86,6 +86,13 @@ var InteractionType;
86
86
  InteractionType[InteractionType["ApplicationCommandAutocomplete"] = 4] = "ApplicationCommandAutocomplete";
87
87
  InteractionType[InteractionType["ModalSubmit"] = 5] = "ModalSubmit";
88
88
  })(InteractionType || (exports.InteractionType = InteractionType = {}));
89
+ /** https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-context-types */
90
+ var InterationContextTypes;
91
+ (function (InterationContextTypes) {
92
+ InterationContextTypes[InterationContextTypes["Guild"] = 0] = "Guild";
93
+ InterationContextTypes[InterationContextTypes["BotDM"] = 1] = "BotDM";
94
+ InterationContextTypes[InterationContextTypes["PrivateChannel"] = 2] = "PrivateChannel";
95
+ })(InterationContextTypes || (exports.InterationContextTypes = InterationContextTypes = {}));
89
96
  /** https://discord.com/developers/docs/interactions/message-components#component-object-component-types */
90
97
  var ComponentTypes;
91
98
  (function (ComponentTypes) {
@@ -511,6 +518,7 @@ var InviteTargetTypes;
511
518
  InviteTargetTypes[InviteTargetTypes["Stream"] = 1] = "Stream";
512
519
  InviteTargetTypes[InviteTargetTypes["EmbeddedApplication"] = 2] = "EmbeddedApplication";
513
520
  })(InviteTargetTypes || (exports.InviteTargetTypes = InviteTargetTypes = {}));
521
+ /** https://discord.com/developers/docs/resources/poll#layout-type */
514
522
  var LayoutType;
515
523
  (function (LayoutType) {
516
524
  LayoutType[LayoutType["Default"] = 1] = "Default";
@@ -627,9 +635,11 @@ var GatewayIntents;
627
635
  GatewayIntents[GatewayIntents["GuildScheduledEvents"] = 65536] = "GuildScheduledEvents";
628
636
  GatewayIntents[GatewayIntents["AutoModerationConfiguration"] = 1048576] = "AutoModerationConfiguration";
629
637
  GatewayIntents[GatewayIntents["AutoModerationActionExecution"] = 2097152] = "AutoModerationActionExecution";
630
- GatewayIntents[GatewayIntents["AllNonPrivileged"] = 3243773] = "AllNonPrivileged";
638
+ GatewayIntents[GatewayIntents["GuildMessagePolls"] = 16777216] = "GuildMessagePolls";
639
+ GatewayIntents[GatewayIntents["DirectMessagePolls"] = 33554432] = "DirectMessagePolls";
640
+ GatewayIntents[GatewayIntents["AllNonPrivileged"] = 53575421] = "AllNonPrivileged";
631
641
  GatewayIntents[GatewayIntents["AllPrivileged"] = 33026] = "AllPrivileged";
632
- GatewayIntents[GatewayIntents["All"] = 3276799] = "All";
642
+ GatewayIntents[GatewayIntents["All"] = 53608447] = "All";
633
643
  })(GatewayIntents || (exports.GatewayIntents = GatewayIntents = {}));
634
644
  /** https://discord.com/developers/docs/topics/gateway-events#update-presence-status-types */
635
645
  var StatusTypes;
@@ -1142,6 +1152,7 @@ exports.BitwisePermissionFlags = {
1142
1152
  CreateEvents: 1n << 44n,
1143
1153
  UseExternalSounds: 1n << 45n,
1144
1154
  SendVoiceMessages: 1n << 46n,
1155
+ SendPolls: 1n << 49n,
1145
1156
  };
1146
1157
  /** https://discord.com/developers/docs/topics/permissions#role-object-role-flags */
1147
1158
  var RoleFlags;
@@ -1,5 +1,5 @@
1
1
  import type { LocaleMap } from ".";
2
- import type { ApplicationCommandTypes, ApplicationCommandOptionType, ChannelTypes, ApplicationCommandPermissionType } from "../constants";
2
+ import type { ApplicationCommandTypes, ApplicationCommandOptionType, ChannelTypes, ApplicationCommandPermissionType, ApplicationIntegrationTypes, InterationContextTypes } from "../constants";
3
3
  /** https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-structure */
4
4
  export interface RawApplicationCommand {
5
5
  id: string;
@@ -14,6 +14,8 @@ export interface RawApplicationCommand {
14
14
  default_member_permissions: string | null;
15
15
  dm_permission?: boolean;
16
16
  default_permission?: boolean | null;
17
+ integration_types?: Array<ApplicationIntegrationTypes>;
18
+ contexts?: Array<InterationContextTypes>;
17
19
  nsfw?: boolean;
18
20
  version: string;
19
21
  }
@@ -66,6 +68,8 @@ export interface ApplicationCommand {
66
68
  defaultMemberPermissions: string | null;
67
69
  dmPermission?: boolean;
68
70
  defaultPermission?: boolean | null;
71
+ integrationTypes?: Array<ApplicationIntegrationTypes>;
72
+ contexts?: Array<InterationContextTypes>;
69
73
  nsfw?: boolean;
70
74
  version: string;
71
75
  }
@@ -26,7 +26,7 @@ export interface RawApplication {
26
26
  role_connections_verification_url?: string;
27
27
  tags?: Array<string>;
28
28
  install_params?: RawInstallParams;
29
- integration_types_config?: Record<string, RawApplicationIntegrationTypeConfiguration>;
29
+ integration_types_config?: Record<ApplicationIntegrationTypes, RawApplicationIntegrationTypeConfiguration>;
30
30
  custom_install_url?: string;
31
31
  }
32
32
  /** https://discord.com/developers/docs/resources/application#application-object-application-integration-type-configuration-object */
@@ -1,7 +1,6 @@
1
- import type { AllowedMentionTypes, AttachmentFlags, ChannelFlags, ChannelTypes, ForumLayoutTypes, InviteTargetTypes, MessageActivityTypes, MessageFlags, MessageTypes, SortOrderTypes, VideoQualityModes } from "../constants";
2
- import type { RawApplication, RawGuildMember, RawUser, RawEmoji, RawSticker, RawStickerItem, RawMessageInteraction, MessageInteraction, StickerItem, Sticker, Emoji, User, Application, GuildMember, RawActionRow, ActionRow, RawResolvedData, ResolvedData } from ".";
1
+ import type { AllowedMentionTypes, ApplicationIntegrationTypes, AttachmentFlags, ChannelFlags, ChannelTypes, ForumLayoutTypes, InteractionType, InviteTargetTypes, MessageActivityTypes, MessageFlags, MessageTypes, SortOrderTypes, VideoQualityModes } from "../constants";
2
+ import type { RawApplication, RawGuildMember, RawUser, RawEmoji, RawSticker, RawStickerItem, RawMessageInteraction, MessageInteraction, StickerItem, Sticker, Emoji, User, Application, GuildMember, RawActionRow, ActionRow, RawResolvedData, ResolvedData, RawPollCreateParams, PollCreateParams } from ".";
3
3
  import type { File } from "../rest";
4
- import type { Poll, RawPoll } from "./poll";
5
4
  /** https://discord.com/developers/docs/resources/channel#channel-object-channel-structure */
6
5
  export interface RawChannel {
7
6
  id: string;
@@ -66,6 +65,7 @@ export interface RawMessage {
66
65
  message_reference?: RawMessageReference;
67
66
  flags?: MessageFlags;
68
67
  referenced_message?: RawMessage | null;
68
+ interaction_metadata?: RawMessageInteractionMetadata;
69
69
  interaction?: RawMessageInteraction;
70
70
  thread?: RawChannel;
71
71
  components?: Array<RawActionRow>;
@@ -74,13 +74,23 @@ export interface RawMessage {
74
74
  position?: number;
75
75
  role_subscription_data?: RawRoleSubscriptionData;
76
76
  resolved?: RawResolvedData;
77
- poll?: RawPoll;
77
+ poll?: RawPollCreateParams;
78
78
  }
79
79
  /** https://discord.com/developers/docs/resources/channel#message-object-message-activity-structure */
80
80
  export interface RawMessageActivity {
81
81
  type: MessageActivityTypes;
82
82
  party_id?: string;
83
83
  }
84
+ /** https://discord.com/developers/docs/resources/channel#message-interaction-metadata-object-message-interaction-metadata-structure */
85
+ export interface RawMessageInteractionMetadata {
86
+ id: string;
87
+ type: InteractionType;
88
+ user: RawUser;
89
+ authorizing_integration_owners: Record<ApplicationIntegrationTypes, string>;
90
+ original_response_message_id?: string;
91
+ interacted_message_id?: string;
92
+ triggering_interaction_metadata?: RawMessageInteractionMetadata;
93
+ }
84
94
  /** https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure */
85
95
  export interface RawMessageReference {
86
96
  message_id?: string;
@@ -304,6 +314,7 @@ export interface Message {
304
314
  messageReference?: MessageReference;
305
315
  flags?: MessageFlags;
306
316
  referencedMessage?: Message | null;
317
+ interactionMetadata?: MessageInteractionMetadata;
307
318
  interaction?: MessageInteraction;
308
319
  thread?: Channel;
309
320
  components?: Array<ActionRow>;
@@ -312,12 +323,20 @@ export interface Message {
312
323
  position?: number;
313
324
  roleSubscriptionData?: RoleSubscriptionData;
314
325
  resolved?: ResolvedData;
315
- poll?: Poll;
326
+ poll?: PollCreateParams;
316
327
  }
317
328
  export interface MessageActivity {
318
329
  type: MessageActivityTypes;
319
330
  partyId?: string;
320
331
  }
332
+ export interface MessageInteractionMetadata {
333
+ id: string;
334
+ type: InteractionType;
335
+ user: User;
336
+ authorizingIntegrationOwners: Record<ApplicationIntegrationTypes, string>;
337
+ originalResponseMessageId?: string;
338
+ interactedMessageId?: string;
339
+ }
321
340
  export interface MessageReference {
322
341
  messageId?: string;
323
342
  channelId?: string;
@@ -498,7 +517,7 @@ export interface CreateMessageParams {
498
517
  attachments?: Array<Attachment>;
499
518
  flags?: MessageFlags;
500
519
  enforceNonce?: boolean;
501
- poll?: Poll;
520
+ poll?: PollCreateParams;
502
521
  }
503
522
  export interface EditMessageParams {
504
523
  content?: string | null;
@@ -257,6 +257,7 @@ export interface RawVoiceServerUpdateEventFields {
257
257
  guild_id: string;
258
258
  endpoint: string | null;
259
259
  }
260
+ /** https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-add-message-poll-vote-add-fields */
260
261
  export interface RawMessagePollVoteAddFields {
261
262
  user_id: string;
262
263
  channel_id: string;
@@ -264,6 +265,7 @@ export interface RawMessagePollVoteAddFields {
264
265
  guild_id?: string;
265
266
  answer_id: number;
266
267
  }
268
+ /** https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-remove */
267
269
  export interface RawMessagePollVoteRemoveFields {
268
270
  user_id: string;
269
271
  channel_id: string;
@@ -14,6 +14,7 @@ export * from "./guild";
14
14
  export * from "./interaction";
15
15
  export * from "./invite";
16
16
  export * from "./message-components";
17
+ export * from "./poll";
17
18
  export * from "./role";
18
19
  export * from "./sku";
19
20
  export * from "./stage-instance";
@@ -29,6 +29,7 @@ __exportStar(require("./guild"), exports);
29
29
  __exportStar(require("./interaction"), exports);
30
30
  __exportStar(require("./invite"), exports);
31
31
  __exportStar(require("./message-components"), exports);
32
+ __exportStar(require("./poll"), exports);
32
33
  __exportStar(require("./role"), exports);
33
34
  __exportStar(require("./sku"), exports);
34
35
  __exportStar(require("./stage-instance"), exports);
@@ -1,7 +1,6 @@
1
- import type { RawAttachment, RawChannel, RawGuildMember, RawMessage, RawUser, RawRole, Attachment, User, GuildMember, Message, Role, Channel, Entitlement, RawEntitlement, RawEmbed, RawAllowedMentions, RawActionRow, RawApplicationCommandOptionChoice, Embed, AllowedMentions, ActionRow, ApplicationCommandOptionChoice, RawTextInput, TextInput, ExecuteWebhookParams } from ".";
1
+ import type { RawAttachment, RawChannel, RawGuildMember, RawMessage, RawUser, RawRole, Attachment, User, GuildMember, Message, Role, Channel, Entitlement, RawEntitlement, RawEmbed, RawAllowedMentions, RawActionRow, RawApplicationCommandOptionChoice, Embed, AllowedMentions, ActionRow, ApplicationCommandOptionChoice, RawTextInput, TextInput, ExecuteWebhookParams, RawPollCreateParams, PollCreateParams } from ".";
2
2
  import type { ApplicationCommandOptionType, ApplicationCommandTypes, ComponentTypes, InteractionCallbackType, InteractionType, MessageFlags } from "../constants";
3
3
  import type { File } from "../rest";
4
- import type { Poll, RawPoll } from "./poll";
5
4
  /** https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-structure */
6
5
  export interface RawInteraction {
7
6
  id: string;
@@ -85,7 +84,7 @@ export interface RawInteractionCallbackData {
85
84
  flags?: MessageFlags;
86
85
  components?: Array<RawActionRow>;
87
86
  attachments?: Array<RawAttachment>;
88
- poll?: RawPoll;
87
+ poll?: RawPollCreateParams;
89
88
  files?: Array<File>;
90
89
  choices?: Array<RawApplicationCommandOptionChoice>;
91
90
  custom_id?: string;
@@ -165,7 +164,7 @@ export interface InteractionCallbackData {
165
164
  flags?: MessageFlags;
166
165
  components?: Array<ActionRow>;
167
166
  attachments?: Array<Attachment>;
168
- poll?: Poll;
167
+ poll?: PollCreateParams;
169
168
  files?: Array<File>;
170
169
  choices?: Array<ApplicationCommandOptionChoice>;
171
170
  customId?: string;
@@ -1,25 +1,38 @@
1
1
  import type { LayoutType } from "../constants";
2
2
  import type { Emoji, RawEmoji } from "./emoji";
3
+ /** https://discord.com/developers/docs/resources/poll#poll-object-poll-object-structure */
3
4
  export interface RawPoll {
4
5
  question: RawPollMedia;
5
6
  answers: Array<RawPollAnswer>;
6
- expiry: string;
7
+ expiry: string | null;
7
8
  allow_multiselect: boolean;
8
9
  layout_type: LayoutType;
9
- results: RawPollResults;
10
+ results?: RawPollResults;
10
11
  }
12
+ /** https://discord.com/developers/docs/resources/poll#poll-create-request-object-poll-create-request-object-structure */
13
+ export interface RawPollCreateParams {
14
+ question: RawPollMedia;
15
+ answers: Array<RawPollAnswer>;
16
+ duration: number;
17
+ allow_multiselect: boolean;
18
+ layout_type?: LayoutType;
19
+ }
20
+ /** https://discord.com/developers/docs/resources/poll#poll-media-object-poll-media-object-structure */
11
21
  export interface RawPollMedia {
12
22
  text?: string;
13
23
  emoji?: Pick<RawEmoji, "id" | "name">;
14
24
  }
25
+ /** https://discord.com/developers/docs/resources/poll#poll-answer-object-poll-answer-object-structure */
15
26
  export interface RawPollAnswer {
16
27
  answer_id: number;
17
28
  poll_media: RawPollMedia;
18
29
  }
30
+ /** https://discord.com/developers/docs/resources/poll#poll-results-object-poll-results-object-structure */
19
31
  export interface RawPollResults {
20
32
  is_finalized: boolean;
21
33
  answer_counts: Array<RawPollAnswerCount>;
22
34
  }
35
+ /** https://discord.com/developers/docs/resources/poll#poll-results-object-poll-answer-count-object-structure */
23
36
  export interface RawPollAnswerCount {
24
37
  id: number;
25
38
  count: number;
@@ -28,10 +41,17 @@ export interface RawPollAnswerCount {
28
41
  export interface Poll {
29
42
  question: PollMedia;
30
43
  answers: Array<PollAnswer>;
31
- expiry: string;
44
+ expiry: string | null;
32
45
  allowMultiselect: boolean;
33
46
  layoutType: LayoutType;
34
- results: PollResults;
47
+ results?: PollResults;
48
+ }
49
+ export interface PollCreateParams {
50
+ question: PollMedia;
51
+ answers: Array<PollAnswer>;
52
+ duration: number;
53
+ allowMultiselect: boolean;
54
+ layoutType?: LayoutType;
35
55
  }
36
56
  export interface PollMedia {
37
57
  text?: string;
@@ -1,7 +1,6 @@
1
1
  import type { MessageFlags, WebhookTypes } from "../constants";
2
- import type { ActionRow, AllowedMentions, Attachment, Channel, Embed, Guild, User, RawChannel, RawGuild, RawUser } from ".";
2
+ import type { ActionRow, AllowedMentions, Attachment, Channel, Embed, Guild, User, RawChannel, RawGuild, RawUser, PollCreateParams } from ".";
3
3
  import type { File } from "../rest";
4
- import type { Poll } from "./poll";
5
4
  /** https://discord.com/developers/docs/resources/webhook#webhook-object-webhook-structure */
6
5
  export interface RawWebhook {
7
6
  id: string;
@@ -53,7 +52,7 @@ export interface ExecuteWebhookParams {
53
52
  flags?: MessageFlags | null;
54
53
  threadName?: string;
55
54
  appliedTags?: Array<string>;
56
- poll?: Poll;
55
+ poll?: PollCreateParams;
57
56
  }
58
57
  export interface EditWebhookMessageParams {
59
58
  content?: string | null;
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "disgroove",
3
- "version": "2.1.0-dev.8697575",
3
+ "version": "2.1.0-dev.ad98d6b",
4
4
  "description": "A module to interface with Discord",
5
5
  "main": "./dist/lib/index.js",
6
6
  "types": "./dist/lib/index.d.ts",
@@ -24,7 +24,6 @@
24
24
  "devDependencies": {
25
25
  "@types/node": "^20.11.25",
26
26
  "@types/ws": "^8.5.10",
27
- "node": "^21.7.1",
28
27
  "typescript": "^5.4.2"
29
28
  },
30
29
  "dependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "disgroove",
3
- "version": "2.1.0-dev.8697575",
3
+ "version": "2.1.0-dev.ad98d6b",
4
4
  "description": "A module to interface with Discord",
5
5
  "main": "./dist/lib/index.js",
6
6
  "types": "./dist/lib/index.d.ts",
@@ -24,7 +24,6 @@
24
24
  "devDependencies": {
25
25
  "@types/node": "^20.11.25",
26
26
  "@types/ws": "^8.5.10",
27
- "node": "^21.7.1",
28
27
  "typescript": "^5.4.2"
29
28
  },
30
29
  "dependencies": {