oceanic.js 1.0.0-dev.a82e67e → 1.0.0-dev.aecf856

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +5 -5
  2. package/dist/lib/Client.js +10 -10
  3. package/dist/lib/Constants.d.ts +2 -2
  4. package/dist/lib/Constants.js +4 -4
  5. package/dist/lib/gateway/Shard.js +251 -410
  6. package/dist/lib/gateway/ShardManager.js +3 -3
  7. package/dist/lib/rest/Bucket.js +2 -2
  8. package/dist/lib/rest/DiscordHTTPError.js +1 -1
  9. package/dist/lib/rest/DiscordRESTError.js +1 -1
  10. package/dist/lib/rest/RequestHandler.js +8 -8
  11. package/dist/lib/rest/SequentialBucket.js +1 -1
  12. package/dist/lib/routes/Channels.d.ts +2 -2
  13. package/dist/lib/routes/Channels.js +1 -1
  14. package/dist/lib/routes/Guilds.d.ts +2 -2
  15. package/dist/lib/routes/Guilds.js +5 -4
  16. package/dist/lib/routes/Interactions.d.ts +7 -6
  17. package/dist/lib/routes/Interactions.js +1 -1
  18. package/dist/lib/routes/OAuth.js +3 -3
  19. package/dist/lib/routes/Webhooks.d.ts +7 -6
  20. package/dist/lib/routes/Webhooks.js +1 -1
  21. package/dist/lib/structures/AnnouncementChannel.d.ts +1 -1
  22. package/dist/lib/structures/Application.d.ts +5 -3
  23. package/dist/lib/structures/Application.js +14 -6
  24. package/dist/lib/structures/ApplicationCommand.d.ts +5 -4
  25. package/dist/lib/structures/ApplicationCommand.js +15 -12
  26. package/dist/lib/structures/AuditLogEntry.d.ts +1 -1
  27. package/dist/lib/structures/AuditLogEntry.js +2 -2
  28. package/dist/lib/structures/AutoModerationRule.d.ts +5 -4
  29. package/dist/lib/structures/AutoModerationRule.js +15 -7
  30. package/dist/lib/structures/AutocompleteInteraction.d.ts +18 -15
  31. package/dist/lib/structures/AutocompleteInteraction.js +28 -19
  32. package/dist/lib/structures/CategoryChannel.d.ts +1 -1
  33. package/dist/lib/structures/CategoryChannel.js +8 -5
  34. package/dist/lib/structures/CommandInteraction.d.ts +22 -19
  35. package/dist/lib/structures/CommandInteraction.js +39 -29
  36. package/dist/lib/structures/ComponentInteraction.d.ts +23 -20
  37. package/dist/lib/structures/ComponentInteraction.js +35 -26
  38. package/dist/lib/structures/ForumChannel.d.ts +5 -3
  39. package/dist/lib/structures/ForumChannel.js +13 -7
  40. package/dist/lib/structures/GroupChannel.d.ts +9 -6
  41. package/dist/lib/structures/GroupChannel.js +17 -11
  42. package/dist/lib/structures/Guild.d.ts +21 -10
  43. package/dist/lib/structures/Guild.js +62 -37
  44. package/dist/lib/structures/GuildChannel.d.ts +4 -3
  45. package/dist/lib/structures/GuildChannel.js +17 -9
  46. package/dist/lib/structures/GuildPreview.js +2 -2
  47. package/dist/lib/structures/GuildScheduledEvent.d.ts +6 -3
  48. package/dist/lib/structures/GuildScheduledEvent.js +20 -9
  49. package/dist/lib/structures/GuildTemplate.d.ts +3 -2
  50. package/dist/lib/structures/GuildTemplate.js +19 -6
  51. package/dist/lib/structures/Integration.js +2 -3
  52. package/dist/lib/structures/Interaction.d.ts +4 -3
  53. package/dist/lib/structures/Interaction.js +7 -4
  54. package/dist/lib/structures/Invite.d.ts +8 -4
  55. package/dist/lib/structures/Invite.js +18 -7
  56. package/dist/lib/structures/Member.d.ts +3 -2
  57. package/dist/lib/structures/Member.js +18 -18
  58. package/dist/lib/structures/Message.d.ts +21 -12
  59. package/dist/lib/structures/Message.js +64 -47
  60. package/dist/lib/structures/ModalSubmitInteraction.d.ts +22 -19
  61. package/dist/lib/structures/ModalSubmitInteraction.js +34 -25
  62. package/dist/lib/structures/Permission.d.ts +1 -1
  63. package/dist/lib/structures/Permission.js +6 -6
  64. package/dist/lib/structures/PrivateChannel.d.ts +4 -3
  65. package/dist/lib/structures/PrivateChannel.js +8 -5
  66. package/dist/lib/structures/Role.d.ts +3 -2
  67. package/dist/lib/structures/Role.js +16 -8
  68. package/dist/lib/structures/StageChannel.d.ts +2 -2
  69. package/dist/lib/structures/StageChannel.js +8 -5
  70. package/dist/lib/structures/StageInstance.d.ts +8 -5
  71. package/dist/lib/structures/StageInstance.js +23 -9
  72. package/dist/lib/structures/Team.d.ts +1 -1
  73. package/dist/lib/structures/Team.js +3 -4
  74. package/dist/lib/structures/TextableChannel.d.ts +8 -7
  75. package/dist/lib/structures/TextableChannel.js +15 -9
  76. package/dist/lib/structures/ThreadChannel.d.ts +10 -7
  77. package/dist/lib/structures/ThreadChannel.js +23 -12
  78. package/dist/lib/structures/VoiceChannel.d.ts +4 -3
  79. package/dist/lib/structures/VoiceChannel.js +7 -4
  80. package/dist/lib/structures/VoiceState.d.ts +5 -3
  81. package/dist/lib/structures/VoiceState.js +13 -13
  82. package/dist/lib/structures/Webhook.d.ts +5 -4
  83. package/dist/lib/structures/Webhook.js +18 -15
  84. package/dist/lib/types/application-commands.d.ts +3 -2
  85. package/dist/lib/types/channels.d.ts +1 -1
  86. package/dist/lib/types/client.d.ts +1 -1
  87. package/dist/lib/types/events.d.ts +24 -24
  88. package/dist/lib/types/gateway.d.ts +2 -2
  89. package/dist/lib/types/guilds.d.ts +3 -0
  90. package/dist/lib/types/json.d.ts +46 -46
  91. package/dist/lib/types/scheduled-events.d.ts +2 -2
  92. package/dist/lib/util/InteractionOptionsWrapper.js +1 -1
  93. package/dist/lib/util/Routes.js +1 -1
  94. package/dist/lib/util/TypedCollection.js +4 -4
  95. package/dist/lib/util/Util.d.ts +1 -1
  96. package/dist/lib/util/Util.js +12 -2
  97. package/dist/package.json +1 -1
  98. package/package.json +1 -1
@@ -13,24 +13,33 @@ import type Client from "../Client";
13
13
  import TypedCollection from "../util/TypedCollection";
14
14
  import { MessageTypes } from "../Constants";
15
15
  import type { Uncached } from "../types/shared";
16
- import type { AnyTextChannel, ChannelMention, EditMessageOptions, Embed, GetReactionsOptions, MessageActivity, MessageInteraction, MessageReference, RawAttachment, RawMessage, StartThreadFromMessageOptions, StickerItem, MessageReaction, MessageActionRow, AnyThreadChannel } from "../types/channels";
16
+ import type { AnyGuildTextChannel, AnyTextChannel, ChannelMention, EditMessageOptions, Embed, GetReactionsOptions, MessageActivity, MessageInteraction, MessageReference, RawAttachment, RawMessage, StartThreadFromMessageOptions, StickerItem, MessageReaction, MessageActionRow, AnyThreadChannel } from "../types/channels";
17
17
  import type { DeleteWebhookMessageOptions, EditWebhookMessageOptions } from "../types/webhooks";
18
18
  import type { JSONMessage } from "../types/json";
19
19
  export default class Message<T extends AnyTextChannel | Uncached = AnyTextChannel | Uncached> extends Base {
20
+ private _guild?;
20
21
  /** The [activity](https://discord.com/developers/docs/resources/channel#message-object-message-activity-structure) associated with this message. */
21
22
  activity?: MessageActivity;
22
23
  /**
23
- * This can be present in two scenarios:
24
- * * If the message was from an interaction or application owned webhook (`ClientApplication` if client, only `id` otherwise).
24
+ * The application associated with this message. This can be present in two scenarios:
25
+ * * If the message was from an interaction or application owned webhook (`ClientApplication`).
25
26
  * * If the message has a rich presence embed (`PartialApplication`)
26
27
  */
27
- application?: PartialApplication | ClientApplication | Uncached;
28
+ application?: PartialApplication | ClientApplication | null;
29
+ /**
30
+ * The ID of the application associated with this message. This can be present in two scenarios:
31
+ * * If the message was from an interaction or application owned webhook (`ClientApplication`).
32
+ * * If the message has a rich presence embed (`PartialApplication`)
33
+ */
34
+ applicationID: string | null;
28
35
  /** The attachments on this message. */
29
36
  attachments: TypedCollection<string, RawAttachment, Attachment>;
30
37
  /** The author of this message. */
31
38
  author: User;
32
- /** The channel this message was created in. This can be a partial object with only an `id` property. */
33
- channel: T;
39
+ /** The channel this message was created in.*/
40
+ channel: T extends AnyTextChannel ? T : undefined;
41
+ /** The ID of the channel this message was created in.*/
42
+ channelID: string;
34
43
  /** The components on this message. */
35
44
  components: Array<MessageActionRow>;
36
45
  /** The content of this message. */
@@ -41,14 +50,12 @@ export default class Message<T extends AnyTextChannel | Uncached = AnyTextChanne
41
50
  embeds: Array<Embed>;
42
51
  /** The [flags](https://discord.com/developers/docs/resources/channel#message-object-message-flags) on this message. */
43
52
  flags: number;
44
- /** The guild this message is in. */
45
- guild?: Guild;
46
53
  /** The ID of the guild this message is in. */
47
- guildID?: string;
54
+ guildID: T extends AnyGuildTextChannel ? string : string | null;
48
55
  /** The interaction info, if this message was the result of an interaction. */
49
56
  interaction?: MessageInteraction;
50
- /** The member that created this message, if in a */
51
- member?: Member;
57
+ /** The member that created this message, if this message is in a guild. */
58
+ member: T extends AnyGuildTextChannel ? Member : Member | undefined;
52
59
  /** Channels mentioned in a `CROSSPOSTED` channel follower message. See [Discord's docs](https://discord.com/developers/docs/resources/channel#channel-mention-object) for more information. */
53
60
  mentionChannels?: Array<ChannelMention>;
54
61
  /** The mentions in this message. */
@@ -87,9 +94,11 @@ export default class Message<T extends AnyTextChannel | Uncached = AnyTextChanne
87
94
  /** The [type](https://discord.com/developers/docs/resources/channel#message-object-message-types) of this message. */
88
95
  type: MessageTypes;
89
96
  /** The webhook associated with this message, if sent via a webhook. This only has an `id` property. */
90
- webhook?: Uncached;
97
+ webhookID?: string;
91
98
  constructor(data: RawMessage, client: Client);
92
99
  protected update(data: Partial<RawMessage>): void;
100
+ /** The guild this message is in. This will throw an error if the guild is not cached. */
101
+ get guild(): T extends AnyGuildTextChannel ? Guild : Guild | null;
93
102
  /** A link to this message. */
94
103
  get jumpLink(): string;
95
104
  /**
@@ -29,28 +29,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const Base_1 = __importDefault(require("./Base"));
30
30
  const Attachment_1 = __importDefault(require("./Attachment"));
31
31
  const User_1 = __importDefault(require("./User"));
32
- const GuildChannel_1 = __importDefault(require("./GuildChannel"));
33
- const Guild_1 = __importDefault(require("./Guild"));
34
32
  const PartialApplication_1 = __importDefault(require("./PartialApplication"));
35
33
  const Channel_1 = __importDefault(require("./Channel"));
36
34
  const TypedCollection_1 = __importDefault(require("../util/TypedCollection"));
37
35
  const Constants_1 = require("../Constants");
38
36
  const Routes = __importStar(require("../util/Routes"));
39
37
  class Message extends Base_1.default {
38
+ _guild;
40
39
  /** The [activity](https://discord.com/developers/docs/resources/channel#message-object-message-activity-structure) associated with this message. */
41
40
  activity;
42
41
  /**
43
- * This can be present in two scenarios:
44
- * * If the message was from an interaction or application owned webhook (`ClientApplication` if client, only `id` otherwise).
42
+ * The application associated with this message. This can be present in two scenarios:
43
+ * * If the message was from an interaction or application owned webhook (`ClientApplication`).
45
44
  * * If the message has a rich presence embed (`PartialApplication`)
46
45
  */
47
46
  application;
47
+ /**
48
+ * The ID of the application associated with this message. This can be present in two scenarios:
49
+ * * If the message was from an interaction or application owned webhook (`ClientApplication`).
50
+ * * If the message has a rich presence embed (`PartialApplication`)
51
+ */
52
+ applicationID;
48
53
  /** The attachments on this message. */
49
54
  attachments;
50
55
  /** The author of this message. */
51
56
  author;
52
- /** The channel this message was created in. This can be a partial object with only an `id` property. */
57
+ /** The channel this message was created in.*/
53
58
  channel;
59
+ /** The ID of the channel this message was created in.*/
60
+ channelID;
54
61
  /** The components on this message. */
55
62
  components;
56
63
  /** The content of this message. */
@@ -61,13 +68,11 @@ class Message extends Base_1.default {
61
68
  embeds;
62
69
  /** The [flags](https://discord.com/developers/docs/resources/channel#message-object-message-flags) on this message. */
63
70
  flags;
64
- /** The guild this message is in. */
65
- guild;
66
71
  /** The ID of the guild this message is in. */
67
72
  guildID;
68
73
  /** The interaction info, if this message was the result of an interaction. */
69
74
  interaction;
70
- /** The member that created this message, if in a */
75
+ /** The member that created this message, if this message is in a guild. */
71
76
  member;
72
77
  /** Channels mentioned in a `CROSSPOSTED` channel follower message. See [Discord's docs](https://discord.com/developers/docs/resources/channel#channel-mention-object) for more information. */
73
78
  mentionChannels;
@@ -97,18 +102,20 @@ class Message extends Base_1.default {
97
102
  /** The [type](https://discord.com/developers/docs/resources/channel#message-object-message-types) of this message. */
98
103
  type;
99
104
  /** The webhook associated with this message, if sent via a webhook. This only has an `id` property. */
100
- webhook;
105
+ webhookID;
101
106
  constructor(data, client) {
102
107
  super(data.id, client);
103
108
  this.attachments = new TypedCollection_1.default(Attachment_1.default, client);
104
- this.channel = (client.getChannel(data.channel_id) || { id: data.channel_id });
109
+ this.channel = client.getChannel(data.channel_id);
110
+ this.channelID = data.channel_id;
105
111
  this.components = [];
106
112
  this.content = data.content;
107
113
  this.editedTimestamp = null;
108
114
  this.embeds = [];
109
115
  this.flags = 0;
110
- this.guild = data.guild_id !== undefined ? client.guilds.get(data.guild_id) : undefined;
111
- this.guildID = data.guild_id;
116
+ this._guild = (data.guild_id === undefined ? null : client.guilds.get(data.guild_id));
117
+ this.guildID = (data.guild_id === undefined ? null : data.guild_id);
118
+ this.member = (data.member !== undefined ? this.client.util.updateMember(data.guild_id, data.author.id, { ...data.member, user: data.author }) : undefined);
112
119
  this.mentions = {
113
120
  channels: [],
114
121
  everyone: false,
@@ -121,7 +128,7 @@ class Message extends Base_1.default {
121
128
  this.timestamp = new Date(data.timestamp);
122
129
  this.tts = data.tts;
123
130
  this.type = data.type;
124
- this.webhook = data.webhook_id === undefined ? undefined : { id: data.webhook_id };
131
+ this.webhookID = data.webhook_id;
125
132
  this.update(data);
126
133
  if (data.author.discriminator !== "0000") {
127
134
  this.author = client.users.update(data.author);
@@ -131,18 +138,20 @@ class Message extends Base_1.default {
131
138
  }
132
139
  if (data.application !== undefined) {
133
140
  this.application = new PartialApplication_1.default(data.application, client);
141
+ this.applicationID = data.application.id;
134
142
  }
135
143
  else if (data.application_id !== undefined) {
136
- this.application = { id: data.application_id };
144
+ this.application = client.application.id === data.application_id ? client.application : undefined;
145
+ this.applicationID = data.application_id;
146
+ }
147
+ else {
148
+ this.applicationID = null;
137
149
  }
138
150
  if (data.attachments) {
139
151
  for (const attachment of data.attachments) {
140
152
  this.attachments.update(attachment);
141
153
  }
142
154
  }
143
- if (data.member) {
144
- this.member = "guild" in this.channel && this.channel.guild instanceof Guild_1.default ? this.channel.guild.members.update({ ...data.member, user: data.author, id: data.author.id }, this.channel.guildID) : undefined;
145
- }
146
155
  }
147
156
  update(data) {
148
157
  if (data.mention_everyone !== undefined) {
@@ -154,8 +163,8 @@ class Message extends Base_1.default {
154
163
  if (data.mentions !== undefined) {
155
164
  const members = [];
156
165
  this.mentions.users = data.mentions.map(user => {
157
- if (user.member && "guild" in this.channel && this.channel.guild instanceof Guild_1.default) {
158
- members.push(this.channel.guild.members.update({ ...user.member, user, id: user.id }, this.channel.guildID));
166
+ if (this.channel && "guildID" in this.channel && user.member) {
167
+ members.push(this.client.util.updateMember(this.channel.guildID, user.id, { ...user.member, user }));
159
168
  }
160
169
  return this.client.users.update(user);
161
170
  });
@@ -179,7 +188,7 @@ class Message extends Base_1.default {
179
188
  }
180
189
  if (data.content !== undefined) {
181
190
  this.content = data.content;
182
- this.mentions.channels = (data.content.match(/<#[\d]{17,21}>/g) || []).map(mention => mention.slice(2, -1));
191
+ this.mentions.channels = (data.content.match(/<#[\d]{17,21}>/g) ?? []).map(mention => mention.slice(2, -1));
183
192
  }
184
193
  if (data.edited_timestamp !== undefined) {
185
194
  this.editedTimestamp = data.edited_timestamp ? new Date(data.edited_timestamp) : null;
@@ -195,12 +204,12 @@ class Message extends Base_1.default {
195
204
  if (data.interaction.member) {
196
205
  member = {
197
206
  ...data.interaction.member,
198
- id: data.interaction.user.id
207
+ user: data.interaction.user
199
208
  };
200
209
  }
201
210
  this.interaction = {
202
211
  id: data.interaction.id,
203
- member: this.channel instanceof GuildChannel_1.default && this.channel.guild instanceof Guild_1.default && member ? this.channel.guild.members.update({ ...member, user: data.interaction.user, id: data.interaction.user.id }, this.channel.guildID) : undefined,
212
+ member: member ? this.client.util.updateMember(data.guild_id, member.user.id, member) : undefined,
204
213
  name: data.interaction.name,
205
214
  type: data.interaction.type,
206
215
  user: this.client.users.update(data.interaction.user)
@@ -237,7 +246,7 @@ class Message extends Base_1.default {
237
246
  this.referencedMessage = null;
238
247
  }
239
248
  else {
240
- if ("messages" in this.channel) {
249
+ if (this.channel && "messages" in this.channel) {
241
250
  this.referencedMessage = this.channel.messages.update(data.referenced_message);
242
251
  }
243
252
  else {
@@ -249,9 +258,8 @@ class Message extends Base_1.default {
249
258
  this.stickerItems = data.sticker_items;
250
259
  }
251
260
  if (data.thread !== undefined) {
252
- const guild = this.client.guilds.get(this.guildID);
253
- if (guild) {
254
- this.thread = guild.threads.update(data.thread);
261
+ if (this._guild) {
262
+ this.thread = this._guild.threads.update(data.thread);
255
263
  if (this.channel && "threads" in this.channel && !this.channel.threads.has(this.thread.id)) {
256
264
  this.channel.threads.add(this.thread);
257
265
  }
@@ -266,29 +274,38 @@ class Message extends Base_1.default {
266
274
  }
267
275
  }
268
276
  }
277
+ /** The guild this message is in. This will throw an error if the guild is not cached. */
278
+ get guild() {
279
+ if (this._guild === undefined) {
280
+ throw new Error(`${this.constructor.name}#guild is not present without having the GUILDS intent or fetching the guild.`);
281
+ }
282
+ else {
283
+ return this._guild;
284
+ }
285
+ }
269
286
  /** A link to this message. */
270
287
  get jumpLink() {
271
- return `${Constants_1.BASE_URL}${Routes.MESSAGE_LINK(this.guildID || "@me", this.channel.id, this.id)}`;
288
+ return `${Constants_1.BASE_URL}${Routes.MESSAGE_LINK(this.guildID ?? "@me", this.channelID, this.id)}`;
272
289
  }
273
290
  /**
274
291
  * Add a reaction to this message.
275
292
  * @param emoji The reaction to add to the message. `name:id` for custom emojis, and the unicode codepoint for default emojis.
276
293
  */
277
294
  async createReaction(emoji) {
278
- return this.client.rest.channels.createReaction(this.channel.id, this.id, emoji);
295
+ return this.client.rest.channels.createReaction(this.channelID, this.id, emoji);
279
296
  }
280
297
  /**
281
298
  * Crosspost this message in a announcement channel.
282
299
  */
283
300
  async crosspost() {
284
- return this.client.rest.channels.crosspostMessage(this.channel.id, this.id);
301
+ return this.client.rest.channels.crosspostMessage(this.channelID, this.id);
285
302
  }
286
303
  /**
287
304
  * Delete this message.
288
305
  * @param reason The reason for deleting the message.
289
306
  */
290
307
  async delete(reason) {
291
- return this.client.rest.channels.deleteMessage(this.channel.id, this.id, reason);
308
+ return this.client.rest.channels.deleteMessage(this.channelID, this.id, reason);
292
309
  }
293
310
  /**
294
311
  * Remove a reaction from this message.
@@ -296,14 +313,14 @@ class Message extends Base_1.default {
296
313
  * @param user The user to remove the reaction from, `@me` for the current user (default).
297
314
  */
298
315
  async deleteReaction(emoji, user = "@me") {
299
- return this.client.rest.channels.deleteReaction(this.channel.id, this.id, emoji, user);
316
+ return this.client.rest.channels.deleteReaction(this.channelID, this.id, emoji, user);
300
317
  }
301
318
  /**
302
319
  * Remove all, or a specific emoji's reactions from this message.
303
320
  * @param emoji The reaction to remove from the message. `name:id` for custom emojis, and the unicode codepoint for default emojis. Omit to remove all reactions.
304
321
  */
305
322
  async deleteReactions(emoji) {
306
- return this.client.rest.channels.deleteReactions(this.channel.id, this.id, emoji);
323
+ return this.client.rest.channels.deleteReactions(this.channelID, this.id, emoji);
307
324
  }
308
325
  /**
309
326
  * Delete this message as a webhook.
@@ -311,17 +328,17 @@ class Message extends Base_1.default {
311
328
  * @param options Options for deleting the message.
312
329
  */
313
330
  async deleteWebhook(token, options) {
314
- if (!this.webhook?.id) {
331
+ if (!this.webhookID) {
315
332
  throw new Error("This message is not a webhook message.");
316
333
  }
317
- return this.client.rest.webhooks.deleteMessage(this.webhook.id, token, this.id, options);
334
+ return this.client.rest.webhooks.deleteMessage(this.webhookID, token, this.id, options);
318
335
  }
319
336
  /**
320
337
  * Edit this message.
321
338
  * @param options The options for editing the message.
322
339
  */
323
340
  async edit(options) {
324
- return this.client.rest.channels.editMessage(this.channel.id, this.id, options);
341
+ return this.client.rest.channels.editMessage(this.channelID, this.id, options);
325
342
  }
326
343
  /**
327
344
  * Edit this message as a webhook.
@@ -329,10 +346,10 @@ class Message extends Base_1.default {
329
346
  * @param options The options for editing the message.
330
347
  */
331
348
  async editWebhook(token, options) {
332
- if (!this.webhook?.id) {
349
+ if (!this.webhookID) {
333
350
  throw new Error("This message is not a webhook message.");
334
351
  }
335
- return this.client.rest.webhooks.editMessage(this.webhook.id, token, this.id, options);
352
+ return this.client.rest.webhooks.editMessage(this.webhookID, token, this.id, options);
336
353
  }
337
354
  /**
338
355
  * Get the users who reacted with a specific emoji on this message.
@@ -340,36 +357,36 @@ class Message extends Base_1.default {
340
357
  * @param options The options for getting the reactions.
341
358
  */
342
359
  async getReactions(emoji, options) {
343
- return this.client.rest.channels.getReactions(this.channel.id, this.id, emoji, options);
360
+ return this.client.rest.channels.getReactions(this.channelID, this.id, emoji, options);
344
361
  }
345
362
  /**
346
363
  * Pin this message.
347
364
  * @param reason The reason for pinning the message.
348
365
  */
349
366
  async pin(reason) {
350
- return this.client.rest.channels.pinMessage(this.channel.id, this.id, reason);
367
+ return this.client.rest.channels.pinMessage(this.channelID, this.id, reason);
351
368
  }
352
369
  /**
353
370
  * Create a thread from this message.
354
371
  * @param options The options for creating the thread.
355
372
  */
356
373
  async startThread(options) {
357
- return this.client.rest.channels.startThreadFromMessage(this.channel.id, this.id, options);
374
+ return this.client.rest.channels.startThreadFromMessage(this.channelID, this.id, options);
358
375
  }
359
376
  toJSON() {
360
377
  return {
361
378
  ...super.toJSON(),
362
379
  activity: this.activity,
363
- application: this.application instanceof PartialApplication_1.default ? this.application.toJSON() : this.application?.id,
380
+ applicationID: this.applicationID ?? undefined,
364
381
  attachments: this.attachments.map(attachment => attachment.toJSON()),
365
382
  author: this.author.toJSON(),
366
- channel: this.channel.id,
383
+ channelID: this.channelID,
367
384
  components: this.components,
368
385
  content: this.content,
369
- editedTimestamp: this.editedTimestamp?.getTime() || null,
386
+ editedTimestamp: this.editedTimestamp?.getTime() ?? null,
370
387
  embeds: this.embeds,
371
388
  flags: this.flags,
372
- guild: this.guildID,
389
+ guildID: this.guildID ?? undefined,
373
390
  interaction: !this.interaction ? undefined : {
374
391
  id: this.interaction.id,
375
392
  member: this.interaction.member?.toJSON(),
@@ -396,7 +413,7 @@ class Message extends Base_1.default {
396
413
  timestamp: this.timestamp.getTime(),
397
414
  tts: this.tts,
398
415
  type: this.type,
399
- webhook: this.webhook?.id
416
+ webhook: this.webhookID
400
417
  };
401
418
  }
402
419
  /**
@@ -404,8 +421,8 @@ class Message extends Base_1.default {
404
421
  * @param reason The reason for unpinning the message.
405
422
  */
406
423
  async unpin(reason) {
407
- return this.client.rest.channels.unpinMessage(this.channel.id, this.id, reason);
424
+ return this.client.rest.channels.unpinMessage(this.channelID, this.id, reason);
408
425
  }
409
426
  }
410
427
  exports.default = Message;
411
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL01lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUEwQjtBQUMxQiw4REFBc0M7QUFDdEMsa0RBQTBCO0FBQzFCLGtFQUEwQztBQUMxQyxvREFBNEI7QUFFNUIsOEVBQXNEO0FBT3RELHdEQUFnQztBQUVoQyw4RUFBc0Q7QUFDdEQsNENBQXNEO0FBd0J0RCx1REFBeUM7QUFFekMsTUFBcUIsT0FBeUUsU0FBUSxjQUFJO0lBQ3RHLG9KQUFvSjtJQUNwSixRQUFRLENBQW1CO0lBQzNCOzs7O09BSUc7SUFDSCxXQUFXLENBQXFEO0lBQ2hFLHVDQUF1QztJQUN2QyxXQUFXLENBQXFEO0lBQ2hFLGtDQUFrQztJQUNsQyxNQUFNLENBQU87SUFDYix3R0FBd0c7SUFDeEcsT0FBTyxDQUFJO0lBQ1gsc0NBQXNDO0lBQ3RDLFVBQVUsQ0FBMEI7SUFDcEMsbUNBQW1DO0lBQ25DLE9BQU8sQ0FBUztJQUNoQiwyREFBMkQ7SUFDM0QsZUFBZSxDQUFjO0lBQzdCLGtDQUFrQztJQUNsQyxNQUFNLENBQWU7SUFDckIsdUhBQXVIO0lBQ3ZILEtBQUssQ0FBUztJQUNkLG9DQUFvQztJQUNwQyxLQUFLLENBQVM7SUFDZCw4Q0FBOEM7SUFDOUMsT0FBTyxDQUFVO0lBQ2pCLDhFQUE4RTtJQUM5RSxXQUFXLENBQXNCO0lBQ2pDLG9EQUFvRDtJQUNwRCxNQUFNLENBQVU7SUFDaEIsK0xBQStMO0lBQy9MLGVBQWUsQ0FBeUI7SUFDeEMsb0NBQW9DO0lBQ3BDLFFBQVEsQ0FXTjtJQUNGLHdHQUF3RztJQUN4RyxnQkFBZ0IsQ0FBb0I7SUFDcEMsK0NBQStDO0lBQy9DLEtBQUssQ0FBbUI7SUFDeEIsaUNBQWlDO0lBQ2pDLE1BQU0sQ0FBVTtJQUNoQix3REFBd0Q7SUFDeEQsUUFBUSxDQUFVO0lBQ2xCLHFD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
428
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL01lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUEwQjtBQUMxQiw4REFBc0M7QUFDdEMsa0RBQTBCO0FBRzFCLDhFQUFzRDtBQU90RCx3REFBZ0M7QUFFaEMsOEVBQXNEO0FBQ3RELDRDQUFzRDtBQXdCdEQsdURBQXlDO0FBRXpDLE1BQXFCLE9BQXlFLFNBQVEsY0FBSTtJQUM5RixNQUFNLENBQXdEO0lBQ3RFLG9KQUFvSjtJQUNwSixRQUFRLENBQW1CO0lBQzNCOzs7O09BSUc7SUFDSCxXQUFXLENBQWlEO0lBQzVEOzs7O09BSUc7SUFDSCxhQUFhLENBQWdCO0lBQzdCLHVDQUF1QztJQUN2QyxXQUFXLENBQXFEO0lBQ2hFLGtDQUFrQztJQUNsQyxNQUFNLENBQU87SUFDYiw4Q0FBOEM7SUFDOUMsT0FBTyxDQUEyQztJQUNsRCx3REFBd0Q7SUFDeEQsU0FBUyxDQUFTO0lBQ2xCLHNDQUFzQztJQUN0QyxVQUFVLENBQTBCO0lBQ3BDLG1DQUFtQztJQUNuQyxPQUFPLENBQVM7SUFDaEIsMkRBQTJEO0lBQzNELGVBQWUsQ0FBYztJQUM3QixrQ0FBa0M7SUFDbEMsTUFBTSxDQUFlO0lBQ3JCLHVIQUF1SDtJQUN2SCxLQUFLLENBQVM7SUFDZCw4Q0FBOEM7SUFDOUMsT0FBTyxDQUF5RDtJQUNoRSw4RUFBOEU7SUFDOUUsV0FBVyxDQUFzQjtJQUNqQywyRUFBMkU7SUFDM0UsTUFBTSxDQUE4RDtJQUNwRSwrTEFBK0w7SUFDL0wsZUFBZSxDQUF5QjtJQUN4QyxvQ0FBb0M7SUFDcEMsUUFBUSxDQVdOO0lBQ0Ysd0dBQXdHO0lBQ3hHLGdCQUFnQixDQUFvQjtJQUNwQywrQ0FBK0M7SUFDL0MsS0FBSyxDQUFtQjtJQUN4QixpQ0FBaUM7SUFDakMsTUFBTSxDQUFVO0lBQ2hCLHdEQUF3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
@@ -9,35 +9,38 @@ import type { InteractionContent, ModalSubmitInteractionData, RawModalSubmitInte
9
9
  import type Client from "../Client";
10
10
  import type { AnyGuildTextChannel, AnyTextChannel } from "../types/channels";
11
11
  import type { JSONModalSubmitInteraction } from "../types/json";
12
- import { Uncached } from "../types";
13
- export default class ModalSubmitInteraction extends Interaction {
14
- /** The permissions the bot has in the channel this interaction was sent from. */
15
- appPermissions?: Permission;
16
- /** The channel this interaction was sent from. This can be a partial object with just an `id` property. */
17
- channel: AnyTextChannel | Uncached;
12
+ import type { Uncached } from "../types/shared";
13
+ export default class ModalSubmitInteraction<T extends AnyTextChannel | Uncached = AnyTextChannel | Uncached> extends Interaction {
14
+ private _guild?;
15
+ /** The permissions the bot has in the channel this interaction was sent from, if this interaction is sent from a guild. */
16
+ appPermissions: T extends AnyGuildTextChannel ? Permission : Permission | undefined;
17
+ /** The channel this interaction was sent from. */
18
+ channel: T extends AnyTextChannel ? T : undefined;
19
+ /** The ID of the channel this interaction was sent from. */
20
+ channelID: string;
18
21
  /** The data associated with the interaction. */
19
22
  data: ModalSubmitInteractionData;
20
- /** The guild this interaction was sent from, if applicable. */
21
- guild?: Guild;
22
23
  /** The id of the guild this interaction was sent from, if applicable. */
23
- guildID?: string;
24
+ guildID: T extends AnyGuildTextChannel ? string : string | null;
24
25
  /** The preferred [locale](https://discord.com/developers/docs/reference#locales) of the guild this interaction was sent from, if applicable. */
25
- guildLocale?: string;
26
+ guildLocale: T extends AnyGuildTextChannel ? string : string | undefined;
26
27
  /** The [locale](https://discord.com/developers/docs/reference#locales) of the invoking user. */
27
28
  locale: string;
28
- /** The member associated with the invoking user. */
29
- member?: Member;
30
- /** The permissions of the member associated with the invoking user */
31
- memberPermissions?: Permission;
29
+ /** The member associated with the invoking user, if this interaction is sent from a guild. */
30
+ member: T extends AnyGuildTextChannel ? Member : Member | undefined;
31
+ /** The permissions of the member associated with the invoking user, if this interaction is sent from a guild. */
32
+ memberPermissions: T extends AnyGuildTextChannel ? Permission : Permission | undefined;
32
33
  type: InteractionTypes.MODAL_SUBMIT;
33
34
  /** The user that invoked this interaction. */
34
35
  user: User;
35
36
  constructor(data: RawModalSubmitInteraction, client: Client);
37
+ /** The guild this interaction was sent from, if applicable. This will throw an error if the guild is not cached. */
38
+ get guild(): T extends AnyGuildTextChannel ? Guild : Guild | null;
36
39
  /**
37
40
  * Create a followup message.
38
41
  * @param options The options for creating the followup message.
39
42
  */
40
- createFollowup<T extends AnyGuildTextChannel>(options: InteractionContent): Promise<Message<T>>;
43
+ createFollowup(options: InteractionContent): Promise<Message<T>>;
41
44
  /**
42
45
  * Create a message through this interaction. This is an initial response, and more than one initial response cannot be used. Use `createFollowup`.
43
46
  * @param options The options for the message.
@@ -67,12 +70,12 @@ export default class ModalSubmitInteraction extends Interaction {
67
70
  * @param messageID The ID of the message.
68
71
  * @param options The options for editing the followup message.
69
72
  */
70
- editFollowup<T extends AnyGuildTextChannel>(messageID: string, options: InteractionContent): Promise<Message<T>>;
73
+ editFollowup(messageID: string, options: InteractionContent): Promise<Message<T>>;
71
74
  /**
72
75
  * Edit the original interaction response.
73
76
  * @param options The options for editing the original message.
74
77
  */
75
- editOriginal<T extends AnyGuildTextChannel>(options: InteractionContent): Promise<Message<T>>;
78
+ editOriginal(options: InteractionContent): Promise<Message<T>>;
76
79
  /**
77
80
  * Edit the message this interaction is from. If this interaction has already been acknowledged, use `createFollowup`.
78
81
  * @param options The options for editing the message.
@@ -82,10 +85,10 @@ export default class ModalSubmitInteraction extends Interaction {
82
85
  * Get a followup message.
83
86
  * @param messageID The ID of the message.
84
87
  */
85
- getFollowup<T extends AnyGuildTextChannel>(messageID: string): Promise<Message<T>>;
88
+ getFollowup(messageID: string): Promise<Message<T>>;
86
89
  /**
87
90
  * Get the original interaction response.
88
91
  */
89
- getOriginal<T extends AnyGuildTextChannel>(): Promise<Message<T>>;
92
+ getOriginal(): Promise<Message<T>>;
90
93
  toJSON(): JSONModalSubmitInteraction;
91
94
  }