disgroove 2.2.6 → 2.2.7-dev.19963da

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.
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  /// <reference types="node" />
4
- import { GatewayIntents, type OAuth2Scopes, type ActionTypes, type ImageWidgetStyleOptions, type MFALevel, type ReactionTypes, type ApplicationCommandTypes, type EventTypes, type TriggerTypes, type ChannelTypes, type VideoQualityModes, type SortOrderTypes, type ForumLayoutTypes, type InviteTargetTypes, type VerificationLevel, type DefaultMessageNotificationLevel, type ExplicitContentFilterLevel, type SystemChannelFlags, type ApplicationFlags, type ApplicationIntegrationTypes, type ChannelFlags, type GuildFeatures, type GuildScheduledEventEntityTypes, type GuildScheduledEventPrivacyLevel, type GuildScheduledEventStatus, type MessageFlags, type OnboardingMode, type PrivacyLevel, type GuildMemberFlags, type InteractionContextTypes } from "./constants";
4
+ import { GatewayIntents, type OAuth2Scopes, type ActionTypes, type ImageWidgetStyleOptions, type ReactionTypes, type ApplicationCommandTypes, type EventTypes, type TriggerTypes, type ChannelTypes, type VideoQualityModes, type SortOrderTypes, type ForumLayoutTypes, type InviteTargetTypes, type VerificationLevel, type DefaultMessageNotificationLevel, type ExplicitContentFilterLevel, type SystemChannelFlags, type ApplicationFlags, type ApplicationIntegrationTypes, type ChannelFlags, type GuildFeatures, type GuildScheduledEventEntityTypes, type GuildScheduledEventPrivacyLevel, type GuildScheduledEventStatus, type MessageFlags, type OnboardingMode, type PrivacyLevel, type GuildMemberFlags, type InteractionContextTypes, type LobbyMemberFlags } from "./constants";
5
5
  import { RequestManager, type FileData } from "./rest";
6
6
  import EventEmitter from "node:events";
7
7
  import { Shard } from "./gateway";
@@ -14,7 +14,7 @@ import type { Channel, FollowedChannel, ThreadMember, Overwrite, DefaultReaction
14
14
  import type { LocaleMap, snowflake, timestamp } from "./types/common";
15
15
  import type { Emoji } from "./types/emoji";
16
16
  import type { Entitlement } from "./types/entitlements";
17
- import type { AutoModerationActionExecutionEventFields, ChannelPinsUpdateEventFields, ThreadListSyncEventFields, ThreadMemberUpdateEventExtraFields, ThreadMembersUpdateEventFields, GuildCreateEventExtraFields, GuildAuditLogEntryCreateExtraFields, GuildBanAddEventFields, GuildBanRemoveEventFields, GuildMemberAddEventExtraFields, GuildMemberRemoveEventFields, GuildMemberUpdateEventFields, GuildMembersChunkEventFields, IntegrationCreateEventExtraFields, IntegrationUpdateEventExtraFields, IntegrationDeleteEventFields, InviteCreateEventFields, InviteDeleteEventFields, MessageCreateEventExtraFields, MessageDeleteEventFields, MessageDeleteBulkEventFields, MessageReactionAddEventFields, MessageReactionRemoveEventFields, MessageReactionRemoveAllEventFields, MessageReactionRemoveEmojiEventFields, PresenceUpdateEventFields, TypingStartEventFields, VoiceServerUpdateEventFields, MessagePollVoteAddFields, MessagePollVoteRemoveFields, GatewayPresenceUpdate, RawPayload, IdentifyConnectionProperties, VoiceChannelEffectSendEventFields, GuildSoundboardSoundDeleteEventFields } from "./types/gateway-events";
17
+ import type { AutoModerationActionExecutionEventFields, ChannelPinsUpdateEventFields, ThreadListSyncEventFields, ThreadMemberUpdateEventExtraFields, ThreadMembersUpdateEventFields, GuildCreateEventExtraFields, GuildAuditLogEntryCreateExtraFields, GuildBanAddEventFields, GuildBanRemoveEventFields, GuildMemberAddEventExtraFields, GuildMemberRemoveEventFields, GuildMemberUpdateEventFields, GuildMembersChunkEventFields, IntegrationCreateEventExtraFields, IntegrationUpdateEventExtraFields, IntegrationDeleteEventFields, InviteCreateEventFields, InviteDeleteEventFields, MessageCreateEventExtraFields, MessageDeleteEventFields, MessageDeleteBulkEventFields, MessageReactionAddEventFields, MessageReactionRemoveEventFields, MessageReactionRemoveAllEventFields, MessageReactionRemoveEmojiEventFields, PresenceUpdateEventFields, TypingStartEventFields, VoiceServerUpdateEventFields, MessagePollVoteAddFields, MessagePollVoteRemoveFields, GatewayPresenceUpdate, RawPayload, IdentifyConnectionProperties, VoiceChannelEffectSendEventFields, GuildSoundboardSoundDeleteEventFields, RateLimitedFields } from "./types/gateway-events";
18
18
  import type { Guild, GuildMember, WelcomeScreen, GuildWidgetSettings, Ban, Integration, GuildOnboarding, GuildPreview, GuildWidget, UnavailableGuild, OnboardingPrompt, WelcomeScreenChannel, IncidentsData } from "./types/guild";
19
19
  import type { GuildScheduledEvent, GuildScheduledEventUser, GuildScheduledEventEntityMetadata, GuildScheduledEventRecurrenceRule } from "./types/guild-scheduled-event";
20
20
  import type { GuildTemplate } from "./types/guild-template";
@@ -29,9 +29,11 @@ import type { User, ApplicationRoleConnection, Connection } from "./types/user";
29
29
  import type { VoiceRegion, VoiceState } from "./types/voice";
30
30
  import type { Webhook } from "./types/webhook";
31
31
  import type { ClientOptions as WebSocketOptions } from "ws";
32
- import type { Embed, AllowedMentions, Attachment, Message, MessageReference, MessageTopLevelComponent, MessagePin } from "./types/message";
32
+ import type { Embed, AllowedMentions, Attachment, Message, MessageReference, MessagePin } from "./types/message";
33
33
  import type { Subscription } from "./types/subscription";
34
34
  import type { SoundboardSound } from "./types/soundboard";
35
+ import type { ActionRow, Button, ChannelSelect, Container, File, MediaGallery, MentionableSelect, RoleSelect, Section, Separator, StringSelect, TextDisplay, Thumbnail, UserSelect } from "./types/message-components";
36
+ import type { Lobby, LobbyMember } from "./types/lobby";
35
37
  export interface GatewayOptions {
36
38
  properties?: IdentifyConnectionProperties;
37
39
  compress?: boolean;
@@ -77,6 +79,11 @@ export declare class Client extends EventEmitter {
77
79
  }): Promise<GuildMember | null>;
78
80
  /** https://discord.com/developers/docs/resources/guild#add-guild-member-role */
79
81
  addGuildMemberRole(guildID: snowflake, userID: snowflake, roleID: snowflake, reason?: string): void;
82
+ /** https://discord.com/developers/docs/resources/lobby#add-a-member-to-a-lobby */
83
+ addLobbyMember(lobbyID: snowflake, userID: snowflake, options: {
84
+ metadata?: Record<string, string> | null;
85
+ flags?: LobbyMemberFlags;
86
+ }): Promise<LobbyMember>;
80
87
  /** https://discord.com/developers/docs/resources/channel#add-thread-member */
81
88
  addThreadMember(channelID: snowflake, userID: snowflake): void;
82
89
  /** https://discord.com/developers/docs/resources/guild#begin-guild-prune */
@@ -203,33 +210,6 @@ export declare class Client extends EventEmitter {
203
210
  accessTokens: Array<string>;
204
211
  nicks: Array<string>;
205
212
  }): Promise<Channel>;
206
- /** https://discord.com/developers/docs/resources/guild#create-guild */
207
- createGuild(options: {
208
- name: string;
209
- icon?: string;
210
- verificationLevel?: VerificationLevel;
211
- defaultMessageNotifications?: DefaultMessageNotificationLevel;
212
- explicitContentFilter?: ExplicitContentFilterLevel;
213
- roles?: Array<{
214
- name?: string;
215
- permissions?: string;
216
- color?: number;
217
- hoist?: boolean;
218
- icon?: string | null;
219
- unicodeEmoji?: string | null;
220
- mentionable?: boolean;
221
- }>;
222
- channels?: Array<{
223
- name: string;
224
- type: ChannelTypes;
225
- id?: number;
226
- parentID?: number;
227
- }>;
228
- afkChannelID?: snowflake;
229
- afkTimeout?: number;
230
- systemChannelID?: snowflake;
231
- systemChannelFlags?: SystemChannelFlags;
232
- }): Promise<Guild>;
233
213
  /** https://discord.com/developers/docs/interactions/application-commands#create-guild-application-command */
234
214
  createGuildApplicationCommand(applicationID: snowflake, guildID: snowflake, options: {
235
215
  name: string;
@@ -252,11 +232,6 @@ export declare class Client extends EventEmitter {
252
232
  image: string;
253
233
  roles: Array<snowflake>;
254
234
  }, reason?: string): Promise<Emoji>;
255
- /** https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template */
256
- createGuildFromTemplate(code: string, options: {
257
- name: string;
258
- icon?: string;
259
- }): Promise<Guild>;
260
235
  /** https://discord.com/developers/docs/resources/guild#create-guild-role */
261
236
  createGuildRole(guildID: snowflake, options: {
262
237
  name?: string;
@@ -307,7 +282,7 @@ export declare class Client extends EventEmitter {
307
282
  tts?: boolean;
308
283
  embeds?: Array<Embed>;
309
284
  allowedMentions?: AllowedMentions;
310
- components?: Array<MessageTopLevelComponent>;
285
+ components?: Array<ActionRow | Section | TextDisplay | MediaGallery | File | Separator | Container>;
311
286
  files?: Array<FileData> | null;
312
287
  attachments?: Array<Pick<Attachment, "filename" | "description">>;
313
288
  flags?: MessageFlags;
@@ -319,6 +294,12 @@ export declare class Client extends EventEmitter {
319
294
  createInteractionResponse(interactionID: snowflake, interactionToken: string, options: InteractionResponse & {
320
295
  withResponse?: boolean;
321
296
  }): Promise<void | InteractionCallbackResponse>;
297
+ /** https://discord.com/developers/docs/resources/lobby#create-lobby */
298
+ createLobby(options: {
299
+ metadata?: Record<string, string> | null;
300
+ members?: Array<Pick<LobbyMember, "id" | "metadata" | "flags">>;
301
+ idleTimeoutSeconds?: number;
302
+ }): Promise<Lobby>;
322
303
  /** https://discord.com/developers/docs/resources/message#create-message */
323
304
  createMessage(channelID: snowflake, options: {
324
305
  content?: string;
@@ -327,7 +308,7 @@ export declare class Client extends EventEmitter {
327
308
  embeds?: Array<Embed>;
328
309
  allowedMentions?: AllowedMentions;
329
310
  messageReference?: MessageReference;
330
- components?: Array<MessageTopLevelComponent>;
311
+ components?: Array<ActionRow | Section | TextDisplay | MediaGallery | File | Separator | Container>;
331
312
  stickersIDs?: Array<snowflake>;
332
313
  files?: Array<FileData>;
333
314
  attachments?: Array<Pick<Attachment, "filename" | "description">>;
@@ -360,7 +341,7 @@ export declare class Client extends EventEmitter {
360
341
  content?: string;
361
342
  embeds?: Array<Embed>;
362
343
  allowedMentions?: AllowedMentions;
363
- components?: Array<MessageTopLevelComponent>;
344
+ components?: Array<ActionRow | Button | StringSelect | UserSelect | RoleSelect | MentionableSelect | ChannelSelect | Section | TextDisplay | Thumbnail | MediaGallery | File | Separator | Container>;
364
345
  stickerIDs?: Array<snowflake>;
365
346
  attachments?: Array<Pick<Attachment, "filename" | "description">>;
366
347
  flags?: MessageFlags;
@@ -396,8 +377,6 @@ export declare class Client extends EventEmitter {
396
377
  deleteChannelPermission(channelID: snowflake, overwriteID: snowflake, reason?: string): void;
397
378
  /** https://discord.com/developers/docs/interactions/application-commands#delete-global-application-command */
398
379
  deleteGlobalApplicationCommand(applicationID: snowflake, commandID: snowflake): void;
399
- /** https://discord.com/developers/docs/resources/guild#delete-guild */
400
- deleteGuild(guildID: snowflake): void;
401
380
  /** https://discord.com/developers/docs/interactions/application-commands#delete-guild-application-command */
402
381
  deleteGuildApplicationCommand(applicationID: snowflake, guildID: snowflake, commandID: snowflake): void;
403
382
  /** https://discord.com/developers/docs/resources/emoji#delete-guild-emoji */
@@ -420,6 +399,8 @@ export declare class Client extends EventEmitter {
420
399
  deleteInteractionFollowupMessage(applicationID: snowflake, interactionToken: string, messageID: snowflake): void;
421
400
  /** https://discord.com/developers/docs/interactions/receiving-and-responding#delete-original-interaction-response */
422
401
  deleteInteractionResponse(applicationID: snowflake, interactionToken: string): void;
402
+ /** https://discord.com/developers/docs/resources/lobby#delete-lobby */
403
+ deleteLobby(lobbyID: snowflake): void;
423
404
  /** https://discord.com/developers/docs/resources/message#delete-message */
424
405
  deleteMessage(channelID: snowflake, messageID: snowflake, reason?: string): void;
425
406
  /** https://discord.com/developers/docs/resources/message#delete-user-reaction */
@@ -547,7 +528,6 @@ export declare class Client extends EventEmitter {
547
528
  afkChannelID?: snowflake | null;
548
529
  afkTimeout?: number;
549
530
  icon?: string | null;
550
- ownerID?: snowflake;
551
531
  splash?: string | null;
552
532
  discoverySplash?: string | null;
553
533
  banner?: string | null;
@@ -591,10 +571,6 @@ export declare class Client extends EventEmitter {
591
571
  communicationDisabledUntil?: timestamp | null;
592
572
  flags?: GuildMemberFlags | null;
593
573
  }, reason?: string): Promise<GuildMember>;
594
- /** https://discord.com/developers/docs/resources/guild#modify-guild-mfa-level */
595
- editGuildMFALevel(guildID: snowflake, options: {
596
- level: MFALevel;
597
- }, reason?: string): Promise<MFALevel>;
598
574
  /** https://discord.com/developers/docs/resources/guild#modify-guild-onboarding */
599
575
  editGuildOnboarding(guildID: snowflake, options: {
600
576
  prompts?: Array<OnboardingPrompt>;
@@ -661,13 +637,19 @@ export declare class Client extends EventEmitter {
661
637
  enabled?: boolean;
662
638
  channelID?: boolean;
663
639
  }, reason?: string): Promise<GuildWidgetSettings>;
640
+ /** https://discord.com/developers/docs/resources/lobby#modify-lobby */
641
+ editLobby(lobbyID: snowflake, options: {
642
+ metadata?: Record<string, string> | null;
643
+ members?: Array<Pick<LobbyMember, "id" | "metadata" | "flags">>;
644
+ idleTimeoutSeconds?: number;
645
+ }): Promise<Lobby>;
664
646
  /** https://discord.com/developers/docs/resources/message#edit-message */
665
647
  editMessage(channelID: snowflake, messageID: snowflake, options: {
666
648
  content?: string | null;
667
649
  embeds?: Array<Embed> | null;
668
650
  flags?: MessageFlags | null;
669
651
  allowedMentions?: AllowedMentions | null;
670
- components?: Array<MessageTopLevelComponent> | null;
652
+ components?: Array<ActionRow | Section | TextDisplay | MediaGallery | File | Separator | Container> | null;
671
653
  files?: Array<FileData> | null;
672
654
  attachments?: Array<Attachment> | null;
673
655
  }): Promise<Message>;
@@ -681,7 +663,7 @@ export declare class Client extends EventEmitter {
681
663
  content?: string | null;
682
664
  embeds?: Array<Embed> | null;
683
665
  allowedMentions?: AllowedMentions | null;
684
- components?: Array<MessageTopLevelComponent> | null;
666
+ components?: Array<ActionRow | Section | TextDisplay | MediaGallery | File | Separator | Container> | null;
685
667
  files?: Array<FileData> | null;
686
668
  attachments?: Array<Partial<Attachment>> | null;
687
669
  poll?: PollCreateParams | null;
@@ -692,7 +674,7 @@ export declare class Client extends EventEmitter {
692
674
  content?: string | null;
693
675
  embeds?: Array<Embed> | null;
694
676
  allowedMentions?: AllowedMentions | null;
695
- components?: Array<MessageTopLevelComponent> | null;
677
+ components?: Array<ActionRow | Section | TextDisplay | MediaGallery | File | Separator | Container> | null;
696
678
  files?: Array<FileData> | null;
697
679
  attachments?: Array<Partial<Attachment>> | null;
698
680
  poll?: PollCreateParams | null;
@@ -700,7 +682,7 @@ export declare class Client extends EventEmitter {
700
682
  }): Promise<Message>;
701
683
  /** https://discord.com/developers/docs/resources/guild#modify-user-voice-state */
702
684
  editUserVoiceState(guildID: snowflake, userID: snowflake, options: {
703
- channelID: snowflake;
685
+ channelID?: snowflake;
704
686
  suppress?: boolean;
705
687
  }): void;
706
688
  /** https://discord.com/developers/docs/resources/webhook#modify-webhook */
@@ -714,7 +696,7 @@ export declare class Client extends EventEmitter {
714
696
  content?: string | null;
715
697
  embeds?: Array<Embed> | null;
716
698
  allowedMentions?: AllowedMentions | null;
717
- components?: Array<MessageTopLevelComponent> | null;
699
+ components?: Array<ActionRow | Section | TextDisplay | MediaGallery | File | Separator | Container> | null;
718
700
  files?: Array<FileData> | null;
719
701
  attachments?: Array<Partial<Attachment>> | null;
720
702
  poll?: PollCreateParams | null;
@@ -736,7 +718,7 @@ export declare class Client extends EventEmitter {
736
718
  tts?: boolean;
737
719
  embeds?: Array<Embed>;
738
720
  allowedMentions?: AllowedMentions;
739
- components?: Array<MessageTopLevelComponent>;
721
+ components?: Array<ActionRow | Section | TextDisplay | MediaGallery | File | Separator | Container>;
740
722
  files?: Array<FileData>;
741
723
  attachments?: Array<Pick<Attachment, "filename" | "description">>;
742
724
  flags?: MessageFlags;
@@ -961,7 +943,6 @@ export declare class Client extends EventEmitter {
961
943
  /** https://discord.com/developers/docs/resources/invite#get-invite */
962
944
  getInvite(code: string, options?: {
963
945
  withCounts?: boolean;
964
- withExpiration?: boolean;
965
946
  guildScheduledEventID?: snowflake;
966
947
  }): Promise<Invite>;
967
948
  /** https://discord.com/developers/docs/resources/channel#list-joined-private-archived-threads */
@@ -973,6 +954,8 @@ export declare class Client extends EventEmitter {
973
954
  members: Array<ThreadMember>;
974
955
  hasMore: boolean;
975
956
  }>;
957
+ /** https://discord.com/developers/docs/resources/lobby#get-lobby */
958
+ getLobby(lobbyID: snowflake): Promise<Lobby>;
976
959
  /** https://discord.com/developers/docs/resources/message#get-channel-message */
977
960
  getMessage(channelID: snowflake, messageID: snowflake): Promise<Message>;
978
961
  /** https://discord.com/developers/docs/resources/message#get-reactions */
@@ -1062,10 +1045,16 @@ export declare class Client extends EventEmitter {
1062
1045
  }): void;
1063
1046
  /** https://discord.com/developers/docs/resources/user#leave-guild */
1064
1047
  leaveGuild(guildID: snowflake): void;
1048
+ /** https://discord.com/developers/docs/resources/lobby#leave-lobby */
1049
+ leaveLobby(lobbyID: snowflake): void;
1065
1050
  /** https://discord.com/developers/docs/resources/channel#leave-thread */
1066
1051
  leaveThread(channelID: snowflake): void;
1067
1052
  /** https://discord.com/developers/docs/topics/gateway-events#update-voice-state */
1068
1053
  leaveVoiceChannel(guildID: snowflake): void;
1054
+ /** discord.com/developers/docs/resources/lobby#link-channel-to-lobby */
1055
+ linkChannel(lobbyID: snowflake, options: {
1056
+ channelID: snowflake;
1057
+ }): Promise<Lobby>;
1069
1058
  /** https://discord.com/developers/docs/resources/channel#pin-message */
1070
1059
  pinMessage(channelID: snowflake, messageID: snowflake, reason?: string): void;
1071
1060
  /** https://discord.com/developers/docs/resources/guild#remove-guild-ban */
@@ -1076,6 +1065,8 @@ export declare class Client extends EventEmitter {
1076
1065
  removeGuildMember(guildID: snowflake, userID: snowflake, reason?: string): void;
1077
1066
  /** https://discord.com/developers/docs/resources/guild#remove-guild-member-role */
1078
1067
  removeGuildMemberRole(guildID: snowflake, userID: snowflake, roleID: snowflake, reason?: string): void;
1068
+ /** https://discord.com/developers/docs/resources/lobby#remove-a-member-from-a-lobby */
1069
+ removeLobbyMember(lobbyID: snowflake, userID: snowflake): void;
1079
1070
  /** https://discord.com/developers/docs/resources/channel#remove-thread-member */
1080
1071
  removeThreadMember(channelID: snowflake, userID: snowflake): void;
1081
1072
  /** https://discord.com/developers/docs/resources/guild#search-guild-members */
@@ -1094,6 +1085,8 @@ export declare class Client extends EventEmitter {
1094
1085
  syncGuildTemplate(guildID: snowflake, code: string): Promise<GuildTemplate>;
1095
1086
  /** https://discord.com/developers/docs/resources/channel#trigger-typing-indicator */
1096
1087
  triggerTypingIndicator(channelID: snowflake): void;
1088
+ /** https://discord.com/developers/docs/resources/lobby#unlink-channel-from-lobby */
1089
+ unlinkChannel(lobbyID: snowflake): Promise<Lobby>;
1097
1090
  /** https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records */
1098
1091
  updateApplicationRoleConnectionMetadataRecords(applicationID: snowflake): Promise<Array<ApplicationRoleConnectionMetadata>>;
1099
1092
  /** https://discord.com/developers/docs/resources/user#update-current-user-application-role-connection */
@@ -1125,6 +1118,7 @@ export interface ClientEvents {
1125
1118
  hello: [interval: number, shard: number];
1126
1119
  ready: [];
1127
1120
  resumed: [];
1121
+ rateLimited: [rateLimit: RateLimitedFields];
1128
1122
  reconnect: [];
1129
1123
  invalidSession: [];
1130
1124
  applicationCommandPermissionsUpdate: [
@@ -76,6 +76,13 @@ class Client extends node_events_1.default {
76
76
  reason,
77
77
  });
78
78
  }
79
+ /** https://discord.com/developers/docs/resources/lobby#add-a-member-to-a-lobby */
80
+ async addLobbyMember(lobbyID, userID, options) {
81
+ const response = await this.rest.request(rest_1.RESTMethods.Put, rest_1.Endpoints.lobbyMember(lobbyID, userID), {
82
+ json: options,
83
+ });
84
+ return transformers_1.Lobbies.lobbyMemberFromRaw(response);
85
+ }
79
86
  /** https://discord.com/developers/docs/resources/channel#add-thread-member */
80
87
  addThreadMember(channelID, userID) {
81
88
  this.rest.request(rest_1.RESTMethods.Put, rest_1.Endpoints.threadMembers(channelID, userID));
@@ -288,38 +295,6 @@ class Client extends node_events_1.default {
288
295
  });
289
296
  return transformers_1.Channels.channelFromRaw(response);
290
297
  }
291
- /** https://discord.com/developers/docs/resources/guild#create-guild */
292
- async createGuild(options) {
293
- const response = await this.rest.request(rest_1.RESTMethods.Post, rest_1.Endpoints.guilds(), {
294
- json: {
295
- name: options.name,
296
- icon: options.icon,
297
- verification_level: options.verificationLevel,
298
- default_message_notifications: options.defaultMessageNotifications,
299
- explicit_content_filter: options.explicitContentFilter,
300
- roles: options.roles?.map((role) => ({
301
- name: role.name,
302
- color: role.color,
303
- hoist: role.hoist,
304
- icon: role.icon,
305
- unicode_emoji: role.unicodeEmoji,
306
- permissions: role.permissions,
307
- mentionable: role.mentionable,
308
- })),
309
- channels: options.channels?.map((channel) => ({
310
- name: channel.name,
311
- type: channel.type,
312
- id: channel.id,
313
- parent_id: channel.id,
314
- })),
315
- afk_channel_id: options.afkChannelID,
316
- afk_timeout: options.afkTimeout,
317
- system_channel_id: options.systemChannelID,
318
- system_channel_flags: options.systemChannelFlags,
319
- },
320
- });
321
- return transformers_1.Guilds.guildFromRaw(response);
322
- }
323
298
  /** https://discord.com/developers/docs/interactions/application-commands#create-guild-application-command */
324
299
  async createGuildApplicationCommand(applicationID, guildID, options) {
325
300
  const response = await this.rest.request(rest_1.RESTMethods.Post, rest_1.Endpoints.applicationGuildCommands(applicationID, guildID), {
@@ -358,16 +333,6 @@ class Client extends node_events_1.default {
358
333
  });
359
334
  return transformers_1.Emojis.emojiFromRaw(response);
360
335
  }
361
- /** https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template */
362
- async createGuildFromTemplate(code, options) {
363
- const response = await this.rest.request(rest_1.RESTMethods.Post, rest_1.Endpoints.template(code), {
364
- json: {
365
- name: options.name,
366
- icon: options.icon,
367
- },
368
- });
369
- return transformers_1.Guilds.guildFromRaw(response);
370
- }
371
336
  /** https://discord.com/developers/docs/resources/guild#create-guild-role */
372
337
  async createGuildRole(guildID, options, reason) {
373
338
  const response = await this.rest.request(rest_1.RESTMethods.Post, rest_1.Endpoints.guildRoles(guildID), {
@@ -507,7 +472,24 @@ class Client extends node_events_1.default {
507
472
  : undefined,
508
473
  flags: options.data?.flags,
509
474
  components: options.data?.components !== undefined
510
- ? transformers_1.Messages.componentsToRaw(options.data.components)
475
+ ? options.data?.components.map((component) => {
476
+ switch (component.type) {
477
+ case constants_1.ComponentTypes.ActionRow:
478
+ return transformers_1.Components.actionRowToRaw(component);
479
+ case constants_1.ComponentTypes.Section:
480
+ return transformers_1.Components.sectionToRaw(component);
481
+ case constants_1.ComponentTypes.TextDisplay:
482
+ return transformers_1.Components.textDisplayToRaw(component);
483
+ case constants_1.ComponentTypes.MediaGallery:
484
+ return transformers_1.Components.mediaGalleryToRaw(component);
485
+ case constants_1.ComponentTypes.File:
486
+ return transformers_1.Components.fileToRaw(component);
487
+ case constants_1.ComponentTypes.Separator:
488
+ return transformers_1.Components.separatorToRaw(component);
489
+ case constants_1.ComponentTypes.Container:
490
+ return transformers_1.Components.containerToRaw(component);
491
+ }
492
+ })
511
493
  : undefined,
512
494
  attachments: options.data?.attachments,
513
495
  poll: options.data?.poll !== undefined
@@ -559,7 +541,16 @@ class Client extends node_events_1.default {
559
541
  data: {
560
542
  custom_id: options.data?.customID,
561
543
  components: options.data?.components !== undefined
562
- ? transformers_1.Messages.componentsToRaw(options.data.components)
544
+ ? options.data?.components.map((component) => {
545
+ switch (component.type) {
546
+ case constants_1.ComponentTypes.ActionRow:
547
+ return transformers_1.Components.actionRowToRaw(component);
548
+ case constants_1.ComponentTypes.TextDisplay:
549
+ return transformers_1.Components.textDisplayToRaw(component);
550
+ case constants_1.ComponentTypes.Label:
551
+ return transformers_1.Components.labelToRaw(component);
552
+ }
553
+ })
563
554
  : undefined,
564
555
  title: options.data?.title,
565
556
  },
@@ -596,6 +587,17 @@ class Client extends node_events_1.default {
596
587
  });
597
588
  }
598
589
  }
590
+ /** https://discord.com/developers/docs/resources/lobby#create-lobby */
591
+ async createLobby(options) {
592
+ const response = await this.rest.request(rest_1.RESTMethods.Post, rest_1.Endpoints.lobbies(), {
593
+ json: {
594
+ metadata: options.metadata,
595
+ members: options.members,
596
+ idle_timeout_seconds: options.idleTimeoutSeconds,
597
+ },
598
+ });
599
+ return transformers_1.Lobbies.lobbyFromRaw(response);
600
+ }
599
601
  /** https://discord.com/developers/docs/resources/message#create-message */
600
602
  async createMessage(channelID, options) {
601
603
  const response = await this.rest.request(rest_1.RESTMethods.Post, rest_1.Endpoints.channelMessages(channelID), {
@@ -764,10 +766,6 @@ class Client extends node_events_1.default {
764
766
  deleteGlobalApplicationCommand(applicationID, commandID) {
765
767
  this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.applicationCommand(applicationID, commandID));
766
768
  }
767
- /** https://discord.com/developers/docs/resources/guild#delete-guild */
768
- deleteGuild(guildID) {
769
- this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.guild(guildID));
770
- }
771
769
  /** https://discord.com/developers/docs/interactions/application-commands#delete-guild-application-command */
772
770
  deleteGuildApplicationCommand(applicationID, guildID, commandID) {
773
771
  this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.applicationGuildCommand(applicationID, guildID, commandID));
@@ -826,6 +824,10 @@ class Client extends node_events_1.default {
826
824
  deleteInteractionResponse(applicationID, interactionToken) {
827
825
  this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.webhookMessage(applicationID, interactionToken));
828
826
  }
827
+ /** https://discord.com/developers/docs/resources/lobby#delete-lobby */
828
+ deleteLobby(lobbyID) {
829
+ this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.lobby(lobbyID));
830
+ }
829
831
  /** https://discord.com/developers/docs/resources/message#delete-message */
830
832
  deleteMessage(channelID, messageID, reason) {
831
833
  this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.channelMessage(channelID, messageID), {
@@ -1054,7 +1056,6 @@ class Client extends node_events_1.default {
1054
1056
  afk_channel_id: options.afkChannelID,
1055
1057
  afk_timeout: options.afkTimeout,
1056
1058
  icon: options.icon,
1057
- owner_id: options.ownerID,
1058
1059
  splash: options.splash,
1059
1060
  discovery_splash: options.discoverySplash,
1060
1061
  banner: options.banner,
@@ -1130,15 +1131,6 @@ class Client extends node_events_1.default {
1130
1131
  });
1131
1132
  return transformers_1.Guilds.guildMemberFromRaw(response);
1132
1133
  }
1133
- /** https://discord.com/developers/docs/resources/guild#modify-guild-mfa-level */
1134
- editGuildMFALevel(guildID, options, reason) {
1135
- return this.rest.request(rest_1.RESTMethods.Post, rest_1.Endpoints.guildMFA(guildID), {
1136
- json: {
1137
- level: options.level,
1138
- },
1139
- reason,
1140
- });
1141
- }
1142
1134
  /** https://discord.com/developers/docs/resources/guild#modify-guild-onboarding */
1143
1135
  editGuildOnboarding(guildID, options, reason) {
1144
1136
  this.rest.request(rest_1.RESTMethods.Patch, rest_1.Endpoints.guildOnboarding(guildID), {
@@ -1290,6 +1282,17 @@ class Client extends node_events_1.default {
1290
1282
  channelID: response.channel_id,
1291
1283
  };
1292
1284
  }
1285
+ /** https://discord.com/developers/docs/resources/lobby#modify-lobby */
1286
+ async editLobby(lobbyID, options) {
1287
+ const response = await this.rest.request(rest_1.RESTMethods.Patch, rest_1.Endpoints.lobby(lobbyID), {
1288
+ json: {
1289
+ metadata: options.metadata,
1290
+ members: options.members,
1291
+ idle_timeout_seconds: options.idleTimeoutSeconds,
1292
+ },
1293
+ });
1294
+ return transformers_1.Lobbies.lobbyFromRaw(response);
1295
+ }
1293
1296
  /** https://discord.com/developers/docs/resources/message#edit-message */
1294
1297
  async editMessage(channelID, messageID, options) {
1295
1298
  const response = await this.rest.request(rest_1.RESTMethods.Patch, rest_1.Endpoints.channelMessage(channelID, messageID), {
@@ -2139,7 +2142,6 @@ class Client extends node_events_1.default {
2139
2142
  const response = await this.rest.request(rest_1.RESTMethods.Get, rest_1.Endpoints.invite(code), {
2140
2143
  query: {
2141
2144
  with_counts: options?.withCounts,
2142
- with_expiration: options?.withExpiration,
2143
2145
  guild_scheduled_event_id: options?.guildScheduledEventID,
2144
2146
  },
2145
2147
  });
@@ -2159,6 +2161,11 @@ class Client extends node_events_1.default {
2159
2161
  hasMore: response.has_more,
2160
2162
  };
2161
2163
  }
2164
+ /** https://discord.com/developers/docs/resources/lobby#get-lobby */
2165
+ async getLobby(lobbyID) {
2166
+ const response = await this.rest.request(rest_1.RESTMethods.Get, rest_1.Endpoints.lobby(lobbyID));
2167
+ return transformers_1.Lobbies.lobbyFromRaw(response);
2168
+ }
2162
2169
  /** https://discord.com/developers/docs/resources/message#get-channel-message */
2163
2170
  async getMessage(channelID, messageID) {
2164
2171
  const response = await this.rest.request(rest_1.RESTMethods.Get, rest_1.Endpoints.channelMessage(channelID, messageID));
@@ -2356,6 +2363,10 @@ class Client extends node_events_1.default {
2356
2363
  leaveGuild(guildID) {
2357
2364
  this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.userGuild(guildID));
2358
2365
  }
2366
+ /** https://discord.com/developers/docs/resources/lobby#leave-lobby */
2367
+ leaveLobby(lobbyID) {
2368
+ this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.lobbyMember(lobbyID));
2369
+ }
2359
2370
  /** https://discord.com/developers/docs/resources/channel#leave-thread */
2360
2371
  leaveThread(channelID) {
2361
2372
  this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.threadMembers(channelID, "@me"));
@@ -2369,6 +2380,15 @@ class Client extends node_events_1.default {
2369
2380
  selfDeaf: false,
2370
2381
  });
2371
2382
  }
2383
+ /** discord.com/developers/docs/resources/lobby#link-channel-to-lobby */
2384
+ async linkChannel(lobbyID, options) {
2385
+ const response = await this.rest.request(rest_1.RESTMethods.Patch, rest_1.Endpoints.lobbyChannelLinking(lobbyID), {
2386
+ json: {
2387
+ channel_id: options.channelID,
2388
+ },
2389
+ });
2390
+ return transformers_1.Lobbies.lobbyFromRaw(response);
2391
+ }
2372
2392
  /** https://discord.com/developers/docs/resources/channel#pin-message */
2373
2393
  pinMessage(channelID, messageID, reason) {
2374
2394
  this.rest.request(rest_1.RESTMethods.Put, rest_1.Endpoints.channelPin(channelID, messageID), {
@@ -2397,6 +2417,10 @@ class Client extends node_events_1.default {
2397
2417
  reason,
2398
2418
  });
2399
2419
  }
2420
+ /** https://discord.com/developers/docs/resources/lobby#remove-a-member-from-a-lobby */
2421
+ removeLobbyMember(lobbyID, userID) {
2422
+ this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.lobbyMember(lobbyID, userID));
2423
+ }
2400
2424
  /** https://discord.com/developers/docs/resources/channel#remove-thread-member */
2401
2425
  removeThreadMember(channelID, userID) {
2402
2426
  this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.threadMembers(channelID, userID));
@@ -2433,6 +2457,11 @@ class Client extends node_events_1.default {
2433
2457
  triggerTypingIndicator(channelID) {
2434
2458
  this.rest.request(rest_1.RESTMethods.Post, rest_1.Endpoints.channelTyping(channelID));
2435
2459
  }
2460
+ /** https://discord.com/developers/docs/resources/lobby#unlink-channel-from-lobby */
2461
+ async unlinkChannel(lobbyID) {
2462
+ const response = await this.rest.request(rest_1.RESTMethods.Patch, rest_1.Endpoints.lobbyChannelLinking(lobbyID));
2463
+ return transformers_1.Lobbies.lobbyFromRaw(response);
2464
+ }
2436
2465
  /** https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records */
2437
2466
  async updateApplicationRoleConnectionMetadataRecords(applicationID) {
2438
2467
  const response = await this.rest.request(rest_1.RESTMethods.Put, rest_1.Endpoints.applicationRoleConnectionMetadata(applicationID));