disgroove 2.2.7-dev.fca4921 → 3.0.0-dev.2cf2b90

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 (98) hide show
  1. package/LICENSE +9 -9
  2. package/README.md +48 -48
  3. package/dist/lib/Client.d.ts +332 -301
  4. package/dist/lib/Client.js +562 -462
  5. package/dist/lib/constants.d.ts +35 -24
  6. package/dist/lib/constants.js +39 -27
  7. package/dist/lib/gateway/Dispatcher.d.ts +104 -0
  8. package/dist/lib/gateway/Dispatcher.js +471 -0
  9. package/dist/lib/gateway/Shard.d.ts +12 -21
  10. package/dist/lib/gateway/Shard.js +121 -570
  11. package/dist/lib/gateway/Transmitter.d.ts +22 -0
  12. package/dist/lib/gateway/Transmitter.js +93 -0
  13. package/dist/lib/gateway/WebSocketManager.d.ts +22 -0
  14. package/dist/lib/gateway/WebSocketManager.js +93 -0
  15. package/dist/lib/index.d.ts +5 -1
  16. package/dist/lib/index.js +5 -1
  17. package/dist/lib/rest/Endpoints.d.ts +95 -91
  18. package/dist/lib/rest/Endpoints.js +111 -102
  19. package/dist/lib/rest/RequestManager.d.ts +1 -3
  20. package/dist/lib/rest/RequestManager.js +17 -7
  21. package/dist/lib/rest/index.js +17 -7
  22. package/dist/lib/transformers/ApplicationCommands.js +4 -4
  23. package/dist/lib/transformers/Applications.d.ts +2 -0
  24. package/dist/lib/transformers/Applications.js +110 -4
  25. package/dist/lib/transformers/AuditLogs.js +10 -10
  26. package/dist/lib/transformers/AutoModeration.js +6 -6
  27. package/dist/lib/transformers/Channels.js +16 -16
  28. package/dist/lib/transformers/Components.d.ts +15 -3
  29. package/dist/lib/transformers/Components.js +309 -156
  30. package/dist/lib/transformers/Entitlements.d.ts +2 -2
  31. package/dist/lib/transformers/Entitlements.js +16 -16
  32. package/dist/lib/transformers/GuildScheduledEvents.js +8 -8
  33. package/dist/lib/transformers/GuildTemplates.js +4 -4
  34. package/dist/lib/transformers/Guilds.js +28 -28
  35. package/dist/lib/transformers/Interactions.js +330 -55
  36. package/dist/lib/transformers/Lobbies.d.ts +7 -0
  37. package/dist/lib/transformers/Lobbies.js +38 -0
  38. package/dist/lib/transformers/Messages.d.ts +4 -3
  39. package/dist/lib/transformers/Messages.js +38 -52
  40. package/dist/lib/transformers/Polls.js +2 -2
  41. package/dist/lib/transformers/Presences.d.ts +3 -3
  42. package/dist/lib/transformers/Presences.js +6 -6
  43. package/dist/lib/transformers/Roles.js +8 -8
  44. package/dist/lib/transformers/SKUs.js +2 -2
  45. package/dist/lib/transformers/Soundboards.js +6 -6
  46. package/dist/lib/transformers/StageInstances.js +6 -6
  47. package/dist/lib/transformers/Stickers.js +3 -3
  48. package/dist/lib/transformers/Subscriptions.js +8 -8
  49. package/dist/lib/transformers/Teams.js +4 -4
  50. package/dist/lib/transformers/Users.js +6 -6
  51. package/dist/lib/transformers/Voice.js +8 -8
  52. package/dist/lib/transformers/Webhooks.js +6 -6
  53. package/dist/lib/transformers/index.d.ts +2 -1
  54. package/dist/lib/transformers/index.js +2 -1
  55. package/dist/lib/types/application-command.d.ts +9 -4
  56. package/dist/lib/types/application-role-connection-metadata.d.ts +1 -0
  57. package/dist/lib/types/application.d.ts +12 -7
  58. package/dist/lib/types/audit-log.d.ts +9 -5
  59. package/dist/lib/types/auto-moderation.d.ts +7 -3
  60. package/dist/lib/types/channel.d.ts +17 -23
  61. package/dist/lib/types/common.d.ts +2 -0
  62. package/dist/lib/types/components.d.ts +510 -0
  63. package/dist/lib/types/emoji.d.ts +1 -0
  64. package/dist/lib/types/entitlements.d.ts +5 -4
  65. package/dist/lib/types/gateway-events.d.ts +406 -207
  66. package/dist/lib/types/guild-scheduled-event.d.ts +10 -5
  67. package/dist/lib/types/guild-template.d.ts +3 -2
  68. package/dist/lib/types/guild.d.ts +40 -22
  69. package/dist/lib/types/interaction.d.ts +35 -18
  70. package/dist/lib/types/invite.d.ts +5 -2
  71. package/dist/lib/types/lobby.d.ts +31 -0
  72. package/dist/lib/types/lobby.js +2 -0
  73. package/dist/lib/types/message.d.ts +32 -20
  74. package/dist/lib/types/poll.d.ts +7 -1
  75. package/dist/lib/types/role.d.ts +8 -5
  76. package/dist/lib/types/sku.d.ts +2 -1
  77. package/dist/lib/types/soundboard.d.ts +4 -3
  78. package/dist/lib/types/stage-instance.d.ts +4 -3
  79. package/dist/lib/types/sticker.d.ts +8 -5
  80. package/dist/lib/types/subscription.d.ts +6 -5
  81. package/dist/lib/types/team.d.ts +4 -2
  82. package/dist/lib/types/user.d.ts +10 -3
  83. package/dist/lib/types/voice.d.ts +6 -4
  84. package/dist/lib/types/webhook.d.ts +4 -3
  85. package/dist/lib/utils/CDN.d.ts +22 -22
  86. package/dist/lib/utils/CDN.js +22 -22
  87. package/dist/lib/utils/errors.d.ts +3 -1
  88. package/dist/lib/utils/errors.js +4 -0
  89. package/dist/lib/utils/formatters.d.ts +7 -7
  90. package/dist/lib/utils/formatters.js +28 -29
  91. package/dist/lib/utils/index.d.ts +1 -0
  92. package/dist/lib/utils/index.js +18 -7
  93. package/dist/lib/utils/permissions.d.ts +2 -0
  94. package/dist/lib/utils/permissions.js +7 -0
  95. package/dist/package.json +4 -4
  96. package/package.json +5 -5
  97. package/dist/lib/types/message-components.d.ts +0 -234
  98. /package/dist/lib/types/{message-components.js → components.js} +0 -0
@@ -56,11 +56,12 @@ export interface RawApplicationCommandPermission {
56
56
  type: ApplicationCommandPermissionType;
57
57
  permission: boolean;
58
58
  }
59
+ /** https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-structure */
59
60
  export interface ApplicationCommand {
60
61
  id: snowflake;
61
62
  type?: ApplicationCommandTypes;
62
- applicationID: snowflake;
63
- guildID?: snowflake;
63
+ applicationId: snowflake;
64
+ guildId?: snowflake;
64
65
  name: string;
65
66
  nameLocalizations?: LocaleMap | null;
66
67
  description: string;
@@ -75,6 +76,7 @@ export interface ApplicationCommand {
75
76
  version: string;
76
77
  handler?: EntryPointCommandHandlerTypes;
77
78
  }
79
+ /** https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-structure */
78
80
  export interface ApplicationCommandOption {
79
81
  type: ApplicationCommandOptionType;
80
82
  name: string;
@@ -91,17 +93,20 @@ export interface ApplicationCommandOption {
91
93
  maxLength?: number;
92
94
  autocomplete?: boolean;
93
95
  }
96
+ /** https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-choice-structure */
94
97
  export interface ApplicationCommandOptionChoice {
95
98
  name: string;
96
99
  nameLocalizations?: LocaleMap | null;
97
100
  value: string;
98
101
  }
102
+ /** https://discord.com/developers/docs/interactions/application-commands#application-command-permissions-object-guild-application-command-permissions-structure */
99
103
  export interface GuildApplicationCommandPermissions {
100
104
  id: snowflake;
101
- applicationID: snowflake;
102
- guildID: snowflake;
105
+ applicationId: snowflake;
106
+ guildId: snowflake;
103
107
  permissions: Array<ApplicationCommandPermission>;
104
108
  }
109
+ /** https://discord.com/developers/docs/interactions/application-commands#application-command-permissions-object-application-command-permissions-structure */
105
110
  export interface ApplicationCommandPermission {
106
111
  id: snowflake;
107
112
  type: ApplicationCommandPermissionType;
@@ -9,6 +9,7 @@ export interface RawApplicationRoleConnectionMetadata {
9
9
  description: string;
10
10
  description_localizations?: LocaleMap | null;
11
11
  }
12
+ /** https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-structure */
12
13
  export interface ApplicationRoleConnectionMetadata {
13
14
  type: ApplicationRoleConnectionMetadataType;
14
15
  key: string;
@@ -61,6 +61,7 @@ export interface RawActivityLocation {
61
61
  channel_id: snowflake;
62
62
  guild_id?: snowflake | null;
63
63
  }
64
+ /** https://discord.com/developers/docs/resources/application#application-object-application-structure */
64
65
  export interface Application {
65
66
  id: snowflake;
66
67
  name: string;
@@ -74,9 +75,9 @@ export interface Application {
74
75
  owner?: User;
75
76
  verifyKey: string;
76
77
  team: Team | null;
77
- guildID?: snowflake;
78
+ guildId?: snowflake;
78
79
  guild?: Guild;
79
- primarySKUID?: snowflake;
80
+ primarySKUId?: snowflake;
80
81
  slug?: string;
81
82
  coverImage?: string;
82
83
  flags?: ApplicationFlags;
@@ -94,23 +95,27 @@ export interface Application {
94
95
  integrationTypesConfig?: Record<ApplicationIntegrationTypes, ApplicationIntegrationTypeConfiguration>;
95
96
  customInstallURL?: string;
96
97
  }
98
+ /** https://discord.com/developers/docs/resources/application#application-object-application-integration-type-configuration-object */
97
99
  export interface ApplicationIntegrationTypeConfiguration {
98
100
  oauth2InstallParams: InstallParams;
99
101
  }
102
+ /** https://discord.com/developers/docs/resources/application#install-params-object-install-params-structure */
100
103
  export interface InstallParams {
101
104
  scopes: Array<OAuth2Scopes>;
102
105
  permissions: string;
103
106
  }
107
+ /** https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-instance-object */
104
108
  export interface ActivityInstance {
105
- applicationID: snowflake;
106
- instanceID: string;
107
- launchID: snowflake;
109
+ applicationId: snowflake;
110
+ instanceId: string;
111
+ launchId: snowflake;
108
112
  location: ActivityLocation;
109
113
  users: Array<snowflake>;
110
114
  }
115
+ /** https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-object */
111
116
  export interface ActivityLocation {
112
117
  id: string;
113
118
  kind: ActivityLocationKind;
114
- channelID: snowflake;
115
- guildID?: snowflake | null;
119
+ channelId: snowflake;
120
+ guildId?: snowflake | null;
116
121
  }
@@ -49,6 +49,7 @@ export interface RawAuditLogChange {
49
49
  old_value?: any;
50
50
  key: string;
51
51
  }
52
+ /** https://discord.com/developers/docs/resources/audit-log#audit-log-object-audit-log-structure */
52
53
  export interface AuditLog {
53
54
  applicationCommands: Array<ApplicationCommand>;
54
55
  auditLogEntries: Array<AuditLogEntry>;
@@ -59,29 +60,32 @@ export interface AuditLog {
59
60
  users: Array<User>;
60
61
  webhooks: Array<Webhook>;
61
62
  }
63
+ /** https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-entry-structure */
62
64
  export interface AuditLogEntry {
63
- targetID: snowflake | null;
65
+ targetId: snowflake | null;
64
66
  changes?: Array<AuditLogChange>;
65
- userID: snowflake | null;
67
+ userId: snowflake | null;
66
68
  id: snowflake;
67
69
  actionType: AuditLogEvents;
68
70
  options?: OptionalAuditLogEntryInfo;
69
71
  reason?: string;
70
72
  }
73
+ /** https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-optional-audit-entry-info */
71
74
  export interface OptionalAuditLogEntryInfo {
72
- applicationID: snowflake;
75
+ applicationId: snowflake;
73
76
  autoModerationRuleName: string;
74
77
  autoModerationRuleTriggerType: string;
75
- channelID: snowflake;
78
+ channelId: snowflake;
76
79
  count: string;
77
80
  deleteMemberDays: string;
78
81
  id: snowflake;
79
82
  membersRemoved: string;
80
- messageID: snowflake;
83
+ messageId: snowflake;
81
84
  roleName: string;
82
85
  type: string;
83
86
  integrationType: string;
84
87
  }
88
+ /** https://discord.com/developers/docs/resources/audit-log#audit-log-change-object-audit-log-change-structure */
85
89
  export interface AuditLogChange {
86
90
  newValue?: any;
87
91
  oldValue?: any;
@@ -34,11 +34,12 @@ export interface RawActionMetadata {
34
34
  duration_seconds: number;
35
35
  custom_message?: string;
36
36
  }
37
+ /** https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-auto-moderation-rule-structure */
37
38
  export interface AutoModerationRule {
38
39
  id: snowflake;
39
- guildID: snowflake;
40
+ guildId: snowflake;
40
41
  name: string;
41
- creatorID: snowflake;
42
+ creatorId: snowflake;
42
43
  eventType: EventTypes;
43
44
  triggerType: TriggerTypes;
44
45
  triggerMetadata: TriggerMetadata;
@@ -47,6 +48,7 @@ export interface AutoModerationRule {
47
48
  exemptRoles: Array<snowflake>;
48
49
  exemptChannels: Array<snowflake>;
49
50
  }
51
+ /** https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-metadata */
50
52
  export interface TriggerMetadata {
51
53
  keywordFilter: Array<string>;
52
54
  regexPatterns: Array<string>;
@@ -55,12 +57,14 @@ export interface TriggerMetadata {
55
57
  mentionTotalLimit: number;
56
58
  mentionRaidProtection: boolean;
57
59
  }
60
+ /** https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-action-object-auto-moderation-action-structure */
58
61
  export interface AutoModerationAction {
59
62
  type: ActionTypes;
60
63
  metadata: ActionMetadata;
61
64
  }
65
+ /** https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-action-object-action-metadata */
62
66
  export interface ActionMetadata {
63
- channelID: snowflake;
67
+ channelId: snowflake;
64
68
  durationSeconds: number;
65
69
  customMessage?: string;
66
70
  }
@@ -82,32 +82,26 @@ export interface RawForumTag {
82
82
  emoji_id?: snowflake;
83
83
  emoji_name?: string;
84
84
  }
85
- /** https://discord.com/developers/docs/resources/channel#role-subscription-data-object-role-subscription-data-object-structure */
86
- export interface RawRoleSubscriptionData {
87
- role_subscription_listing_id: snowflake;
88
- tier_name: string;
89
- total_months_subscribed: number;
90
- is_renewal: boolean;
91
- }
85
+ /** https://discord.com/developers/docs/resources/channel#channel-object-channel-structure */
92
86
  export interface Channel {
93
87
  id: snowflake;
94
88
  type: ChannelTypes;
95
- guildID?: snowflake;
89
+ guildId?: snowflake;
96
90
  position?: number;
97
91
  permissionOverwrites?: Array<Overwrite>;
98
92
  name?: string | null;
99
93
  topic?: string | null;
100
94
  nsfw?: boolean;
101
- lastMessageID?: snowflake | null;
95
+ lastMessageId?: snowflake | null;
102
96
  bitrate?: number;
103
97
  userLimit?: number;
104
98
  rateLimitPerUser?: number;
105
99
  recipients?: Array<User>;
106
100
  icon?: string | null;
107
- ownerID?: snowflake;
108
- applicationID?: snowflake;
101
+ ownerId?: snowflake;
102
+ applicationId?: snowflake;
109
103
  managed?: boolean;
110
- parentID?: snowflake | null;
104
+ parentId?: snowflake | null;
111
105
  lastPinTimestamp?: timestamp | null;
112
106
  rtcRegion?: string | null;
113
107
  videoQualityMode?: VideoQualityModes;
@@ -126,16 +120,19 @@ export interface Channel {
126
120
  defaultSortOrder?: SortOrderTypes | null;
127
121
  defaultForumLayout?: ForumLayoutTypes;
128
122
  }
123
+ /** https://discord.com/developers/docs/resources/channel#followed-channel-object-followed-channel-structure */
129
124
  export interface FollowedChannel {
130
- channelID: snowflake;
131
- webhookID: snowflake;
125
+ channelId: snowflake;
126
+ webhookId: snowflake;
132
127
  }
128
+ /** https://discord.com/developers/docs/resources/channel#overwrite-object-overwrite-structure */
133
129
  export interface Overwrite {
134
130
  id: snowflake;
135
131
  type: number;
136
132
  allow: string;
137
133
  deny: string;
138
134
  }
135
+ /** https://discord.com/developers/docs/resources/channel#thread-metadata-object-thread-metadata-structure */
139
136
  export interface ThreadMetadata {
140
137
  archived: boolean;
141
138
  autoArchiveDuration: number;
@@ -144,27 +141,24 @@ export interface ThreadMetadata {
144
141
  invitable?: boolean;
145
142
  createTimestamp?: timestamp | null;
146
143
  }
144
+ /** https://discord.com/developers/docs/resources/channel#thread-member-object-thread-member-structure */
147
145
  export interface ThreadMember {
148
146
  id?: snowflake;
149
- userID?: snowflake;
147
+ userId?: snowflake;
150
148
  joinTimestamp: timestamp;
151
149
  flags: number;
152
150
  member?: GuildMember;
153
151
  }
152
+ /** https://discord.com/developers/docs/resources/channel#default-reaction-object-default-reaction-structure */
154
153
  export interface DefaultReaction {
155
- emojiID: snowflake | null;
154
+ emojiId: snowflake | null;
156
155
  emojiName: string | null;
157
156
  }
157
+ /** https://discord.com/developers/docs/resources/channel#forum-tag-object-forum-tag-structure */
158
158
  export interface ForumTag {
159
159
  id: snowflake;
160
160
  name: string;
161
161
  moderated: boolean;
162
- emojiID?: snowflake;
162
+ emojiId?: snowflake;
163
163
  emojiName?: string;
164
164
  }
165
- export interface RoleSubscriptionData {
166
- roleSubscriptionListingID: snowflake;
167
- tierName: string;
168
- totalMonthsSubscribed: number;
169
- isRenewal: boolean;
170
- }
@@ -1,4 +1,6 @@
1
1
  import type { Locales } from "../constants";
2
2
  export type LocaleMap = Partial<Record<Locales, string>>;
3
+ /** https://discord.com/developers/docs/reference#snowflakes */
3
4
  export type snowflake = string;
5
+ /** https://discord.com/developers/docs/reference#iso8601-datetime */
4
6
  export type timestamp = string;