oceanic.js 1.3.1-dev.e55fd6c → 1.3.2-dev.0b2a96f

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 (52) hide show
  1. package/README.md +5 -3
  2. package/dist/lib/Client.js +3 -2
  3. package/dist/lib/Constants.d.ts +35 -26
  4. package/dist/lib/Constants.js +12 -2
  5. package/dist/lib/gateway/Shard.js +57 -4
  6. package/dist/lib/index.d.ts +2 -0
  7. package/dist/lib/index.js +5 -2
  8. package/dist/lib/rest/OAuthHelper.d.ts +13 -1
  9. package/dist/lib/rest/OAuthHelper.js +45 -1
  10. package/dist/lib/routes/ApplicationCommands.js +15 -9
  11. package/dist/lib/routes/Channels.d.ts +1 -1
  12. package/dist/lib/routes/Channels.js +13 -13
  13. package/dist/lib/routes/Guilds.js +22 -22
  14. package/dist/lib/routes/OAuth.d.ts +13 -3
  15. package/dist/lib/routes/OAuth.js +35 -30
  16. package/dist/lib/routes/Users.d.ts +4 -0
  17. package/dist/lib/routes/Users.js +7 -5
  18. package/dist/lib/routes/Webhooks.js +11 -11
  19. package/dist/lib/structures/ApplicationCommand.d.ts +5 -3
  20. package/dist/lib/structures/ApplicationCommand.js +6 -2
  21. package/dist/lib/structures/GroupChannel.js +2 -2
  22. package/dist/lib/structures/Guild.d.ts +31 -0
  23. package/dist/lib/structures/Guild.js +82 -5
  24. package/dist/lib/structures/Interaction.js +2 -2
  25. package/dist/lib/structures/Member.d.ts +1 -2
  26. package/dist/lib/structures/Message.d.ts +4 -3
  27. package/dist/lib/structures/Message.js +3 -3
  28. package/dist/lib/structures/OAuthGuild.d.ts +4 -0
  29. package/dist/lib/structures/OAuthGuild.js +7 -1
  30. package/dist/lib/structures/ThreadChannel.js +2 -1
  31. package/dist/lib/structures/Webhook.js +2 -2
  32. package/dist/lib/types/application-commands.d.ts +49 -12
  33. package/dist/lib/types/auto-moderation.d.ts +8 -8
  34. package/dist/lib/types/channels.d.ts +20 -1
  35. package/dist/lib/types/client.d.ts +5 -0
  36. package/dist/lib/types/events.d.ts +10 -4
  37. package/dist/lib/types/gateway.d.ts +0 -1
  38. package/dist/lib/types/guilds.d.ts +15 -1
  39. package/dist/lib/types/interactions.d.ts +2 -1
  40. package/dist/lib/types/json.d.ts +6 -5
  41. package/dist/lib/types/oauth.d.ts +11 -0
  42. package/dist/lib/util/InteractionOptionsWrapper.d.ts +1 -1
  43. package/dist/lib/util/TypedCollection.d.ts +1 -1
  44. package/dist/lib/util/TypedEmitter.d.ts +0 -1
  45. package/dist/lib/util/TypedEmitter.js +5 -1
  46. package/dist/lib/util/UncaughtError.d.ts +6 -0
  47. package/dist/lib/util/UncaughtError.js +12 -0
  48. package/dist/lib/util/Util.d.ts +3 -1
  49. package/dist/lib/util/Util.js +110 -108
  50. package/dist/package.json +9 -9
  51. package/esm.mjs +2 -0
  52. package/package.json +9 -9
@@ -33,7 +33,7 @@ class Webhook extends Base_1.default {
33
33
  user;
34
34
  constructor(data, client) {
35
35
  super(data.id, client);
36
- this.application = data.application_id === null ? null : (client.application.id === data.application_id ? client.application : undefined);
36
+ this.application = client["_application"] && data.application_id === null ? null : (client.application.id === data.application_id ? client.application : undefined);
37
37
  this.applicationID = data.application_id;
38
38
  this.avatar = data.avatar ?? null;
39
39
  this.channelID = data.channel_id;
@@ -199,4 +199,4 @@ class Webhook extends Base_1.default {
199
199
  }
200
200
  }
201
201
  exports.default = Webhook;
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViaG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL1dlYmhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0JBQXNCO0FBQ3RCLDBEQUEwQjtBQU8xQiw0Q0FBd0M7QUFDeEMsK0RBQXlDO0FBYXpDLDRCQUE0QjtBQUM1QixNQUFxQixPQUFRLFNBQVEsY0FBSTtJQUM3QixjQUFjLENBQThCO0lBQzVDLFlBQVksQ0FBZ0I7SUFDcEMsb0RBQW9EO0lBQ3BELFdBQVcsQ0FBNEI7SUFDdkMsOERBQThEO0lBQzlELGFBQWEsQ0FBZ0I7SUFDN0IseUNBQXlDO0lBQ3pDLE1BQU0sQ0FBZ0I7SUFDdEIsZ0VBQWdFO0lBQ2hFLFNBQVMsQ0FBZ0I7SUFDekIsNkRBQTZEO0lBQzdELE9BQU8sQ0FBZ0I7SUFDdkIsNENBQTRDO0lBQzVDLElBQUksQ0FBZ0I7SUFDcEIsbUVBQW1FO0lBQ25FLGFBQWEsQ0FBbUM7SUFDaEQsaUVBQWlFO0lBQ2pFLFdBQVcsQ0FBMEM7SUFDckQsMEZBQTBGO0lBQzFGLEtBQUssQ0FBVTtJQUNmLHNIQUFzSDtJQUN0SCxJQUFJLENBQWU7SUFDbkIsMENBQTBDO0lBQzFDLElBQUksQ0FBYztJQUNsQixZQUFZLElBQWdCLEVBQUUsTUFBYztRQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUksSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ3pD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
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViaG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL1dlYmhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0JBQXNCO0FBQ3RCLDBEQUEwQjtBQU8xQiw0Q0FBd0M7QUFDeEMsK0RBQXlDO0FBYXpDLDRCQUE0QjtBQUM1QixNQUFxQixPQUFRLFNBQVEsY0FBSTtJQUM3QixjQUFjLENBQThCO0lBQzVDLFlBQVksQ0FBZ0I7SUFDcEMsb0RBQW9EO0lBQ3BELFdBQVcsQ0FBNEI7SUFDdkMsOERBQThEO0lBQzlELGFBQWEsQ0FBZ0I7SUFDN0IseUNBQXlDO0lBQ3pDLE1BQU0sQ0FBZ0I7SUFDdEIsZ0VBQWdFO0lBQ2hFLFNBQVMsQ0FBZ0I7SUFDekIsNkRBQTZEO0lBQzdELE9BQU8sQ0FBZ0I7SUFDdkIsNENBQTRDO0lBQzVDLElBQUksQ0FBZ0I7SUFDcEIsbUVBQW1FO0lBQ25FLGFBQWEsQ0FBbUM7SUFDaEQsaUVBQWlFO0lBQ2pFLFdBQVcsQ0FBMEM7SUFDckQsMEZBQTBGO0lBQzFGLEtBQUssQ0FBVTtJQUNmLHNIQUFzSDtJQUN0SCxJQUFJLENBQWU7SUFDbkIsMENBQTBDO0lBQzFDLElBQUksQ0FBYztJQUNsQixZQUFZLElBQWdCLEVBQUUsTUFBYztRQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BLLElBQUksQ0FBQyxhQUFhLEdBQUcs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
@@ -8,14 +8,15 @@ export interface RawApplicationCommand {
8
8
  application_id: string;
9
9
  default_member_permissions: string | null;
10
10
  description: string;
11
- description_localizations?: Record<string, string> | null;
11
+ description_localizations?: LocaleMap | null;
12
12
  description_localized?: string;
13
13
  dm_permission?: boolean;
14
14
  guild_id?: string;
15
15
  id: string;
16
16
  name: string;
17
- name_localizations?: Record<string, string> | null;
17
+ name_localizations?: LocaleMap | null;
18
18
  name_localized?: string;
19
+ nsfw?: boolean;
19
20
  options?: Array<RawApplicationCommandOption>;
20
21
  type: ApplicationCommandTypes;
21
22
  version: string;
@@ -26,14 +27,14 @@ export interface RawApplicationCommandOption {
26
27
  channel_types?: Array<GuildChannelTypes>;
27
28
  choices?: Array<RawApplicationCommandOptionChoice>;
28
29
  description: string;
29
- description_localizations?: Record<string, string> | null;
30
+ description_localizations?: LocaleMap | null;
30
31
  description_localized?: string;
31
32
  max_length?: number;
32
33
  max_value?: number;
33
34
  min_length?: number;
34
35
  min_value?: number;
35
36
  name: string;
36
- name_localizations?: Record<string, string> | null;
37
+ name_localizations?: LocaleMap | null;
37
38
  name_localized?: string;
38
39
  options?: Array<RawApplicationCommandOption>;
39
40
  required?: boolean;
@@ -45,13 +46,13 @@ export interface CombinedApplicationCommandOption {
45
46
  channelTypes?: Array<GuildChannelTypes>;
46
47
  choices?: Array<ApplicationCommandOptionsChoices>;
47
48
  description: string;
48
- descriptionLocalizations?: Record<string, string> | null;
49
+ descriptionLocalizations?: LocaleMap | null;
49
50
  maxLength?: number;
50
51
  maxValue?: number;
51
52
  minLength?: number;
52
53
  minValue?: number;
53
54
  name: string;
54
- nameLocalizations?: Record<string, string> | null;
55
+ nameLocalizations?: LocaleMap | null;
55
56
  options?: Array<CombinedApplicationCommandOption>;
56
57
  required?: boolean;
57
58
  type: ApplicationCommandOptionTypes;
@@ -59,7 +60,7 @@ export interface CombinedApplicationCommandOption {
59
60
 
60
61
  export interface RawApplicationCommandOptionChoice {
61
62
  name: string;
62
- name_localizations?: Record<string, string> | null;
63
+ name_localizations?: LocaleMap | null;
63
64
  value: string;
64
65
  }
65
66
 
@@ -80,11 +81,11 @@ export type ApplicationCommandOptionConversion<T extends EditApplicationCommandO
80
81
 
81
82
  export interface ApplicationCommandOptionBase<T extends ApplicationCommandOptionTypes = ApplicationCommandOptionTypes> {
82
83
  description: string;
83
- descriptionLocalizations?: Record<string, string>;
84
+ descriptionLocalizations?: LocaleMap;
84
85
  /** The description of this application command in the requested locale. This cannot be sent. */
85
86
  descriptionLocalized?: string;
86
87
  name: string;
87
- nameLocalizations?: Record<string, string>;
88
+ nameLocalizations?: LocaleMap;
88
89
  /** The description of this application command in the requested locale. This cannot be sent. */
89
90
  nameLocalized?: string;
90
91
  required?: T extends ApplicationCommandOptionTypes.SUB_COMMAND | ApplicationCommandOptionTypes.SUB_COMMAND_GROUP ? never : boolean;
@@ -100,7 +101,7 @@ interface ApplicationCommandOptionsChoices<T extends ApplicationCommandOptionsTy
100
101
 
101
102
  interface ApplicationCommandOptionsChoice<T extends ApplicationCommandOptionsTypesWithChoices = ApplicationCommandOptionsTypesWithChoices> {
102
103
  name: string;
103
- nameLocalizations?: Record<string, string>;
104
+ nameLocalizations?: LocaleMap;
104
105
  value:
105
106
  T extends ApplicationCommandOptionTypes.STRING ? string :
106
107
  T extends ApplicationCommandOptionTypes.INTEGER | ApplicationCommandOptionTypes.NUMBER ? number :
@@ -154,7 +155,9 @@ export interface CreateApplicationCommandOptionsBase<T extends ApplicationComman
154
155
  /** The name of the command. */
155
156
  name: string;
156
157
  /** A dictionary of [locales](https://discord.com/developers/docs/reference#locales) to localized names. */
157
- nameLocalizations?: Record<string, string> | null;
158
+ nameLocalizations?: LocaleMap | null;
159
+ /** Whether the command is age restricted. */
160
+ nsfw?: boolean;
158
161
  /** The type of the command. */
159
162
  type: T;
160
163
  }
@@ -165,7 +168,7 @@ export interface CreateChatInputApplicationCommandOptions extends CreateApplicat
165
168
  /** The description of the command. */
166
169
  description: string;
167
170
  /** A dictionary of [locales](https://discord.com/developers/docs/reference#locales) to localized descriptions. */
168
- descriptionLocalizations?: Record<string, string> | null;
171
+ descriptionLocalizations?: LocaleMap | null;
169
172
  /** See [Discord's docs](https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-structure) for more information. Convert `snake_case` keys to `camelCase`. */
170
173
  options?: Array<ApplicationCommandOptions>;
171
174
  }
@@ -232,3 +235,37 @@ export interface GetApplicationCommandOptions {
232
235
  /** If localizations should be included. */
233
236
  withLocalizations?: boolean;
234
237
  }
238
+
239
+ export type Locale =
240
+ "bg" |
241
+ "cs" |
242
+ "da" |
243
+ "de" |
244
+ "el" |
245
+ "en-GB" |
246
+ "en-US" |
247
+ "es-ES" |
248
+ "fi" |
249
+ "fr" |
250
+ "hi" |
251
+ "hr" |
252
+ "hu" |
253
+ "id" |
254
+ "it" |
255
+ "ja" |
256
+ "ko" |
257
+ "lt" |
258
+ "nl" |
259
+ "no" |
260
+ "pl" |
261
+ "pt-BR" |
262
+ "ro" |
263
+ "ru" |
264
+ "sv-SE" |
265
+ "th" |
266
+ "tr" |
267
+ "uk" |
268
+ "vi" |
269
+ "zh-CN" |
270
+ "zh-TW";
271
+ export type LocaleMap = Partial<Record<Locale, string>>;
@@ -16,15 +16,15 @@ export interface RawAutoModerationRule {
16
16
  }
17
17
 
18
18
  export interface RawTriggerMetadata {
19
- /** KEYWORD_PRESET */
19
+ /** `KEYWORD`, `KEYWORD_PRESET` */
20
20
  allow_list?: Array<string>;
21
- /** KEYWORD */
21
+ /** `KEYWORD` */
22
22
  keyword_filter?: Array<string>;
23
- /** MENTION_SPAM */
23
+ /** `MENTION_SPAM` */
24
24
  mention_total_limit?: number;
25
- /** KEYWORD_PRESET */
25
+ /** `KEYWORD_PRESET` */
26
26
  presets?: Array<AutoModerationKeywordPresetTypes>;
27
- /** KEYWORD */
27
+ /** `KEYWORD` */
28
28
  regex_patterns?: Array<string>;
29
29
  }
30
30
 
@@ -34,14 +34,14 @@ export interface RawAutoModerationAction {
34
34
  }
35
35
 
36
36
  export interface RawActionMetadata {
37
- /** SEND_ALERT_MESSAGE */
37
+ /** `SEND_ALERT_MESSAGE` */
38
38
  channel_id: string;
39
- /** TIMEOUT */
39
+ /** `TIMEOUT` */
40
40
  duration_seconds: number;
41
41
  }
42
42
 
43
43
  export interface TriggerMetadata {
44
- /** The keywords to allow. Valid for `KEYWORD_PRESET`. */
44
+ /** The keywords to allow. Valid for `KEYWORD` & `KEYWORD_PRESET`. */
45
45
  allowList?: Array<string>;
46
46
  /** The keywords to filter. Valid for `KEYWORD`. */
47
47
  keywordFilter?: Array<string>;
@@ -425,7 +425,26 @@ export type RawMessageComponent = RawButtonComponent | RawSelectMenuComponent;
425
425
  export type RawModalComponent = RawTextInput;
426
426
  export type RawButtonComponent = RawTextButton | URLButton;
427
427
  export type RawSelectMenuComponent = RawStringSelectMenu | RawUserSelectMenu | RawRoleSelectMenu | RawMentionableSelectMenu | RawChannelSelectMenu;
428
-
428
+ export type ToComponentFromRaw<T extends RawComponent> =
429
+ T extends RawTextButton ? TextButton :
430
+ T extends URLButton ? URLButton :
431
+ T extends RawStringSelectMenu ? StringSelectMenu :
432
+ T extends RawUserSelectMenu ? UserSelectMenu :
433
+ T extends RawRoleSelectMenu ? RoleSelectMenu :
434
+ T extends RawMentionableSelectMenu ? MentionableSelectMenu :
435
+ T extends RawChannelSelectMenu ? ChannelSelectMenu :
436
+ T extends RawTextInput ? TextInput :
437
+ never;
438
+ export type ToRawFromComponent<T extends Component> =
439
+ T extends TextButton ? RawTextButton :
440
+ T extends URLButton ? URLButton :
441
+ T extends StringSelectMenu ? RawStringSelectMenu :
442
+ T extends UserSelectMenu ? RawUserSelectMenu :
443
+ T extends RoleSelectMenu ? RawRoleSelectMenu :
444
+ T extends MentionableSelectMenu ? RawMentionableSelectMenu :
445
+ T extends ChannelSelectMenu ? RawChannelSelectMenu :
446
+ T extends TextInput ? RawTextInput :
447
+ never;
429
448
  export interface RawActionRowBase<T extends RawComponent> {
430
449
  components: Array<T>;
431
450
  type: ComponentTypes.ACTION_ROW;
@@ -24,6 +24,11 @@ export interface ClientOptions {
24
24
  * @defaultValue 4096
25
25
  */
26
26
  defaultImageSize?: number;
27
+ /**
28
+ * When member limits are set on guilds, the limit is automatically raised if needed when requesting members from the gateway. This can be buggy and may not function correctly.
29
+ * @defaultValue false
30
+ */
31
+ disableMemberLimitScaling?: boolean;
27
32
  /** The gateway options. */
28
33
  gateway?: GatewayOptions;
29
34
  /** The options for the request handler. */
@@ -12,7 +12,7 @@ import type {
12
12
  UncachedThreadMember
13
13
  } from "./channels";
14
14
  import type { RawRequest } from "./request-handler";
15
- import type { AutoModerationActionExecution, DeletedPrivateChannel, Presence } from "./gateway";
15
+ import type { AutoModerationActionExecution, DeletedPrivateChannel } from "./gateway";
16
16
  import type { AnyDispatchPacket } from "./gateway-raw";
17
17
  import type { Uncached } from "./shared";
18
18
  import type {
@@ -37,7 +37,13 @@ import type {
37
37
  JSONVoiceState
38
38
  } from "./json";
39
39
  import type { GuildApplicationCommandPermissions } from "./application-commands";
40
- import type { GuildEmoji, PartialEmoji, PossiblyUncachedIntegration, Sticker } from "./guilds";
40
+ import type {
41
+ GuildEmoji,
42
+ PartialEmoji,
43
+ PossiblyUncachedIntegration,
44
+ Sticker,
45
+ Presence
46
+ } from "./guilds";
41
47
  import type { AnyInteractionGateway } from "./interactions";
42
48
  import type Guild from "../structures/Guild";
43
49
  import type UnavailableGuild from "../structures/UnavailableGuild";
@@ -87,7 +93,7 @@ export interface ClientEvents {
87
93
  debug: [info: string, shard?: number];
88
94
  /** @event Emitted when all shards disconnect. */
89
95
  disconnect: [];
90
- /** @event Emitted when an error happens. */
96
+ /** @event Emitted when an error happens. If an error is emitted and no handlers are present, the error will be thrown. */
91
97
  error: [info: Error | string, shard?: number];
92
98
  /** @event Emitted when a guild becomes available. Requires the `GUILDS` intent. */
93
99
  guildAvailable: [guild: Guild];
@@ -222,7 +228,7 @@ export interface ShardEvents {
222
228
  debug: [info: string];
223
229
  /** @event Emitted when this shard disconnects.*/
224
230
  disconnect: [err?: Error];
225
- /** @event Emitted when an error happens. */
231
+ /** @event Emitted when an error happens. If an error is emitted and no handlers are present, the error will be thrown. */
226
232
  error: [info: Error | string];
227
233
  /** @event Emitted when this shard has processed the READY packet from Discord. */
228
234
  preReady: [];
@@ -226,7 +226,6 @@ export interface PresenceUpdate {
226
226
  status: ReceiveStatuses;
227
227
  user: { id: string; } & Partial<Omit<RawUser, "id">>;
228
228
  }
229
- export type Presence = Omit<PresenceUpdate, "user">;
230
229
 
231
230
  export interface ClientStatus {
232
231
  desktop?: string;
@@ -11,7 +11,7 @@ import type {
11
11
  ForumTag
12
12
  } from "./channels";
13
13
  import type { RawScheduledEvent } from "./scheduled-events";
14
- import type { PresenceUpdate } from "./gateway";
14
+ import type { ClientStatus, PresenceUpdate, Activity as GatewayActivity } from "./gateway";
15
15
  import type { RawVoiceState } from "./voice";
16
16
  import { File } from "./request-handler";
17
17
  import type {
@@ -695,6 +695,8 @@ export interface StickerPack {
695
695
  }
696
696
 
697
697
  export interface RawOAuthGuild {
698
+ approximate_member_count?: number;
699
+ approximate_presence_count?: number;
698
700
  features: Array<GuildFeature>;
699
701
  icon: string | null;
700
702
  id: string;
@@ -702,3 +704,15 @@ export interface RawOAuthGuild {
702
704
  owner: boolean;
703
705
  permissions: string;
704
706
  }
707
+
708
+ export type Activity = Omit<GatewayActivity, "application_id" | "assets" | "created_at"> & {
709
+ applicationID?: string;
710
+ assets?: Partial<Record<"largeImage" | "largeText" | "smallImage" | "smallText", string>>;
711
+ createdAt: number;
712
+ };
713
+
714
+ export type Presence = Omit<PresenceUpdate, "user" | "guild_id" | "client_status" | "activities"> & {
715
+ activities?: Array<Activity>;
716
+ clientStatus: ClientStatus;
717
+ guildID: string;
718
+ };
@@ -11,6 +11,7 @@ import type {
11
11
  import type { InteractionMember, RawMember, RawRole } from "./guilds";
12
12
  import type { RawUser } from "./users";
13
13
  import type { Uncached } from "./shared";
14
+ import type { LocaleMap } from "./application-commands";
14
15
  import type {
15
16
  ApplicationCommandOptionTypes,
16
17
  ApplicationCommandTypes,
@@ -243,7 +244,7 @@ export interface AutocompleteChoice {
243
244
  /** The name of the choice. */
244
245
  name: string;
245
246
  /** A dictionary of [locales](https://discord.com/developers/docs/reference#locales) to localized names. */
246
- nameLocalizations?: Record<string, string>;
247
+ nameLocalizations?: LocaleMap;
247
248
  /** The value of the choice. */
248
249
  value: string;
249
250
  }
@@ -1,7 +1,7 @@
1
1
  /** @module Types/JSON */
2
2
  /* eslint-disable @typescript-eslint/no-empty-interface */
3
3
  import type { InstallParams, TeamMember } from "./oauth";
4
- import type { ApplicationCommandOptions } from "./application-commands";
4
+ import type { ApplicationCommandOptions, LocaleMap } from "./application-commands";
5
5
  import type {
6
6
  ApplicationCommandInteractionData,
7
7
  AutocompleteInteractionData,
@@ -17,7 +17,8 @@ import type {
17
17
  RoleTags,
18
18
  RawSticker,
19
19
  WelcomeScreen,
20
- Sticker
20
+ Sticker,
21
+ Presence
21
22
  } from "./guilds";
22
23
  import type {
23
24
  ChannelMention,
@@ -34,7 +35,6 @@ import type {
34
35
  Embed
35
36
  } from "./channels";
36
37
  import type { ScheduledEventEntityMetadata } from "./scheduled-events";
37
- import type { Presence } from "./gateway";
38
38
  import type {
39
39
  ApplicationCommandTypes,
40
40
  AutoModerationEventTypes,
@@ -101,11 +101,12 @@ export interface JSONApplicationCommand extends JSONBase {
101
101
  applicationID: string;
102
102
  defaultMemberPermissions?: JSONPermission;
103
103
  description: string;
104
- descriptionLocalizations?: Record<string, string> | null;
104
+ descriptionLocalizations?: LocaleMap | null;
105
105
  dmPermission?: boolean;
106
106
  guildID?: string;
107
107
  name: string;
108
- nameLocalizations?: Record<string, string> | null;
108
+ nameLocalizations?: LocaleMap | null;
109
+ nsfw?: boolean;
109
110
  options?: Array<ApplicationCommandOptions>;
110
111
  type: ApplicationCommandTypes;
111
112
  version: string;
@@ -188,3 +188,14 @@ export interface TeamMember {
188
188
  /** The user associated with this team member. */
189
189
  user: User;
190
190
  }
191
+
192
+ export interface GetCurrentGuildsOptions {
193
+ /** Get guilds after this id. */
194
+ after?: string;
195
+ /** Get guilds before this id. */
196
+ before?: string;
197
+ /** Max number of guilds to return (1-200). */
198
+ limit?: number;
199
+ /** Whether to include approximate member and presence counts. */
200
+ withCounts?: boolean;
201
+ }
@@ -148,7 +148,7 @@ export default class InteractionOptionsWrapper {
148
148
  getStringOption(name: string, required?: false): InteractionOptionsString | undefined;
149
149
  getStringOption(name: string, required: true): InteractionOptionsString;
150
150
  /**
151
- * If present, returns the top level subcommand. This only goes one level deep, to get the subcommand of a subcommandgroup, you must call this twice in a ro.
151
+ * If present, returns the top level subcommand. This will return an array of the subcommand name, and subcommand group name, if applicable.
152
152
  * @param required If true, an error will be thrown if the option is not present.
153
153
  */
154
154
  getSubCommand<T extends SubCommandArray = SubCommandArray>(required?: false): T | undefined;
@@ -2,7 +2,7 @@
2
2
  import Collection from "./Collection";
3
3
  import type Client from "../Client";
4
4
  import Base from "../structures/Base";
5
- export declare type AnyClass<T, I, E extends Array<unknown>> = new (data: T, client: Client, ...extra: E) => I;
5
+ export type AnyClass<T, I, E extends Array<unknown>> = new (data: T, client: Client, ...extra: E) => I;
6
6
  /** This is an internal class, you should not use it in your projects. */
7
7
  export default class TypedCollection<K extends string | number, M extends Record<string, any>, C extends Base, E extends Array<unknown> = []> extends Collection<K, C> {
8
8
  #private;
@@ -1,5 +1,4 @@
1
1
  /// <reference types="node" />
2
- /** @module TypedEmitter */
3
2
  import EventEmitter from "node:events";
4
3
  declare interface TypedEmitter<Events extends Record<string | symbol, any>> extends EventEmitter {
5
4
  addListener<K extends keyof Events>(event: K, listener: (...args: Events[K]) => void): this;
@@ -3,14 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  /** @module TypedEmitter */
5
5
  /* eslint-disable @typescript-eslint/ban-types, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument */
6
+ const UncaughtError_1 = tslib_1.__importDefault(require("./UncaughtError"));
6
7
  const node_events_1 = tslib_1.__importDefault(require("node:events"));
7
8
  class TypedEmitter extends node_events_1.default {
8
9
  emit(eventName, ...args) {
9
10
  if (this.listenerCount(eventName) === 0) {
11
+ if (eventName === "error") {
12
+ throw new UncaughtError_1.default(args[0]);
13
+ }
10
14
  return false;
11
15
  }
12
16
  return super.emit(eventName, ...args);
13
17
  }
14
18
  }
15
19
  exports.default = TypedEmitter;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZWRFbWl0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWwvVHlwZWRFbWl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUEyQjtBQUMzQiw0SEFBNEg7QUFDNUgsc0VBQXVDO0FBa0J2QyxNQUFNLFlBQTBELFNBQVEscUJBQVk7SUFDdkUsSUFBSSxDQUF5QixTQUFZLEVBQUUsR0FBRyxJQUFlO1FBQ2xFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckMsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBbUIsRUFBRSxHQUFHLElBQWtCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0o7QUFFRCxrQkFBZSxZQUFZLENBQUMifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZWRFbWl0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWwvVHlwZWRFbWl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUEyQjtBQUMzQiw0SEFBNEg7QUFDNUgsNEVBQTRDO0FBQzVDLHNFQUF1QztBQWtCdkMsTUFBTSxZQUEwRCxTQUFRLHFCQUFZO0lBQ3ZFLElBQUksQ0FBeUIsU0FBWSxFQUFFLEdBQUcsSUFBZTtRQUNsRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRTtnQkFDdkIsTUFBTSxJQUFJLHVCQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDcEM7WUFDRCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFtQixFQUFFLEdBQUcsSUFBa0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDSjtBQUVELGtCQUFlLFlBQVksQ0FBQyJ9
@@ -0,0 +1,6 @@
1
+ /** @module UncaughtError */
2
+ /** An error that is thrown when we encounter an error, and no `error` listeners are present. */
3
+ export default class UncaughtError extends Error {
4
+ name: string;
5
+ constructor(error: Error | string);
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /** @module UncaughtError */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ /** An error that is thrown when we encounter an error, and no `error` listeners are present. */
5
+ class UncaughtError extends Error {
6
+ name = "UncaughtError";
7
+ constructor(error) {
8
+ super("Uncaught 'error' event", { cause: error });
9
+ }
10
+ }
11
+ exports.default = UncaughtError;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5jYXVnaHRFcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi91dGlsL1VuY2F1Z2h0RXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDRCQUE0Qjs7QUFFNUIsZ0dBQWdHO0FBQ2hHLE1BQXFCLGFBQWMsU0FBUSxLQUFLO0lBQ25DLElBQUksR0FBRyxlQUFlLENBQUM7SUFDaEMsWUFBWSxLQUFxQjtRQUM3QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0o7QUFMRCxnQ0FLQyJ9
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import type Client from "../Client";
3
3
  import type { ImageFormat } from "../Constants";
4
- import type { AllowedMentions, AnyChannel, AnyThreadChannel, Embed, EmbedOptions, MessageActionRow, ModalActionRow, RawAllowedMentions, RawChannel, RawEmbed, RawEmbedOptions, RawMessageActionRow, RawModalActionRow, RawThreadChannel } from "../types/channels";
4
+ import type { AllowedMentions, AnyChannel, AnyThreadChannel, Component, Embed, EmbedOptions, MessageActionRow, ModalActionRow, RawAllowedMentions, RawChannel, RawComponent, RawEmbed, RawEmbedOptions, RawMessageActionRow, RawModalActionRow, RawThreadChannel, ToComponentFromRaw, ToRawFromComponent } from "../types/channels";
5
5
  import type { RawMember, RawSticker, RESTMember, Sticker } from "../types/guilds";
6
6
  import type { ApplicationCommandOptions, RawApplicationCommandOption } from "../types/application-commands";
7
7
  import Member from "../structures/Member";
@@ -12,6 +12,8 @@ export default class Util {
12
12
  constructor(client: Client);
13
13
  /** @hidden intentionally not documented - this is an internal function */
14
14
  _convertImage(image: Buffer | string, name: string): string;
15
+ componentToParsed<T extends RawComponent>(component: T): ToComponentFromRaw<T>;
16
+ componentToRaw<T extends Component>(component: T): ToRawFromComponent<T>;
15
17
  componentsToParsed<T extends RawModalActionRow | RawMessageActionRow>(components: Array<T>): T extends RawModalActionRow ? Array<ModalActionRow> : T extends RawMessageActionRow ? Array<MessageActionRow> : never;
16
18
  componentsToRaw<T extends ModalActionRow | MessageActionRow>(components: Array<T>): T extends ModalActionRow ? Array<RawModalActionRow> : T extends MessageActionRow ? Array<RawMessageActionRow> : never;
17
19
  convertImage(img: Buffer | string): string;