disgroove 3.0.0 → 3.0.1-dev.59674f9

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.
package/README.md CHANGED
@@ -1,14 +1,42 @@
1
1
  # disgroove
2
2
 
3
- A module to interface with Discord
3
+ > A lightweight (≈ **791 KB** unpacked) and low-level Node.js dependency for interfacing with Discord, focused on accuracy and flexibility.
4
+ > It is designed for developers who want full control over the Discord API without heavy abstractions and want as little RAM and CPU usage as possible.
4
5
 
5
- - Fast
6
- - Lightweight
7
- - Flexible
8
- - 100% coverage of the [Official Discord API Documentation](https://discord.com/developers/docs/intro)
6
+ > **disgroove** is intended for developers already familiar with the Discord API and gateway model.
9
7
 
10
- ## Example
8
+ ## Why disgroove?
9
+
10
+ ### ✅ Accurate with the official Discord API
11
+
12
+ All commits (since __July 3, 2024__), types, REST requests, and utilities strictly follow the [official Discord API documentation repository](https://github.com/discord/discord-api-docs) and are referenced to the [Discord API developer docs](https://docs.discord.com/developers/intro).
13
+
14
+ Development releases are mainly published when breaking changes are introduced in the Discord API.
15
+
16
+ ---
17
+
18
+ ### 🧠 Minimal caching
19
+
20
+ **disgroove** only caches guilds.
21
+
22
+ Guilds are mapped from the `READY` gateway event and kept in sync through
23
+ `GUILD_CREATE`, `GUILD_UPDATE` and `GUILD_DELETE` gateway events.
24
+
25
+ This design significantly decreases RAM and CPU usage and keeps the library lightweight.
11
26
 
27
+ ---
28
+
29
+ ### 🔧 Highly flexible and low-level
30
+
31
+ **disgroove** doesn't hide Discord features behind abstractions.
32
+
33
+ Every REST request is built directly on top of the [Discord API developer docs](https://docs.discord.com/developers/intro), with no changes.
34
+
35
+ You can listen to any gateway event directly using `Shard.ws.on(...)` and perform raw REST requests using `Client.rest.request(...)`
36
+
37
+ This allows you to use new Discord features immediately, even before a dedicated **disgroove** update is released.
38
+
39
+ ## Example
12
40
  ```js
13
41
  const {
14
42
  Client,
@@ -17,7 +45,7 @@ const {
17
45
  InteractionCallbackType,
18
46
  MessageFlags,
19
47
  } = require("disgroove");
20
- const client = new Client("B0t.T0k3N");
48
+ const client = new Client(process.env.TOKEN);
21
49
 
22
50
  client.once("ready", () => {
23
51
  console.log("Logged in as", client.user.username);
@@ -28,7 +56,7 @@ client.once("ready", () => {
28
56
  });
29
57
  });
30
58
 
31
- client.on("interactionCreate", async (interaction) => {
59
+ client.on("interactionCreate", (interaction) => {
32
60
  if (interaction.type !== InteractionType.ApplicationCommand) return;
33
61
 
34
62
  if (interaction.data.name === "ping") {
@@ -46,3 +74,5 @@ client.connect();
46
74
  ```
47
75
 
48
76
  More examples on the [GitHub repository](https://github.com/sergiogotuzzo/disgroove/tree/main/examples)
77
+
78
+ > Enjoy **disgroove**? Leave a ⭐ to this repository!
@@ -1,4 +1,4 @@
1
- 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";
1
+ 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, type InviteTargetUsersJobStatusErrorCodes, type AuthorTypes, type SearchHasTypes, type SearchEmbedTypes, type SearchSortModes } from "./constants";
2
2
  import { RequestManager, type FileData } from "./rest";
3
3
  import EventEmitter from "node:events";
4
4
  import { Shard } from "./gateway";
@@ -26,7 +26,7 @@ import type { User, ApplicationRoleConnection, Connection } from "./types/user";
26
26
  import type { VoiceRegion, VoiceState } from "./types/voice";
27
27
  import type { Webhook } from "./types/webhook";
28
28
  import type { ClientOptions as WebSocketOptions } from "ws";
29
- import type { Embed, AllowedMentions, Attachment, Message, MessageReference, MessagePin } from "./types/message";
29
+ import type { Embed, AllowedMentions, Attachment, Message, MessageReference, MessagePin, SharedClientTheme } from "./types/message";
30
30
  import type { Subscription } from "./types/subscription";
31
31
  import type { SoundboardSound } from "./types/soundboard";
32
32
  import type { ActionRow, Button, ChannelSelect, Container, File, MediaGallery, MentionableSelect, RoleSelect, Section, Separator, StringSelect, TextDisplay, Thumbnail, UserSelect } from "./types/components";
@@ -181,6 +181,8 @@ export declare class Client extends EventEmitter {
181
181
  targetType?: InviteTargetTypes;
182
182
  targetUserId?: snowflake;
183
183
  targetApplicationId?: snowflake;
184
+ targetUsersFile?: FileData;
185
+ rolesIds?: Array<snowflake>;
184
186
  }, reason?: string): Promise<Invite>;
185
187
  /** https://discord.com/developers/docs/resources/webhook#create-webhook */
186
188
  createChannelWebhook(channelId: snowflake, options: {
@@ -314,6 +316,7 @@ export declare class Client extends EventEmitter {
314
316
  flags?: MessageFlags;
315
317
  enforceNonce?: boolean;
316
318
  poll?: PollCreateParams;
319
+ sharedClientTheme?: SharedClientTheme;
317
320
  }): Promise<Message>;
318
321
  /** https://discord.com/developers/docs/resources/message#create-reaction */
319
322
  createMessageReaction(channelId: snowflake, messageId: snowflake, emoji: string): void;
@@ -950,6 +953,16 @@ export declare class Client extends EventEmitter {
950
953
  withCounts?: boolean;
951
954
  guildScheduledEventId?: snowflake;
952
955
  }): Promise<Invite>;
956
+ /** https://discord.com/developers/docs/resources/invite#get-target-users */
957
+ getInviteTargetUser(inviteCode: string): Promise<Blob>;
958
+ getInviteTargetUserJobStatus(inviteCode: string): Promise<{
959
+ status: InviteTargetUsersJobStatusErrorCodes;
960
+ totalUsers: number;
961
+ processedUsers: number;
962
+ createdAt: timestamp;
963
+ completedAt: timestamp | null;
964
+ errorMessage: string | null;
965
+ }>;
953
966
  /** https://discord.com/developers/docs/resources/channel#list-joined-private-archived-threads */
954
967
  getJoinedPrivateArchivedThreads(channelId: snowflake, options?: {
955
968
  before?: snowflake;
@@ -1079,6 +1092,40 @@ export declare class Client extends EventEmitter {
1079
1092
  query: string;
1080
1093
  limit?: number;
1081
1094
  }): Promise<Array<GuildMember>>;
1095
+ /** https://docs.discord.com/developers/resources/message#search-guild-messages */
1096
+ searchGuildMessages(guildId: snowflake, options?: {
1097
+ limit?: number;
1098
+ offset?: number;
1099
+ maxId?: snowflake;
1100
+ minId?: snowflake;
1101
+ slop?: number;
1102
+ content?: string;
1103
+ channelId?: snowflake;
1104
+ authorType?: Array<AuthorTypes>;
1105
+ authorId?: Array<snowflake>;
1106
+ mentions?: Array<snowflake>;
1107
+ mentionsRolesId?: Array<snowflake>;
1108
+ mentionEveryone?: boolean;
1109
+ repliedToUserId?: Array<snowflake>;
1110
+ repliedToMessageId?: Array<snowflake>;
1111
+ pinned?: boolean;
1112
+ has?: Array<SearchHasTypes>;
1113
+ embedType?: Array<SearchEmbedTypes>;
1114
+ embedProvider?: Array<string>;
1115
+ linkHostname?: Array<string>;
1116
+ attachmentFilename?: Array<string>;
1117
+ attachmentExtension?: Array<string>;
1118
+ sortBy?: SearchSortModes;
1119
+ sortOrder?: string;
1120
+ includeNfsw?: boolean;
1121
+ }): Promise<{
1122
+ doingDeepHistoricalIndex: boolean;
1123
+ documentsIndexed?: number;
1124
+ totalResults: number;
1125
+ messages: Array<Message>;
1126
+ threads?: Array<Channel>;
1127
+ members?: Array<ThreadMember>;
1128
+ }>;
1082
1129
  /** https://discord.com/developers/docs/resources/soundboard#send-soundboard-sound */
1083
1130
  sendSoundboardSound(channelId: snowflake, options: {
1084
1131
  soundId: snowflake;
@@ -1100,6 +1147,8 @@ export declare class Client extends EventEmitter {
1100
1147
  platformUsername?: string;
1101
1148
  metadata?: ApplicationRoleConnectionMetadata;
1102
1149
  }): Promise<ApplicationRoleConnection>;
1150
+ /** https://discord.com/developers/docs/resources/invite#update-target-users */
1151
+ updateInviteTargetUser(inviteCode: string, targetUsersFile: FileData): void;
1103
1152
  /** https://discord.com/developers/docs/resources/channel#unpin-message */
1104
1153
  unpinMessage(channelId: snowflake, messageId: snowflake, reason?: string): void;
1105
1154
  }
@@ -244,7 +244,11 @@ class Client extends node_events_1.default {
244
244
  target_type: options.targetType,
245
245
  target_user_id: options.targetUserId,
246
246
  target_application_id: options.targetApplicationId,
247
+ roles_ids: options.rolesIds,
247
248
  },
249
+ files: options.targetUsersFile !== undefined
250
+ ? [options.targetUsersFile]
251
+ : undefined,
248
252
  reason,
249
253
  });
250
254
  return transformers_1.Invites.inviteFromRaw(response);
@@ -648,6 +652,14 @@ class Client extends node_events_1.default {
648
652
  layout_type: options.poll.layoutType,
649
653
  }
650
654
  : undefined,
655
+ shared_client_theme: options.sharedClientTheme !== undefined
656
+ ? {
657
+ colors: options.sharedClientTheme.colors,
658
+ gradient_angle: options.sharedClientTheme.gradientAngle,
659
+ base_mix: options.sharedClientTheme.baseMix,
660
+ base_theme: options.sharedClientTheme.baseTheme,
661
+ }
662
+ : undefined,
651
663
  },
652
664
  files: options.files,
653
665
  });
@@ -2163,6 +2175,21 @@ class Client extends node_events_1.default {
2163
2175
  });
2164
2176
  return transformers_1.Invites.inviteFromRaw(response);
2165
2177
  }
2178
+ /** https://discord.com/developers/docs/resources/invite#get-target-users */
2179
+ getInviteTargetUser(inviteCode) {
2180
+ return this.rest.request(rest_1.RESTMethods.Get, rest_1.Endpoints.inviteTargetUsers(inviteCode));
2181
+ }
2182
+ async getInviteTargetUserJobStatus(inviteCode) {
2183
+ const response = await this.rest.request(rest_1.RESTMethods.Get, rest_1.Endpoints.inviteTargetUsersJobStatus(inviteCode));
2184
+ return {
2185
+ status: response.status,
2186
+ totalUsers: response.total_users,
2187
+ processedUsers: response.processed_users,
2188
+ createdAt: response.created_at,
2189
+ completedAt: response.completed_at,
2190
+ errorMessage: response.error_message,
2191
+ };
2192
+ }
2166
2193
  /** https://discord.com/developers/docs/resources/channel#list-joined-private-archived-threads */
2167
2194
  async getJoinedPrivateArchivedThreads(channelId, options) {
2168
2195
  const response = await this.rest.request(rest_1.RESTMethods.Get, rest_1.Endpoints.channelThreads(channelId, "private", true), {
@@ -2455,6 +2482,45 @@ class Client extends node_events_1.default {
2455
2482
  });
2456
2483
  return response.map((guildMember) => transformers_1.Guilds.guildMemberFromRaw(guildMember));
2457
2484
  }
2485
+ /** https://docs.discord.com/developers/resources/message#search-guild-messages */
2486
+ async searchGuildMessages(guildId, options) {
2487
+ const response = await this.rest.request(rest_1.RESTMethods.Get, rest_1.Endpoints.guildMessagesSearch(guildId), {
2488
+ query: {
2489
+ limit: options?.limit,
2490
+ offset: options?.offset,
2491
+ max_id: options?.maxId,
2492
+ min_id: options?.minId,
2493
+ slop: options?.slop,
2494
+ content: options?.content,
2495
+ channel_id: options?.channelId,
2496
+ author_type: options?.authorType,
2497
+ author_id: options?.authorId,
2498
+ mentions: options?.mentions,
2499
+ mentions_roles_id: options?.mentionsRolesId,
2500
+ mention_everyone: options?.mentionEveryone,
2501
+ replied_to_user_id: options?.repliedToUserId,
2502
+ replied_to_message_id: options?.repliedToMessageId,
2503
+ pinned: options?.pinned,
2504
+ has: options?.has,
2505
+ embed_type: options?.embedType,
2506
+ embed_provider: options?.embedProvider,
2507
+ link_hostname: options?.linkHostname,
2508
+ attachment_filename: options?.attachmentFilename,
2509
+ attachment_extension: options?.attachmentExtension,
2510
+ sort_by: options?.sortBy,
2511
+ sort_order: options?.sortOrder,
2512
+ include_nsfw: options?.includeNfsw,
2513
+ },
2514
+ });
2515
+ return {
2516
+ doingDeepHistoricalIndex: response.doing_deep_historical_index,
2517
+ documentsIndexed: response.documents_indexed,
2518
+ totalResults: response.total_results,
2519
+ messages: response.messages.map((message) => transformers_1.Messages.messageFromRaw(message)),
2520
+ threads: response.threads?.map((thread) => transformers_1.Channels.channelFromRaw(thread)),
2521
+ members: response.members?.map((member) => transformers_1.Channels.threadMemberFromRaw(member)),
2522
+ };
2523
+ }
2458
2524
  /** https://discord.com/developers/docs/resources/soundboard#send-soundboard-sound */
2459
2525
  sendSoundboardSound(channelId, options) {
2460
2526
  this.rest.request(rest_1.RESTMethods.Post, rest_1.Endpoints.sendSoundboardSound(channelId), {
@@ -2504,6 +2570,12 @@ class Client extends node_events_1.default {
2504
2570
  metadata: transformers_1.ApplicationRoleConnectionMetadatas.applicationRoleConnectionMetadataFromRaw(response.metadata),
2505
2571
  };
2506
2572
  }
2573
+ /** https://discord.com/developers/docs/resources/invite#update-target-users */
2574
+ updateInviteTargetUser(inviteCode, targetUsersFile) {
2575
+ this.rest.request(rest_1.RESTMethods.Put, rest_1.Endpoints.inviteTargetUsers(inviteCode), {
2576
+ files: [targetUsersFile],
2577
+ });
2578
+ }
2507
2579
  /** https://discord.com/developers/docs/resources/channel#unpin-message */
2508
2580
  unpinMessage(channelId, messageId, reason) {
2509
2581
  this.rest.request(rest_1.RESTMethods.Delete, rest_1.Endpoints.channelPin(channelId, messageId), {
@@ -138,7 +138,10 @@ export declare enum ComponentTypes {
138
138
  Separator = 14,
139
139
  Container = 17,
140
140
  Label = 18,
141
- FileUpload = 19
141
+ FileUpload = 19,
142
+ RadioGroup = 21,
143
+ CheckboxGroup = 22,
144
+ Checkbox = 23
142
145
  }
143
146
  /** https://discord.com/developers/docs/components/reference#button-button-styles */
144
147
  export declare enum ButtonStyles {
@@ -522,6 +525,13 @@ export declare enum InviteTargetTypes {
522
525
  export declare enum GuildInviteFlags {
523
526
  IsGuestInvite = 1
524
527
  }
528
+ /** https://discord.com/developers/docs/resources/invite#get-target-users-job-status-error-codes */
529
+ export declare enum InviteTargetUsersJobStatusErrorCodes {
530
+ Unspecified = 0,
531
+ Processing = 1,
532
+ Completed = 2,
533
+ Failed = 3
534
+ }
525
535
  /** https://discord.com/developers/docs/resources/lobby#lobby-member-object-lobby-member-flags */
526
536
  export declare enum LobbyMemberFlags {
527
537
  CanLinkLobby = 1
@@ -614,6 +624,45 @@ export declare enum AllowedMentionTypes {
614
624
  UserMentions = "users",
615
625
  EveryoneMentions = "everyone"
616
626
  }
627
+ /** https://docs.discord.com/developers/resources/message#base-theme-types */
628
+ export declare enum BaseThemeTypes {
629
+ Unset = 0,
630
+ Dark = 1,
631
+ Light = 2,
632
+ Darker = 3,
633
+ Midnight = 4
634
+ }
635
+ /** https://docs.discord.com/developers/resources/message#search-guild-messages-author-types */
636
+ export declare enum AuthorTypes {
637
+ User = "user",
638
+ Bot = "bot",
639
+ Webhook = "webhook"
640
+ }
641
+ /** https://docs.discord.com/developers/resources/message#search-guild-messages-search-has-types */
642
+ export declare enum SearchHasTypes {
643
+ Image = "image",
644
+ Sound = "sound",
645
+ Video = "video",
646
+ File = "file",
647
+ Sticker = "sticker",
648
+ Embed = "embed",
649
+ Link = "link",
650
+ Poll = "poll",
651
+ Snapshot = "snapshot"
652
+ }
653
+ /** https://docs.discord.com/developers/resources/message#search-guild-messages-search-embed-types */
654
+ export declare enum SearchEmbedTypes {
655
+ Image = "image",
656
+ Video = "video",
657
+ GIF = "gif",
658
+ Sound = "sound",
659
+ Article = "article"
660
+ }
661
+ /** https://docs.discord.com/developers/resources/message#search-guild-messages-search-sort-modes */
662
+ export declare enum SearchSortModes {
663
+ Timestamp = "timestamp",
664
+ Relevance = "relevance"
665
+ }
617
666
  /** https://discord.com/developers/docs/resources/message#get-reactions-reaction-types */
618
667
  export declare enum ReactionTypes {
619
668
  Normal = 0,
@@ -948,7 +997,10 @@ export declare enum VoiceCloseEventCodes {
948
997
  Disconnect = 4014,
949
998
  VoiceServerCrashed = 4015,
950
999
  UnknownEncryptionMode = 4016,
951
- BadRequest = 4020
1000
+ ProtocolRequired = 4017,
1001
+ BadRequest = 4020,
1002
+ RateLimited = 4021,
1003
+ CallTerminated = 4022
952
1004
  }
953
1005
  /** https://discord.com/developers/docs/topics/opcodes-and-status-codes#http-http-response-codes */
954
1006
  export declare enum HTTPResponseCodes {
@@ -1012,6 +1064,8 @@ export declare enum JSONErrorCodes {
1012
1064
  UnknownGuildScheduledEventUser = 10071,
1013
1065
  UnknownTag = 10087,
1014
1066
  UnknownSound = 10091,
1067
+ UnknownInviteTargetUsersJob = 10124,
1068
+ UnknownInviteTargetUsers = 10129,
1015
1069
  BotsCannotUseThisEndpoint = 20001,
1016
1070
  OnlyBotsCanUseThisEndpoint = 20002,
1017
1071
  ExplicitContentCannotBeSentToTheDesiredRecipient = 20009,
@@ -1152,10 +1206,13 @@ export declare enum JSONErrorCodes {
1152
1206
  YouCannotSendVoiceMessagesInThisChannel = 50173,
1153
1207
  TheUserAccountMustFirstBeVerified = 50178,
1154
1208
  TheProvidedFileDoesNotHaveAValidDuration = 50192,
1209
+ CannotSendMessagesToThisUser2 = 50278,
1155
1210
  YouDoNotHavePermissionToSendThisSticker = 50600,
1156
1211
  TwoFactorAuthenticationIsRequired = 60003,
1157
1212
  NoUsersWithDiscordTagExist = 80004,
1158
1213
  ReactionWasBlocked = 90001,
1214
+ UserCannotUseBurstReactions = 90002,
1215
+ IndexNotYetAvailable = 110000,
1159
1216
  ApplicationNotYetAvailable = 110001,
1160
1217
  APIResourceOverloaded = 130000,
1161
1218
  TheStageIsAlreadyOpen = 150006,
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GuildScheduledEventRecurrenceRuleMonth = exports.GuildScheduledEventRecurrenceRuleWeekday = exports.GuildScheduledEventRecurrenceRuleFrequency = 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.ForumLayoutTypes = exports.SortOrderTypes = exports.ChannelFlags = exports.VideoQualityModes = exports.ChannelTypes = exports.ActionTypes = exports.EventTypes = exports.KeywordPresetTypes = exports.TriggerTypes = exports.AuditLogEvents = exports.ApplicationRoleConnectionMetadataType = exports.ActivityLocationKind = exports.ApplicationFlags = exports.ApplicationEventWebhookStatus = exports.ApplicationIntegrationTypes = exports.SeparatorSpacing = exports.TextInputStyles = exports.ButtonStyles = exports.ComponentTypes = exports.InteractionCallbackType = exports.InteractionContextTypes = exports.InteractionType = exports.ApplicationCommandPermissionType = exports.EntryPointCommandHandlerTypes = exports.ApplicationCommandOptionType = exports.ApplicationCommandTypes = exports.Locales = exports.ImageFormats = exports.GuildNavigationTypes = exports.TimestampStyles = 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.AnimationTypes = exports.ActivityFlags = exports.ActivityType = exports.GatewayEvents = exports.StatusTypes = exports.GatewayIntents = exports.DeviceType = exports.WebhookTypes = exports.SubscriptionStatuses = exports.VisibilityTypes = exports.Services = exports.PremiumTypes = exports.UserFlags = exports.StickerFormatTypes = exports.StickerTypes = exports.PrivacyLevel = exports.LayoutType = exports.ReactionTypes = exports.AllowedMentionTypes = exports.AttachmentFlags = exports.EmbedTypes = exports.MessageReferenceTypes = exports.MessageFlags = exports.MessageActivityTypes = exports.MessageTypes = exports.LobbyMemberFlags = exports.GuildInviteFlags = exports.InviteTargetTypes = exports.InviteTypes = void 0;
4
+ 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.AnimationTypes = exports.ActivityFlags = exports.ActivityType = exports.GatewayEvents = exports.StatusTypes = exports.GatewayIntents = exports.DeviceType = exports.WebhookTypes = exports.SubscriptionStatuses = exports.VisibilityTypes = exports.Services = exports.PremiumTypes = exports.UserFlags = exports.StickerFormatTypes = exports.StickerTypes = exports.PrivacyLevel = exports.LayoutType = exports.ReactionTypes = exports.SearchSortModes = exports.SearchEmbedTypes = exports.SearchHasTypes = exports.AuthorTypes = exports.BaseThemeTypes = exports.AllowedMentionTypes = exports.AttachmentFlags = exports.EmbedTypes = exports.MessageReferenceTypes = exports.MessageFlags = exports.MessageActivityTypes = exports.MessageTypes = exports.LobbyMemberFlags = exports.InviteTargetUsersJobStatusErrorCodes = exports.GuildInviteFlags = exports.InviteTargetTypes = exports.InviteTypes = void 0;
5
+ exports.EntitlementTypes = void 0;
5
6
  /** https://discord.com/developers/docs/reference#message-formatting-timestamp-styles */
6
7
  var TimestampStyles;
7
8
  (function (TimestampStyles) {
@@ -155,6 +156,9 @@ var ComponentTypes;
155
156
  ComponentTypes[ComponentTypes["Container"] = 17] = "Container";
156
157
  ComponentTypes[ComponentTypes["Label"] = 18] = "Label";
157
158
  ComponentTypes[ComponentTypes["FileUpload"] = 19] = "FileUpload";
159
+ ComponentTypes[ComponentTypes["RadioGroup"] = 21] = "RadioGroup";
160
+ ComponentTypes[ComponentTypes["CheckboxGroup"] = 22] = "CheckboxGroup";
161
+ ComponentTypes[ComponentTypes["Checkbox"] = 23] = "Checkbox";
158
162
  })(ComponentTypes || (exports.ComponentTypes = ComponentTypes = {}));
159
163
  /** https://discord.com/developers/docs/components/reference#button-button-styles */
160
164
  var ButtonStyles;
@@ -579,6 +583,14 @@ var GuildInviteFlags;
579
583
  (function (GuildInviteFlags) {
580
584
  GuildInviteFlags[GuildInviteFlags["IsGuestInvite"] = 1] = "IsGuestInvite";
581
585
  })(GuildInviteFlags || (exports.GuildInviteFlags = GuildInviteFlags = {}));
586
+ /** https://discord.com/developers/docs/resources/invite#get-target-users-job-status-error-codes */
587
+ var InviteTargetUsersJobStatusErrorCodes;
588
+ (function (InviteTargetUsersJobStatusErrorCodes) {
589
+ InviteTargetUsersJobStatusErrorCodes[InviteTargetUsersJobStatusErrorCodes["Unspecified"] = 0] = "Unspecified";
590
+ InviteTargetUsersJobStatusErrorCodes[InviteTargetUsersJobStatusErrorCodes["Processing"] = 1] = "Processing";
591
+ InviteTargetUsersJobStatusErrorCodes[InviteTargetUsersJobStatusErrorCodes["Completed"] = 2] = "Completed";
592
+ InviteTargetUsersJobStatusErrorCodes[InviteTargetUsersJobStatusErrorCodes["Failed"] = 3] = "Failed";
593
+ })(InviteTargetUsersJobStatusErrorCodes || (exports.InviteTargetUsersJobStatusErrorCodes = InviteTargetUsersJobStatusErrorCodes = {}));
582
594
  /** https://discord.com/developers/docs/resources/lobby#lobby-member-object-lobby-member-flags */
583
595
  var LobbyMemberFlags;
584
596
  (function (LobbyMemberFlags) {
@@ -679,6 +691,50 @@ var AllowedMentionTypes;
679
691
  AllowedMentionTypes["UserMentions"] = "users";
680
692
  AllowedMentionTypes["EveryoneMentions"] = "everyone";
681
693
  })(AllowedMentionTypes || (exports.AllowedMentionTypes = AllowedMentionTypes = {}));
694
+ /** https://docs.discord.com/developers/resources/message#base-theme-types */
695
+ var BaseThemeTypes;
696
+ (function (BaseThemeTypes) {
697
+ BaseThemeTypes[BaseThemeTypes["Unset"] = 0] = "Unset";
698
+ BaseThemeTypes[BaseThemeTypes["Dark"] = 1] = "Dark";
699
+ BaseThemeTypes[BaseThemeTypes["Light"] = 2] = "Light";
700
+ BaseThemeTypes[BaseThemeTypes["Darker"] = 3] = "Darker";
701
+ BaseThemeTypes[BaseThemeTypes["Midnight"] = 4] = "Midnight";
702
+ })(BaseThemeTypes || (exports.BaseThemeTypes = BaseThemeTypes = {}));
703
+ /** https://docs.discord.com/developers/resources/message#search-guild-messages-author-types */
704
+ var AuthorTypes;
705
+ (function (AuthorTypes) {
706
+ AuthorTypes["User"] = "user";
707
+ AuthorTypes["Bot"] = "bot";
708
+ AuthorTypes["Webhook"] = "webhook";
709
+ })(AuthorTypes || (exports.AuthorTypes = AuthorTypes = {}));
710
+ /** https://docs.discord.com/developers/resources/message#search-guild-messages-search-has-types */
711
+ var SearchHasTypes;
712
+ (function (SearchHasTypes) {
713
+ SearchHasTypes["Image"] = "image";
714
+ SearchHasTypes["Sound"] = "sound";
715
+ SearchHasTypes["Video"] = "video";
716
+ SearchHasTypes["File"] = "file";
717
+ SearchHasTypes["Sticker"] = "sticker";
718
+ SearchHasTypes["Embed"] = "embed";
719
+ SearchHasTypes["Link"] = "link";
720
+ SearchHasTypes["Poll"] = "poll";
721
+ SearchHasTypes["Snapshot"] = "snapshot";
722
+ })(SearchHasTypes || (exports.SearchHasTypes = SearchHasTypes = {}));
723
+ /** https://docs.discord.com/developers/resources/message#search-guild-messages-search-embed-types */
724
+ var SearchEmbedTypes;
725
+ (function (SearchEmbedTypes) {
726
+ SearchEmbedTypes["Image"] = "image";
727
+ SearchEmbedTypes["Video"] = "video";
728
+ SearchEmbedTypes["GIF"] = "gif";
729
+ SearchEmbedTypes["Sound"] = "sound";
730
+ SearchEmbedTypes["Article"] = "article";
731
+ })(SearchEmbedTypes || (exports.SearchEmbedTypes = SearchEmbedTypes = {}));
732
+ /** https://docs.discord.com/developers/resources/message#search-guild-messages-search-sort-modes */
733
+ var SearchSortModes;
734
+ (function (SearchSortModes) {
735
+ SearchSortModes["Timestamp"] = "timestamp";
736
+ SearchSortModes["Relevance"] = "relevance";
737
+ })(SearchSortModes || (exports.SearchSortModes = SearchSortModes = {}));
682
738
  /** https://discord.com/developers/docs/resources/message#get-reactions-reaction-types */
683
739
  var ReactionTypes;
684
740
  (function (ReactionTypes) {
@@ -1036,7 +1092,10 @@ var VoiceCloseEventCodes;
1036
1092
  VoiceCloseEventCodes[VoiceCloseEventCodes["Disconnect"] = 4014] = "Disconnect";
1037
1093
  VoiceCloseEventCodes[VoiceCloseEventCodes["VoiceServerCrashed"] = 4015] = "VoiceServerCrashed";
1038
1094
  VoiceCloseEventCodes[VoiceCloseEventCodes["UnknownEncryptionMode"] = 4016] = "UnknownEncryptionMode";
1095
+ VoiceCloseEventCodes[VoiceCloseEventCodes["ProtocolRequired"] = 4017] = "ProtocolRequired";
1039
1096
  VoiceCloseEventCodes[VoiceCloseEventCodes["BadRequest"] = 4020] = "BadRequest";
1097
+ VoiceCloseEventCodes[VoiceCloseEventCodes["RateLimited"] = 4021] = "RateLimited";
1098
+ VoiceCloseEventCodes[VoiceCloseEventCodes["CallTerminated"] = 4022] = "CallTerminated";
1040
1099
  })(VoiceCloseEventCodes || (exports.VoiceCloseEventCodes = VoiceCloseEventCodes = {}));
1041
1100
  /** https://discord.com/developers/docs/topics/opcodes-and-status-codes#http-http-response-codes */
1042
1101
  var HTTPResponseCodes;
@@ -1102,6 +1161,8 @@ var JSONErrorCodes;
1102
1161
  JSONErrorCodes[JSONErrorCodes["UnknownGuildScheduledEventUser"] = 10071] = "UnknownGuildScheduledEventUser";
1103
1162
  JSONErrorCodes[JSONErrorCodes["UnknownTag"] = 10087] = "UnknownTag";
1104
1163
  JSONErrorCodes[JSONErrorCodes["UnknownSound"] = 10091] = "UnknownSound";
1164
+ JSONErrorCodes[JSONErrorCodes["UnknownInviteTargetUsersJob"] = 10124] = "UnknownInviteTargetUsersJob";
1165
+ JSONErrorCodes[JSONErrorCodes["UnknownInviteTargetUsers"] = 10129] = "UnknownInviteTargetUsers";
1105
1166
  JSONErrorCodes[JSONErrorCodes["BotsCannotUseThisEndpoint"] = 20001] = "BotsCannotUseThisEndpoint";
1106
1167
  JSONErrorCodes[JSONErrorCodes["OnlyBotsCanUseThisEndpoint"] = 20002] = "OnlyBotsCanUseThisEndpoint";
1107
1168
  JSONErrorCodes[JSONErrorCodes["ExplicitContentCannotBeSentToTheDesiredRecipient"] = 20009] = "ExplicitContentCannotBeSentToTheDesiredRecipient";
@@ -1242,10 +1303,13 @@ var JSONErrorCodes;
1242
1303
  JSONErrorCodes[JSONErrorCodes["YouCannotSendVoiceMessagesInThisChannel"] = 50173] = "YouCannotSendVoiceMessagesInThisChannel";
1243
1304
  JSONErrorCodes[JSONErrorCodes["TheUserAccountMustFirstBeVerified"] = 50178] = "TheUserAccountMustFirstBeVerified";
1244
1305
  JSONErrorCodes[JSONErrorCodes["TheProvidedFileDoesNotHaveAValidDuration"] = 50192] = "TheProvidedFileDoesNotHaveAValidDuration";
1306
+ JSONErrorCodes[JSONErrorCodes["CannotSendMessagesToThisUser2"] = 50278] = "CannotSendMessagesToThisUser2";
1245
1307
  JSONErrorCodes[JSONErrorCodes["YouDoNotHavePermissionToSendThisSticker"] = 50600] = "YouDoNotHavePermissionToSendThisSticker";
1246
1308
  JSONErrorCodes[JSONErrorCodes["TwoFactorAuthenticationIsRequired"] = 60003] = "TwoFactorAuthenticationIsRequired";
1247
1309
  JSONErrorCodes[JSONErrorCodes["NoUsersWithDiscordTagExist"] = 80004] = "NoUsersWithDiscordTagExist";
1248
1310
  JSONErrorCodes[JSONErrorCodes["ReactionWasBlocked"] = 90001] = "ReactionWasBlocked";
1311
+ JSONErrorCodes[JSONErrorCodes["UserCannotUseBurstReactions"] = 90002] = "UserCannotUseBurstReactions";
1312
+ JSONErrorCodes[JSONErrorCodes["IndexNotYetAvailable"] = 110000] = "IndexNotYetAvailable";
1249
1313
  JSONErrorCodes[JSONErrorCodes["ApplicationNotYetAvailable"] = 110001] = "ApplicationNotYetAvailable";
1250
1314
  JSONErrorCodes[JSONErrorCodes["APIResourceOverloaded"] = 130000] = "APIResourceOverloaded";
1251
1315
  JSONErrorCodes[JSONErrorCodes["TheStageIsAlreadyOpen"] = 150006] = "TheStageIsAlreadyOpen";
@@ -208,6 +208,11 @@ exports.Handlers = {
208
208
  }
209
209
  : null
210
210
  : undefined,
211
+ collectibles: data.collectibles !== undefined
212
+ ? data.collectibles !== null
213
+ ? transformers_1.Users.collectiblesFromRaw(data.collectibles)
214
+ : null
215
+ : undefined,
211
216
  });
212
217
  },
213
218
  [constants_1.GatewayEvents.GuildMembersChunk]: (shard, data) => {
@@ -306,6 +311,7 @@ exports.Handlers = {
306
311
  temporary: data.temporary,
307
312
  uses: data.uses,
308
313
  expiresAt: data.expires_at,
314
+ roleIds: data.roles_ids,
309
315
  });
310
316
  },
311
317
  [constants_1.GatewayEvents.InviteDelete]: (shard, data) => {
@@ -22,6 +22,7 @@ export declare const guildMemberRole: (guildId: snowflake, memberId: snowflake,
22
22
  export declare const guildMembers: (guildId: snowflake) => `guilds/${string}/members`;
23
23
  export declare const guildMembersSearch: (guildId: snowflake) => `guilds/${string}/members/search`;
24
24
  export declare const guildMemberVerification: (guildId: snowflake) => `guilds/${string}/member-verification`;
25
+ export declare const guildMessagesSearch: (guildId: snowflake) => `guilds/${string}/messages/search`;
25
26
  export declare const guildOnboarding: (guildId: snowflake) => `guilds/${string}/onboarding`;
26
27
  export declare const guildPreview: (guildId: snowflake) => `guilds/${string}/preview`;
27
28
  export declare const guildPrune: (guildId: snowflake) => `guilds/${string}/prune`;
@@ -113,3 +114,5 @@ export declare const lobbies: () => "lobbies";
113
114
  export declare const lobby: (lobbyId: snowflake) => `lobbies/${string}`;
114
115
  export declare const lobbyMember: (lobbyId: snowflake, userId?: snowflake | "@me") => `lobbies/${string}/members/${string}`;
115
116
  export declare const lobbyChannelLinking: (lobbyId: snowflake) => `lobbies/${string}/channel-linking`;
117
+ export declare const inviteTargetUsers: (inviteCode: string) => `invites/${string}/target-users`;
118
+ export declare const inviteTargetUsersJobStatus: (inviteCode: string) => `invites/${string}/target-users/job-status`;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.channelFollowers = exports.channelBulkDelete = exports.channel = exports.template = exports.guildWidgetSettings = exports.guildWidgetJSON = exports.guildWidgetImage = exports.guildWelcomeScreen = exports.guildWebhooks = exports.guildVoiceState = exports.guildVoiceRegions = exports.guildVanityURL = exports.guildTemplates = exports.guildTemplate = exports.guildStickers = exports.guildSticker = exports.guildSoundboardSounds = exports.guildSoundboardSound = exports.guildScheduledEventUsers = exports.guildScheduledEvents = exports.guildScheduledEvent = exports.guildRoles = exports.guildRoleMemberCounts = exports.guildRole = exports.guildPrune = exports.guildPreview = exports.guildOnboarding = exports.guildMemberVerification = exports.guildMembersSearch = exports.guildMembers = exports.guildMemberRole = exports.guildMember = exports.guildMFA = exports.guildInvites = exports.guildIntegrations = exports.guildIntegration = exports.guildIncidentsActions = exports.guildEmojis = exports.guildEmoji = exports.guildMemberNickname = exports.guildChannels = exports.guildBulkBan = exports.guildBans = exports.guildBan = exports.guildAutoModerationRules = exports.guildAutoModerationRule = exports.guildAuditLog = exports.guildActiveThreads = exports.guilds = exports.guild = void 0;
4
- exports.oauth2Authorize = exports.gatewayBot = exports.gateway = exports.soundboardDefaultSounds = exports.sendSoundboardSound = exports.skuSubscriptions = exports.skuSubscription = exports.stickerPacks = exports.stickerPack = exports.webhookPlatform = exports.webhookMessage = exports.webhook = exports.guildApplicationCommandsPermissions = exports.applicationSKUs = exports.applicationRoleConnectionMetadata = exports.applicationGuildCommands = exports.applicationGuildCommand = exports.applicationEntitlements = exports.applicationEntitlementConsume = exports.applicationEntitlement = exports.applicationEmojis = exports.applicationEmoji = exports.applicationUser = exports.applicationCommandPermissions = exports.applicationCommands = exports.applicationCommand = exports.applicationActivityInstance = exports.userGuilds = exports.userGuild = exports.userConnections = exports.userChannels = exports.userApplicationRoleConnection = exports.user = exports.pollExpire = exports.pollAnswerVoters = exports.threadMembers = exports.threads = exports.channelWebhooks = exports.channelTyping = exports.channelThreads = exports.channelRecipient = exports.channelPins = exports.channelPin = exports.channelPermission = exports.channelMessages = exports.channelMessageReaction = exports.channelMessageCrosspost = exports.channelMessageAllReactions = exports.channelMessage = exports.channelInvites = void 0;
5
- exports.lobbyChannelLinking = exports.lobbyMember = exports.lobby = exports.lobbies = exports.voiceRegions = exports.sticker = exports.stageInstances = exports.stageInstance = exports.invite = exports.interactionCallback = exports.oauth2TokenRevocation = exports.oauth2TokenExchange = exports.oauth2Authorization = exports.oauth2Application = void 0;
3
+ exports.channelBulkDelete = exports.channel = exports.template = exports.guildWidgetSettings = exports.guildWidgetJSON = exports.guildWidgetImage = exports.guildWelcomeScreen = exports.guildWebhooks = exports.guildVoiceState = exports.guildVoiceRegions = exports.guildVanityURL = exports.guildTemplates = exports.guildTemplate = exports.guildStickers = exports.guildSticker = exports.guildSoundboardSounds = exports.guildSoundboardSound = exports.guildScheduledEventUsers = exports.guildScheduledEvents = exports.guildScheduledEvent = exports.guildRoles = exports.guildRoleMemberCounts = exports.guildRole = exports.guildPrune = exports.guildPreview = exports.guildOnboarding = exports.guildMessagesSearch = exports.guildMemberVerification = exports.guildMembersSearch = exports.guildMembers = exports.guildMemberRole = exports.guildMember = exports.guildMFA = exports.guildInvites = exports.guildIntegrations = exports.guildIntegration = exports.guildIncidentsActions = exports.guildEmojis = exports.guildEmoji = exports.guildMemberNickname = exports.guildChannels = exports.guildBulkBan = exports.guildBans = exports.guildBan = exports.guildAutoModerationRules = exports.guildAutoModerationRule = exports.guildAuditLog = exports.guildActiveThreads = exports.guilds = exports.guild = void 0;
4
+ exports.gatewayBot = exports.gateway = exports.soundboardDefaultSounds = exports.sendSoundboardSound = exports.skuSubscriptions = exports.skuSubscription = exports.stickerPacks = exports.stickerPack = exports.webhookPlatform = exports.webhookMessage = exports.webhook = exports.guildApplicationCommandsPermissions = exports.applicationSKUs = exports.applicationRoleConnectionMetadata = exports.applicationGuildCommands = exports.applicationGuildCommand = exports.applicationEntitlements = exports.applicationEntitlementConsume = exports.applicationEntitlement = exports.applicationEmojis = exports.applicationEmoji = exports.applicationUser = exports.applicationCommandPermissions = exports.applicationCommands = exports.applicationCommand = exports.applicationActivityInstance = exports.userGuilds = exports.userGuild = exports.userConnections = exports.userChannels = exports.userApplicationRoleConnection = exports.user = exports.pollExpire = exports.pollAnswerVoters = exports.threadMembers = exports.threads = exports.channelWebhooks = exports.channelTyping = exports.channelThreads = exports.channelRecipient = exports.channelPins = exports.channelPin = exports.channelPermission = exports.channelMessages = exports.channelMessageReaction = exports.channelMessageCrosspost = exports.channelMessageAllReactions = exports.channelMessage = exports.channelInvites = exports.channelFollowers = void 0;
5
+ exports.inviteTargetUsersJobStatus = exports.inviteTargetUsers = exports.lobbyChannelLinking = exports.lobbyMember = exports.lobby = exports.lobbies = exports.voiceRegions = exports.sticker = exports.stageInstances = exports.stageInstance = exports.invite = exports.interactionCallback = exports.oauth2TokenRevocation = exports.oauth2TokenExchange = exports.oauth2Authorization = exports.oauth2Application = exports.oauth2Authorize = void 0;
6
6
  // Guilds
7
7
  const guild = (guildId) => `guilds/${guildId}`;
8
8
  exports.guild = guild;
@@ -50,6 +50,8 @@ const guildMembersSearch = (guildId) => `guilds/${guildId}/members/search`;
50
50
  exports.guildMembersSearch = guildMembersSearch;
51
51
  const guildMemberVerification = (guildId) => `guilds/${guildId}/member-verification`;
52
52
  exports.guildMemberVerification = guildMemberVerification;
53
+ const guildMessagesSearch = (guildId) => `guilds/${guildId}/messages/search`;
54
+ exports.guildMessagesSearch = guildMessagesSearch;
53
55
  const guildOnboarding = (guildId) => `guilds/${guildId}/onboarding`;
54
56
  exports.guildOnboarding = guildOnboarding;
55
57
  const guildPreview = (guildId) => `guilds/${guildId}/preview`;
@@ -253,3 +255,8 @@ const lobbyMember = (lobbyId, userId = "@me") => `lobbies/${lobbyId}/members/${u
253
255
  exports.lobbyMember = lobbyMember;
254
256
  const lobbyChannelLinking = (lobbyId) => `lobbies/${lobbyId}/channel-linking`;
255
257
  exports.lobbyChannelLinking = lobbyChannelLinking;
258
+ // Invites
259
+ const inviteTargetUsers = (inviteCode) => `invites/${inviteCode}/target-users`;
260
+ exports.inviteTargetUsers = inviteTargetUsers;
261
+ const inviteTargetUsersJobStatus = (inviteCode) => `invites/${inviteCode}/target-users/job-status`;
262
+ exports.inviteTargetUsersJobStatus = inviteTargetUsersJobStatus;
@@ -123,6 +123,10 @@ class RequestManager {
123
123
  resolve(null);
124
124
  }
125
125
  else {
126
+ let blob = await response.blob();
127
+ if (blob) {
128
+ resolve(blob);
129
+ }
126
130
  resolve((await response.json()));
127
131
  }
128
132
  }
@@ -1,4 +1,4 @@
1
- import { ActionRow, Button, Container, RawActionRow, RawButton, RawContainer, RawFile, File, RawUnfurledMediaItem, UnfurledMediaItem, RawTextDisplay, TextDisplay, RawSeparator, Separator, RawSection, Section, Thumbnail, RawThumbnail, TextInput, RawTextInput, MediaGallery, RawMediaGallery, RawStringSelect, StringSelect, RawUserSelect, UserSelect, RawRoleSelect, RoleSelect, RawMentionableSelect, MentionableSelect, RawChannelSelect, ChannelSelect, RawLabel, Label, RawFileUpload, FileUpload } from "../types/components";
1
+ import { ActionRow, Button, Container, RawActionRow, RawButton, RawContainer, RawFile, File, RawUnfurledMediaItem, UnfurledMediaItem, RawTextDisplay, TextDisplay, RawSeparator, Separator, RawSection, Section, Thumbnail, RawThumbnail, TextInput, RawTextInput, MediaGallery, RawMediaGallery, RawStringSelect, StringSelect, RawUserSelect, UserSelect, RawRoleSelect, RoleSelect, RawMentionableSelect, MentionableSelect, RawChannelSelect, ChannelSelect, RawLabel, Label, RawFileUpload, FileUpload, RawRadioGroup, RadioGroup, RawCheckbox, Checkbox, RawCheckboxGroup, CheckboxGroup } from "../types/components";
2
2
  export declare class Components {
3
3
  static actionRowFromRaw(actionRow: RawActionRow): ActionRow;
4
4
  static actionRowToRaw(actionRow: ActionRow): RawActionRow;
@@ -6,6 +6,10 @@ export declare class Components {
6
6
  static buttonToRaw(button: Button): RawButton;
7
7
  static channelSelectFromRaw(channelSelect: RawChannelSelect): ChannelSelect;
8
8
  static channelSelectToRaw(channelSelect: ChannelSelect): RawChannelSelect;
9
+ static checkboxFromRaw(checkbox: RawCheckbox): Checkbox;
10
+ static checkboxToRaw(checkbox: Checkbox): RawCheckbox;
11
+ static checkboxGroupFromRaw(checkboxGroup: RawCheckboxGroup): CheckboxGroup;
12
+ static checkboxGroupToRaw(checkboxGroup: CheckboxGroup): RawCheckboxGroup;
9
13
  static containerFromRaw(container: RawContainer): Container;
10
14
  static containerToRaw(container: Container): RawContainer;
11
15
  static fileFromRaw(file: RawFile): File;
@@ -18,6 +22,8 @@ export declare class Components {
18
22
  static mediaGalleryToRaw(mediaGallery: MediaGallery): RawMediaGallery;
19
23
  static mentionableSelectFromRaw(mentionableSelect: RawMentionableSelect): MentionableSelect;
20
24
  static mentionableSelectToRaw(mentionableSelect: MentionableSelect): RawMentionableSelect;
25
+ static radioGroupFromRaw(radioGroup: RawRadioGroup): RadioGroup;
26
+ static radioGroupToRaw(radioGroup: RadioGroup): RawRadioGroup;
21
27
  static roleSelectFromRaw(roleSelect: RawRoleSelect): RoleSelect;
22
28
  static roleSelectToRaw(roleSelect: RoleSelect): RawRoleSelect;
23
29
  static sectionFromRaw(section: RawSection): Section;