oceanic.js 1.1.2-dev.01c2015 → 1.1.2-dev.028de5a

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 (82) hide show
  1. package/README.md +23 -3
  2. package/dist/lib/Client.d.ts +7 -2
  3. package/dist/lib/Client.js +11 -2
  4. package/dist/lib/Constants.d.ts +3 -2
  5. package/dist/lib/Constants.js +4 -3
  6. package/dist/lib/gateway/Shard.js +5 -5
  7. package/dist/lib/gateway/ShardManager.d.ts +1 -0
  8. package/dist/lib/gateway/ShardManager.js +4 -1
  9. package/dist/lib/index.d.ts +1 -0
  10. package/dist/lib/index.js +5 -3
  11. package/dist/lib/rest/OAuthHelper.d.ts +43 -0
  12. package/dist/lib/rest/OAuthHelper.js +134 -0
  13. package/dist/lib/routes/Channels.d.ts +6 -6
  14. package/dist/lib/routes/Channels.js +1 -1
  15. package/dist/lib/routes/Interactions.d.ts +6 -6
  16. package/dist/lib/routes/Interactions.js +1 -1
  17. package/dist/lib/routes/OAuth.d.ts +10 -6
  18. package/dist/lib/routes/OAuth.js +32 -24
  19. package/dist/lib/routes/Webhooks.d.ts +6 -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/AnnouncementChannel.js +4 -1
  23. package/dist/lib/structures/Application.d.ts +4 -3
  24. package/dist/lib/structures/Application.js +16 -5
  25. package/dist/lib/structures/ApplicationCommand.d.ts +3 -2
  26. package/dist/lib/structures/ApplicationCommand.js +15 -4
  27. package/dist/lib/structures/AuditLogEntry.d.ts +3 -2
  28. package/dist/lib/structures/AuditLogEntry.js +9 -4
  29. package/dist/lib/structures/AutoModerationRule.d.ts +1 -1
  30. package/dist/lib/structures/AutoModerationRule.js +8 -8
  31. package/dist/lib/structures/AutocompleteInteraction.d.ts +6 -5
  32. package/dist/lib/structures/AutocompleteInteraction.js +16 -11
  33. package/dist/lib/structures/CategoryChannel.js +3 -6
  34. package/dist/lib/structures/CommandInteraction.d.ts +6 -5
  35. package/dist/lib/structures/CommandInteraction.js +24 -13
  36. package/dist/lib/structures/ComponentInteraction.d.ts +6 -5
  37. package/dist/lib/structures/ComponentInteraction.js +16 -11
  38. package/dist/lib/structures/ForumChannel.d.ts +2 -3
  39. package/dist/lib/structures/ForumChannel.js +7 -7
  40. package/dist/lib/structures/GroupChannel.d.ts +1 -74
  41. package/dist/lib/structures/GroupChannel.js +1 -99
  42. package/dist/lib/structures/Guild.js +9 -15
  43. package/dist/lib/structures/GuildChannel.d.ts +4 -3
  44. package/dist/lib/structures/GuildChannel.js +15 -12
  45. package/dist/lib/structures/GuildScheduledEvent.d.ts +4 -3
  46. package/dist/lib/structures/GuildScheduledEvent.js +16 -11
  47. package/dist/lib/structures/GuildTemplate.d.ts +1 -1
  48. package/dist/lib/structures/GuildTemplate.js +8 -9
  49. package/dist/lib/structures/Integration.d.ts +7 -5
  50. package/dist/lib/structures/Integration.js +29 -8
  51. package/dist/lib/structures/InteractionResolvedChannel.d.ts +6 -4
  52. package/dist/lib/structures/InteractionResolvedChannel.js +17 -7
  53. package/dist/lib/structures/Invite.d.ts +6 -3
  54. package/dist/lib/structures/Invite.js +20 -7
  55. package/dist/lib/structures/Member.d.ts +1 -1
  56. package/dist/lib/structures/Member.js +10 -13
  57. package/dist/lib/structures/Message.d.ts +7 -6
  58. package/dist/lib/structures/Message.js +17 -12
  59. package/dist/lib/structures/ModalSubmitInteraction.d.ts +6 -5
  60. package/dist/lib/structures/ModalSubmitInteraction.js +16 -11
  61. package/dist/lib/structures/Role.d.ts +1 -1
  62. package/dist/lib/structures/Role.js +8 -8
  63. package/dist/lib/structures/StageChannel.d.ts +1 -1
  64. package/dist/lib/structures/StageChannel.js +7 -10
  65. package/dist/lib/structures/StageInstance.d.ts +9 -6
  66. package/dist/lib/structures/StageInstance.js +27 -15
  67. package/dist/lib/structures/TextableChannel.d.ts +1 -1
  68. package/dist/lib/structures/TextableChannel.js +6 -6
  69. package/dist/lib/structures/ThreadChannel.d.ts +1 -1
  70. package/dist/lib/structures/ThreadChannel.js +4 -4
  71. package/dist/lib/structures/VoiceChannel.d.ts +1 -1
  72. package/dist/lib/structures/VoiceChannel.js +7 -10
  73. package/dist/lib/structures/VoiceState.d.ts +12 -8
  74. package/dist/lib/structures/VoiceState.js +36 -16
  75. package/dist/lib/structures/Webhook.d.ts +6 -4
  76. package/dist/lib/structures/Webhook.js +23 -7
  77. package/dist/lib/types/channels.d.ts +5 -4
  78. package/dist/lib/types/events.d.ts +2 -2
  79. package/dist/lib/types/guilds.d.ts +2 -2
  80. package/dist/package.json +1 -1
  81. package/esm.mjs +2 -0
  82. package/package.json +1 -1
@@ -31,9 +31,8 @@ const Base_1 = __importDefault(require("./Base"));
31
31
  const Routes = __importStar(require("../util/Routes"));
32
32
  /** Represents a guild scheduled event. */
33
33
  class GuildScheduledEvent extends Base_1.default {
34
- _guild;
35
- /** The channel in which the event will be hosted. `null` if entityType is `EXTERNAL` */
36
- channel;
34
+ _cachedChannel;
35
+ _cachedGuild;
37
36
  /** The id of the channel in which the event will be hosted. `null` if entityType is `EXTERNAL` */
38
37
  channelID;
39
38
  /** The creator of the event. Not present on events created before October 25th, 2021. */
@@ -68,7 +67,6 @@ class GuildScheduledEvent extends Base_1.default {
68
67
  this.entityID = null;
69
68
  this.entityMetadata = null;
70
69
  this.entityType = data.entity_type;
71
- this._guild = client.guilds.get(data.guild_id);
72
70
  this.guildID = data.guild_id;
73
71
  this.image = null;
74
72
  this.name = data.name;
@@ -84,7 +82,6 @@ class GuildScheduledEvent extends Base_1.default {
84
82
  }
85
83
  update(data) {
86
84
  if (data.channel_id !== undefined) {
87
- this.channel = data.channel_id === null ? null : this.client.getChannel(data.channel_id);
88
85
  this.channelID = data.channel_id;
89
86
  }
90
87
  if (data.description !== undefined) {
@@ -121,14 +118,22 @@ class GuildScheduledEvent extends Base_1.default {
121
118
  this.userCount = data.user_count;
122
119
  }
123
120
  }
121
+ /** The channel in which the event will be hosted. `null` if entityType is `EXTERNAL` */
122
+ get channel() {
123
+ if (this.channelID !== null && this._cachedChannel !== null) {
124
+ return this._cachedChannel ?? (this._cachedChannel = this.client.getChannel(this.channelID));
125
+ }
126
+ return this._cachedChannel === null ? this._cachedChannel : (this._cachedChannel = null);
127
+ }
124
128
  /** The guild this scheduled event belongs to. This will throw an error if the guild is not cached. */
125
129
  get guild() {
126
- if (!this._guild) {
127
- throw new Error(`${this.constructor.name}#guild is not present if you don't have the GUILDS intent.`);
128
- }
129
- else {
130
- return this._guild;
130
+ if (!this._cachedGuild) {
131
+ this._cachedGuild = this.client.guilds.get(this.guildID);
132
+ if (!this._cachedGuild) {
133
+ throw new Error(`${this.constructor.name}#guild is not present if you don't have the GUILDS intent.`);
134
+ }
131
135
  }
136
+ return this._cachedGuild;
132
137
  }
133
138
  /**
134
139
  * Delete this scheduled event.
@@ -166,4 +171,4 @@ class GuildScheduledEvent extends Base_1.default {
166
171
  }
167
172
  }
168
173
  exports.default = GuildScheduledEvent;
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpbGRTY2hlZHVsZWRFdmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL0d1aWxkU2NoZWR1bGVkRXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtDQUFrQztBQUNsQyxrREFBMEI7QUFNMUIsdURBQXlDO0FBSXpDLDBDQUEwQztBQUMxQyxNQUFxQixtQkFBb0IsU0FBUSxjQUFJO0lBQ3pDLE1BQU0sQ0FBUztJQUN2Qix3RkFBd0Y7SUFDeEYsT0FBTyxDQUF1QjtJQUM5QixrR0FBa0c7SUFDbEcsU0FBUyxDQUFnQjtJQUN6Qix5RkFBeUY7SUFDekYsT0FBTyxDQUFRO0lBQ2Ysb0NBQW9DO0lBQ3BDLFdBQVcsQ0FBaUI7SUFDNUIsc0RBQXNEO0lBQ3RELFFBQVEsQ0FBZ0I7SUFDeEIsb0xBQW9MO0lBQ3BMLGNBQWMsQ0FBc0M7SUFDcEQsMEtBQTBLO0lBQzFLLFVBQVUsQ0FBaUM7SUFDM0MsMkRBQTJEO0lBQzNELE9BQU8sQ0FBUztJQUNoQixxQ0FBcUM7SUFDckMsS0FBSyxDQUFnQjtJQUNyQiw2QkFBNkI7SUFDN0IsSUFBSSxDQUFTO0lBQ2IsOEtBQThLO0lBQzlLLFlBQVksQ0FBbUM7SUFDL0Msa0ZBQWtGO0lBQ2xGLGdCQUFnQixDQUFjO0lBQzlCLDhDQUE4QztJQUM5QyxrQkFBa0IsQ0FBTztJQUN6QixnS0FBZ0s7SUFDaEssTUFBTSxDQUE4QjtJQUNwQyxtREFBbUQ7SUFDbkQsU0FBUyxDQUFTO0lBQ2xCLFlBQVksSUFBdUIsRUFBRSxNQUFjO1FBQy9DLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxHQUFH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
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpbGRTY2hlZHVsZWRFdmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL0d1aWxkU2NoZWR1bGVkRXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtDQUFrQztBQUNsQyxrREFBMEI7QUFNMUIsdURBQXlDO0FBSXpDLDBDQUEwQztBQUMxQyxNQUFxQixtQkFBb0IsU0FBUSxjQUFJO0lBQ3pDLGNBQWMsQ0FBdUI7SUFDckMsWUFBWSxDQUFTO0lBQzdCLGtHQUFrRztJQUNsRyxTQUFTLENBQWdCO0lBQ3pCLHlGQUF5RjtJQUN6RixPQUFPLENBQVE7SUFDZixvQ0FBb0M7SUFDcEMsV0FBVyxDQUFpQjtJQUM1QixzREFBc0Q7SUFDdEQsUUFBUSxDQUFnQjtJQUN4QixvTEFBb0w7SUFDcEwsY0FBYyxDQUFzQztJQUNwRCwwS0FBMEs7SUFDMUssVUFBVSxDQUFpQztJQUMzQywyREFBMkQ7SUFDM0QsT0FBTyxDQUFTO0lBQ2hCLHFDQUFxQztJQUNyQyxLQUFLLENBQWdCO0lBQ3JCLDZCQUE2QjtJQUM3QixJQUFJLENBQVM7SUFDYiw4S0FBOEs7SUFDOUssWUFBWSxDQUFtQztJQUMvQyxrRkFBa0Y7SUFDbEYsZ0JBQWdCLENBQWM7SUFDOUIsOENBQThDO0lBQzlDLGtCQUFrQixDQUFPO0lBQ3pCLGdLQUFnSztJQUNoSyxNQUFNLENBQThCO0lBQ3BDLG1EQUFtRDtJQUNuRCxTQUFTLENBQVM7SUFDbEIsWUFBWSxJQUF1QixFQUFFLE1BQWM7UUFDL0MsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FB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
@@ -7,7 +7,7 @@ import type { RawGuild } from "../types/guilds";
7
7
  import type { JSONGuildTemplate } from "../types/json";
8
8
  /** Represents a guild template. */
9
9
  export default class GuildTemplate {
10
- private _sourceGuild?;
10
+ private _cachedSourceGuild?;
11
11
  client: Client;
12
12
  /** The code of the template. */
13
13
  code: string;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  /** Represents a guild template. */
4
4
  class GuildTemplate {
5
- _sourceGuild;
5
+ _cachedSourceGuild;
6
6
  client;
7
7
  /** The code of the template. */
8
8
  code;
@@ -38,7 +38,6 @@ class GuildTemplate {
38
38
  this.isDirty = null;
39
39
  this.name = data.name;
40
40
  this.serializedSourceGuild = data.serialized_source_guild;
41
- this._sourceGuild = this.client.guilds.get(data.source_guild_id);
42
41
  this.sourceGuildID = data.source_guild_id;
43
42
  this.updatedAt = new Date(data.updated_at);
44
43
  this.usageCount = data.usage_count;
@@ -58,7 +57,6 @@ class GuildTemplate {
58
57
  this.serializedSourceGuild = data.serialized_source_guild;
59
58
  }
60
59
  if (data.source_guild_id !== undefined) {
61
- this._sourceGuild = this.client.guilds.get(data.source_guild_id);
62
60
  this.sourceGuildID = data.source_guild_id;
63
61
  }
64
62
  if (data.updated_at !== undefined) {
@@ -70,12 +68,13 @@ class GuildTemplate {
70
68
  }
71
69
  /** The source guild of this template. This will throw an error if the guild is not cached. */
72
70
  get sourceGuild() {
73
- if (!this._sourceGuild) {
74
- throw new Error(`${this.constructor.name}#sourceGuild is not present if this client is not a member of the source guild or without having the GUILDS intent.`);
75
- }
76
- else {
77
- return this._sourceGuild;
71
+ if (!this._cachedSourceGuild) {
72
+ this._cachedSourceGuild = this.client.guilds.get(this.sourceGuildID);
73
+ if (!this._cachedSourceGuild) {
74
+ throw new Error(`${this.constructor.name}#sourceGuild is not present if you don't have the GUILDS intent.`);
75
+ }
78
76
  }
77
+ return this._cachedSourceGuild;
79
78
  }
80
79
  /**
81
80
  * Create a guild from this template. This can only be used by bots in less than 10 guilds.
@@ -119,4 +118,4 @@ class GuildTemplate {
119
118
  }
120
119
  }
121
120
  exports.default = GuildTemplate;
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpbGRUZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL0d1aWxkVGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxtQ0FBbUM7QUFDbkMsTUFBcUIsYUFBYTtJQUN0QixZQUFZLENBQVM7SUFDN0IsTUFBTSxDQUFVO0lBQ2hCLGdDQUFnQztJQUNoQyxJQUFJLENBQVM7SUFDYixzQ0FBc0M7SUFDdEMsU0FBUyxDQUFPO0lBQ2hCLG9DQUFvQztJQUNwQyxPQUFPLENBQU87SUFDZCx3Q0FBd0M7SUFDeEMsV0FBVyxDQUFnQjtJQUMzQiw2Q0FBNkM7SUFDN0MsT0FBTyxDQUFpQjtJQUN4QixpQ0FBaUM7SUFDakMsSUFBSSxDQUFTO0lBQ2IsK0JBQStCO0lBQy9CLHFCQUFxQixDQUFvQjtJQUN6QyxtREFBbUQ7SUFDbkQsYUFBYSxDQUFTO0lBQ3RCLDJDQUEyQztJQUMzQyxTQUFTLENBQU87SUFDaEIsdURBQXVEO0lBQ3ZELFVBQVUsQ0FBUztJQUNuQixZQUFZLElBQXNCLEVBQUUsTUFBYztRQUM5QyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDbEMsS0FBSyxFQUFTLE1BQU07WUFDcEIsVUFBVSxFQUFJLEtBQUs7WUFDbkIsUUFBUSxFQUFNLEtBQUs7WUFDbkIsWUFBWSxFQUFFLEtBQUs7U0FDdEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztRQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFUyxNQUFNLENBQUMsSUFBK0I7UUFDNUMsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDdkM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNoQztRQUNELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEtBQUssU0FBUyxFQUFFO1lBQzVDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7U0FDN0Q7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDN0M7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtZQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRUQsOEZBQThGO0lBQzlGLElBQUksV0FBVztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUkscUhBQXFILENBQUMsQ0FBQztTQUNsSzthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBdUM7UUFDckQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBaUM7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTztZQUNILElBQUksRUFBbUIsSUFBSSxDQUFDLElBQUk7WUFDaEMsU0FBUyxFQUFjLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQy9DLE9BQU8sRUFBZ0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDNUMsV0FBVyxFQUFZLElBQUksQ0FBQyxXQUFXO1lBQ3ZDLE9BQU8sRUFBZ0IsSUFBSSxDQUFDLE9BQU87WUFDbkMsSUFBSSxFQUFtQixJQUFJLENBQUMsSUFBSTtZQUNoQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMscUJBQXFCO1lBQ2pELGFBQWEsRUFBVSxJQUFJLENBQUMsYUFBYTtZQUN6QyxTQUFTLEVBQWMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDL0MsVUFBVSxFQUFhLElBQUksQ0FBQyxVQUFVO1NBQ3pDLENBQUM7SUFDTixDQUFDO0NBQ0o7QUExSEQsZ0NBMEhDIn0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpbGRUZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL0d1aWxkVGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxtQ0FBbUM7QUFDbkMsTUFBcUIsYUFBYTtJQUN0QixrQkFBa0IsQ0FBUztJQUNuQyxNQUFNLENBQVU7SUFDaEIsZ0NBQWdDO0lBQ2hDLElBQUksQ0FBUztJQUNiLHNDQUFzQztJQUN0QyxTQUFTLENBQU87SUFDaEIsb0NBQW9DO0lBQ3BDLE9BQU8sQ0FBTztJQUNkLHdDQUF3QztJQUN4QyxXQUFXLENBQWdCO0lBQzNCLDZDQUE2QztJQUM3QyxPQUFPLENBQWlCO0lBQ3hCLGlDQUFpQztJQUNqQyxJQUFJLENBQVM7SUFDYiwrQkFBK0I7SUFDL0IscUJBQXFCLENBQW9CO0lBQ3pDLG1EQUFtRDtJQUNuRCxhQUFhLENBQVM7SUFDdEIsMkNBQTJDO0lBQzNDLFNBQVMsQ0FBTztJQUNoQix1REFBdUQ7SUFDdkQsVUFBVSxDQUFTO0lBQ25CLFlBQVksSUFBc0IsRUFBRSxNQUFjO1FBQzlDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNsQyxLQUFLLEVBQVMsTUFBTTtZQUNwQixVQUFVLEVBQUksS0FBSztZQUNuQixRQUFRLEVBQU0sS0FBSztZQUNuQixZQUFZLEVBQUUsS0FBSztTQUN0QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFD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
@@ -10,6 +10,8 @@ import type Client from "../Client";
10
10
  import type { JSONIntegration } from "../types/json";
11
11
  /** Represents a guild integration. */
12
12
  export default class Integration extends Base {
13
+ private _cachedGuild?;
14
+ private _cachedRole?;
13
15
  /** The account information associated with this integration. */
14
16
  account: IntegrationAccount;
15
17
  /** The application associated with this integration. */
@@ -22,16 +24,12 @@ export default class Integration extends Base {
22
24
  expireBehavior?: IntegrationExpireBehaviors;
23
25
  /** The grace period (in days) before expiring subscribers. */
24
26
  expireGracePeriod?: number;
25
- /** The guild this integration belongs to, if applicable. */
26
- guild?: Guild | null;
27
27
  /** The ID of the guild this integration belongs to, if applicable. */
28
28
  guildID: string | null;
29
29
  /** The name of the integration. */
30
30
  name: string;
31
31
  /** If this integration has been revoked. */
32
32
  revoked: boolean;
33
- /** The role this integration uses for subscribers, if any. */
34
- role?: Role | null;
35
33
  /** The id of the role this integration uses for subscribers, if any. */
36
34
  roleID: string | null;
37
35
  /** The scopes the application associated with this integration has been authorized for. */
@@ -44,9 +42,13 @@ export default class Integration extends Base {
44
42
  syncing: boolean;
45
43
  /** The type of integration. */
46
44
  type: IntegrationType;
47
- /** The user associated with this integration. */
45
+ /** The user associated with this integration, if applicable. */
48
46
  user?: User;
49
47
  constructor(data: RawIntegration, client: Client, guildID?: string);
50
48
  protected update(data: Partial<RawIntegration>): void;
49
+ /** The guild this integration belongs to, if applicable. This will throw an error if the guild is not cached. */
50
+ get guild(): Guild | null;
51
+ /** The role this integration uses for subscribers, if any. */
52
+ get role(): Role | null | undefined;
51
53
  toJSON(): JSONIntegration;
52
54
  }
@@ -8,6 +8,8 @@ const Base_1 = __importDefault(require("./Base"));
8
8
  const PartialApplication_1 = __importDefault(require("./PartialApplication"));
9
9
  /** Represents a guild integration. */
10
10
  class Integration extends Base_1.default {
11
+ _cachedGuild;
12
+ _cachedRole;
11
13
  /** The account information associated with this integration. */
12
14
  account;
13
15
  /** The application associated with this integration. */
@@ -20,16 +22,12 @@ class Integration extends Base_1.default {
20
22
  expireBehavior;
21
23
  /** The grace period (in days) before expiring subscribers. */
22
24
  expireGracePeriod;
23
- /** The guild this integration belongs to, if applicable. */
24
- guild;
25
25
  /** The ID of the guild this integration belongs to, if applicable. */
26
26
  guildID;
27
27
  /** The name of the integration. */
28
28
  name;
29
29
  /** If this integration has been revoked. */
30
30
  revoked;
31
- /** The role this integration uses for subscribers, if any. */
32
- role;
33
31
  /** The id of the role this integration uses for subscribers, if any. */
34
32
  roleID;
35
33
  /** The scopes the application associated with this integration has been authorized for. */
@@ -42,7 +40,7 @@ class Integration extends Base_1.default {
42
40
  syncing;
43
41
  /** The type of integration. */
44
42
  type;
45
- /** The user associated with this integration. */
43
+ /** The user associated with this integration, if applicable. */
46
44
  user;
47
45
  constructor(data, client, guildID) {
48
46
  super(data.id, client);
@@ -50,7 +48,6 @@ class Integration extends Base_1.default {
50
48
  this.application = null;
51
49
  this.enableEmoticons = !!data.enable_emoticons;
52
50
  this.enabled = !!data.enabled;
53
- this.guild = guildID === undefined ? null : client.guilds.get(guildID);
54
51
  this.guildID = guildID === undefined ? null : guildID;
55
52
  this.name = data.name;
56
53
  this.revoked = !!data.revoked;
@@ -85,7 +82,6 @@ class Integration extends Base_1.default {
85
82
  this.revoked = data.revoked;
86
83
  }
87
84
  if (data.role_id !== undefined) {
88
- this.role = this.guild !== undefined && this.guild !== null ? this.guild.roles.get(data.role_id) : null;
89
85
  this.roleID = data.role_id;
90
86
  }
91
87
  if (data.scopes !== undefined) {
@@ -107,6 +103,31 @@ class Integration extends Base_1.default {
107
103
  this.user = this.client.users.update(data.user);
108
104
  }
109
105
  }
106
+ /** The guild this integration belongs to, if applicable. This will throw an error if the guild is not cached. */
107
+ get guild() {
108
+ if (this.guildID !== null && this._cachedGuild !== null) {
109
+ if (!this._cachedGuild) {
110
+ this._cachedGuild = this.client.guilds.get(this.guildID);
111
+ if (!this._cachedGuild) {
112
+ throw new Error(`${this.constructor.name}#guild is not present if you don't have the GUILDS intent.`);
113
+ }
114
+ }
115
+ return this._cachedGuild;
116
+ }
117
+ return this._cachedGuild === null ? this._cachedGuild : (this._cachedGuild = null);
118
+ }
119
+ /** The role this integration uses for subscribers, if any. */
120
+ get role() {
121
+ if (this.roleID !== null && this._cachedRole !== null) {
122
+ try {
123
+ return this._cachedRole ?? (this._cachedRole = this.guild?.roles.get(this.roleID));
124
+ }
125
+ catch {
126
+ return (this._cachedRole = undefined);
127
+ }
128
+ }
129
+ return this._cachedRole === null ? this._cachedRole : (this._cachedRole = null);
130
+ }
110
131
  toJSON() {
111
132
  return {
112
133
  ...super.toJSON(),
@@ -129,4 +150,4 @@ class Integration extends Base_1.default {
129
150
  }
130
151
  }
131
152
  exports.default = Integration;
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3RydWN0dXJlcy9JbnRlZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDBCQUEwQjtBQUMxQixrREFBMEI7QUFDMUIsOEVBQXNEO0FBU3RELHNDQUFzQztBQUN0QyxNQUFxQixXQUFZLFNBQVEsY0FBSTtJQUN6QyxnRUFBZ0U7SUFDaEUsT0FBTyxDQUFxQjtJQUM1Qix3REFBd0Q7SUFDeEQsV0FBVyxDQUE0QjtJQUN2QywwREFBMEQ7SUFDMUQsZUFBZSxDQUFVO0lBQ3pCLHNDQUFzQztJQUN0QyxPQUFPLENBQVU7SUFDakIsbUpBQW1KO0lBQ25KLGNBQWMsQ0FBOEI7SUFDNUMsOERBQThEO0lBQzlELGlCQUFpQixDQUFVO0lBQzNCLDREQUE0RDtJQUM1RCxLQUFLLENBQWdCO0lBQ3JCLHNFQUFzRTtJQUN0RSxPQUFPLENBQWdCO0lBQ3ZCLG1DQUFtQztJQUNuQyxJQUFJLENBQVM7SUFDYiw0Q0FBNEM7SUFDNUMsT0FBTyxDQUFVO0lBQ2pCLDhEQUE4RDtJQUM5RCxJQUFJLENBQWU7SUFDbkIsd0VBQXdFO0lBQ3hFLE1BQU0sQ0FBZ0I7SUFDdEIsMkZBQTJGO0lBQzNGLE1BQU0sQ0FBaUI7SUFDdkIsc0RBQXNEO0lBQ3RELGVBQWUsQ0FBVTtJQUN6Qiw2REFBNkQ7SUFDN0QsUUFBUSxDQUFRO0lBQ2hCLHNDQUFzQztJQUN0QyxPQUFPLENBQVU7SUFDakIsK0JBQStCO0lBQy9CLElBQUksQ0FBa0I7SUFDdEIsaURBQWlEO0lBQ2pELElBQUksQ0FBUTtJQUNaLFlBQVksSUFBb0IsRUFBRSxNQUFjLEVBQUUsT0FBZ0I7UUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdB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
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3RydWN0dXJlcy9JbnRlZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDBCQUEwQjtBQUMxQixrREFBMEI7QUFDMUIsOEVBQXNEO0FBU3RELHNDQUFzQztBQUN0QyxNQUFxQixXQUFZLFNBQVEsY0FBSTtJQUNqQyxZQUFZLENBQWdCO0lBQzVCLFdBQVcsQ0FBZTtJQUNsQyxnRUFBZ0U7SUFDaEUsT0FBTyxDQUFxQjtJQUM1Qix3REFBd0Q7SUFDeEQsV0FBVyxDQUE0QjtJQUN2QywwREFBMEQ7SUFDMUQsZUFBZSxDQUFVO0lBQ3pCLHNDQUFzQztJQUN0QyxPQUFPLENBQVU7SUFDakIsbUpBQW1KO0lBQ25KLGNBQWMsQ0FBOEI7SUFDNUMsOERBQThEO0lBQzlELGlCQUFpQixDQUFVO0lBQzNCLHNFQUFzRTtJQUN0RSxPQUFPLENBQWdCO0lBQ3ZCLG1DQUFtQztJQUNuQyxJQUFJLENBQVM7SUFDYiw0Q0FBNEM7SUFDNUMsT0FBTyxDQUFVO0lBQ2pCLHdFQUF3RTtJQUN4RSxNQUFNLENBQWdCO0lBQ3RCLDJGQUEyRjtJQUMzRixNQUFNLENBQWlCO0lBQ3ZCLHNEQUFzRDtJQUN0RCxlQUFlLENBQVU7SUFDekIsNkRBQTZEO0lBQzdELFFBQVEsQ0FBUTtJQUNoQixzQ0FBc0M7SUFDdEMsT0FBTyxDQUFVO0lBQ2pCLCtCQUErQjtJQUMvQixJQUFJLENBQWtCO0lBQ3RCLGdFQUFnRTtJQUNoRSxJQUFJLENBQVE7SUFDWixZQUFZLElBQW9CLEVBQUUsTUFBYyxFQUFFLE9BQWdCO1FBQzlELEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENB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
@@ -10,18 +10,20 @@ import type Client from "../Client";
10
10
  import type { RawInteractionResolvedChannel, ThreadMetadata, PrivateThreadMetadata, AnyGuildChannel } from "../types/channels";
11
11
  /** Represents a channel from an interaction option. This can be any guild channel, or a direct message. */
12
12
  export default class InteractionResolvedChannel extends Channel {
13
+ private _cachedCompleteChannel?;
14
+ private _cachedParent?;
13
15
  /** The permissions the bot has in the channel. */
14
16
  appPermissions: Permission;
15
- /** The complete channel this channel option represents, if it's cached. */
16
- completeChannel?: AnyGuildChannel | PrivateChannel;
17
17
  /** The name of this channel. */
18
18
  name: string | null;
19
- /** The parent of this channel, if this represents a thread. */
20
- parent?: TextChannel | AnnouncementChannel | ForumChannel | null;
21
19
  /** The ID of the parent of this channel, if this represents a thread. */
22
20
  parentID: string | null;
23
21
  /** The [thread metadata](https://discord.com/developers/docs/resources/channel#thread-metadata-object-thread-metadata-structure) associated with this channel, if this represents a thread. */
24
22
  threadMetadata: ThreadMetadata | PrivateThreadMetadata | null;
25
23
  type: GuildChannelTypes | ChannelTypes.DM;
26
24
  constructor(data: RawInteractionResolvedChannel, client: Client);
25
+ /** The complete channel this channel option represents, if it's cached. */
26
+ get completeChannel(): AnyGuildChannel | PrivateChannel | undefined;
27
+ /** The parent of this channel, if this represents a thread. */
28
+ get parent(): TextChannel | AnnouncementChannel | ForumChannel | null | undefined;
27
29
  }
@@ -7,14 +7,12 @@ const Permission_1 = __importDefault(require("./Permission"));
7
7
  const Channel_1 = __importDefault(require("./Channel"));
8
8
  /** Represents a channel from an interaction option. This can be any guild channel, or a direct message. */
9
9
  class InteractionResolvedChannel extends Channel_1.default {
10
+ _cachedCompleteChannel;
11
+ _cachedParent;
10
12
  /** The permissions the bot has in the channel. */
11
13
  appPermissions;
12
- /** The complete channel this channel option represents, if it's cached. */
13
- completeChannel;
14
14
  /** The name of this channel. */
15
15
  name;
16
- /** The parent of this channel, if this represents a thread. */
17
- parent;
18
16
  /** The ID of the parent of this channel, if this represents a thread. */
19
17
  parentID;
20
18
  /** The [thread metadata](https://discord.com/developers/docs/resources/channel#thread-metadata-object-thread-metadata-structure) associated with this channel, if this represents a thread. */
@@ -23,8 +21,6 @@ class InteractionResolvedChannel extends Channel_1.default {
23
21
  super(data, client);
24
22
  this.appPermissions = new Permission_1.default(data.permissions);
25
23
  this.name = data.name;
26
- this.completeChannel = client.getChannel(data.id);
27
- this.parent = data.parent_id ? client.getChannel(data.parent_id) : null;
28
24
  this.parentID = data.parent_id ?? null;
29
25
  this.threadMetadata = data.thread_metadata ? {
30
26
  archiveTimestamp: new Date(data.thread_metadata.archive_timestamp),
@@ -35,6 +31,20 @@ class InteractionResolvedChannel extends Channel_1.default {
35
31
  invitable: data.thread_metadata.invitable
36
32
  } : null;
37
33
  }
34
+ /** The complete channel this channel option represents, if it's cached. */
35
+ get completeChannel() {
36
+ if (!this._cachedCompleteChannel) {
37
+ return (this._cachedCompleteChannel = this.client.getChannel(this.id));
38
+ }
39
+ return this._cachedCompleteChannel;
40
+ }
41
+ /** The parent of this channel, if this represents a thread. */
42
+ get parent() {
43
+ if (this.parentID !== null && this._cachedParent !== null) {
44
+ return this._cachedParent ?? (this._cachedParent = this.client.getChannel(this.parentID));
45
+ }
46
+ return this._cachedParent === null ? this._cachedParent : (this._cachedParent = null);
47
+ }
38
48
  }
39
49
  exports.default = InteractionResolvedChannel;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3Rpb25SZXNvbHZlZENoYW5uZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3RydWN0dXJlcy9JbnRlcmFjdGlvblJlc29sdmVkQ2hhbm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLDhEQUFzQztBQUN0Qyx3REFBZ0M7QUFPaEMsMkdBQTJHO0FBQzNHLE1BQXFCLDBCQUEyQixTQUFRLGlCQUFPO0lBQzNELGtEQUFrRDtJQUNsRCxjQUFjLENBQWE7SUFDM0IsMkVBQTJFO0lBQzNFLGVBQWUsQ0FBb0M7SUFDbkQsZ0NBQWdDO0lBQ2hDLElBQUksQ0FBZ0I7SUFDcEIsK0RBQStEO0lBQy9ELE1BQU0sQ0FBMkQ7SUFDakUseUVBQXlFO0lBQ3pFLFFBQVEsQ0FBZ0I7SUFDeEIsK0xBQStMO0lBQy9MLGNBQWMsQ0FBZ0Q7SUFFOUQsWUFBWSxJQUFtQyxFQUFFLE1BQWM7UUFDM0QsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksb0JBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBbUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBb0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDM0csSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztRQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLGdCQUFnQixFQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUM7WUFDckUsUUFBUSxFQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVE7WUFDcEQsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUI7WUFDL0QsZUFBZSxFQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDO1lBQ3BILE1BQU0sRUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNO1lBQ2xELFNBQVMsRUFBWSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVM7U0FDdEQsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNKO0FBOUJELDZDQThCQyJ9
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3Rpb25SZXNvbHZlZENoYW5uZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3RydWN0dXJlcy9JbnRlcmFjdGlvblJlc29sdmVkQ2hhbm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLDhEQUFzQztBQUN0Qyx3REFBZ0M7QUFPaEMsMkdBQTJHO0FBQzNHLE1BQXFCLDBCQUEyQixTQUFRLGlCQUFPO0lBQ25ELHNCQUFzQixDQUFvQztJQUMxRCxhQUFhLENBQTJEO0lBQ2hGLGtEQUFrRDtJQUNsRCxjQUFjLENBQWE7SUFDM0IsZ0NBQWdDO0lBQ2hDLElBQUksQ0FBZ0I7SUFDcEIseUVBQXlFO0lBQ3pFLFFBQVEsQ0FBZ0I7SUFDeEIsK0xBQStMO0lBQy9MLGNBQWMsQ0FBZ0Q7SUFFOUQsWUFBWSxJQUFtQyxFQUFFLE1BQWM7UUFDM0QsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksb0JBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUN6QyxnQkFBZ0IsRUFBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDO1lBQ3JFLFFBQVEsRUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRO1lBQ3BELG1CQUFtQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCO1lBQy9ELGVBQWUsRUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNwSCxNQUFNLEVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTTtZQUNsRCxTQUFTLEVBQVksSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTO1NBQ3RELENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCwyRUFBMkU7SUFDM0UsSUFBSSxlQUFlO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM5QixPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzFFO1FBRUQsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDdkMsQ0FBQztJQUVELCtEQUErRDtJQUMvRCxJQUFJLE1BQU07UUFDTixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxFQUFFO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQW1ELElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQy9JO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDSjtBQTVDRCw2Q0E0Q0MifQ==
@@ -8,13 +8,12 @@ import type { InviteTargetTypes } from "../Constants";
8
8
  import type { JSONInvite } from "../types/json";
9
9
  import type { Uncached } from "../types/shared";
10
10
  /** Represents an invite. */
11
- export default class Invite<T extends InviteInfoTypes = "withMetadata", CH extends InviteChannel | PartialInviteChannel | Uncached = InviteChannel | PartialInviteChannel | Uncached> {
11
+ export default class Invite<T extends InviteInfoTypes = "withMetadata", CH extends InviteChannel | Uncached = InviteChannel | Uncached> {
12
+ private _cachedChannel;
12
13
  /** The approximate number of total members in the guild this invite leads to. */
13
14
  approximateMemberCount?: number;
14
15
  /** The approximate number of online members in the guild this invite leads to. */
15
16
  approximatePresenceCount?: number;
16
- /** The channel this invite leads to. If the channel is not cached, this may be a partial with only `id`, `name, and `type` or undefined. */
17
- channel: (CH extends InviteChannel | PartialInviteChannel ? CH : undefined) | null;
18
17
  /** The ID of the channel this invite leads to. */
19
18
  channelID: string | null;
20
19
  client: Client;
@@ -50,10 +49,14 @@ export default class Invite<T extends InviteInfoTypes = "withMetadata", CH exten
50
49
  uses: T extends "withMetadata" ? number : never;
51
50
  constructor(data: RawInvite | RawInviteWithMetadata, client: Client);
52
51
  protected update(data: Partial<RawInvite> | Partial<RawInviteWithMetadata>): void;
52
+ /** The channel this invite leads to. If the channel is not cached, this will be a partial with only `id`, `name, and `type`. */
53
+ get channel(): (CH extends InviteChannel ? CH : PartialInviteChannel) | null;
53
54
  /**
54
55
  * Delete this invite.
55
56
  * @param reason The reason for deleting this invite.
56
57
  */
57
58
  deleteInvite(reason?: string): Promise<Invite<"withMetadata", CH>>;
59
+ /** Whether this invite belongs to a cached channel. The only difference on using this method over a simple if statement is to easily update all the invite properties typing definitions based on the channel it belongs to. */
60
+ inCachedChannel(): this is Invite<T, InviteChannel>;
58
61
  toJSON(): JSONInvite;
59
62
  }
@@ -9,12 +9,11 @@ const Guild_1 = __importDefault(require("./Guild"));
9
9
  const PartialApplication_1 = __importDefault(require("./PartialApplication"));
10
10
  /** Represents an invite. */
11
11
  class Invite {
12
+ _cachedChannel;
12
13
  /** The approximate number of total members in the guild this invite leads to. */
13
14
  approximateMemberCount;
14
15
  /** The approximate number of online members in the guild this invite leads to. */
15
16
  approximatePresenceCount;
16
- /** The channel this invite leads to. If the channel is not cached, this may be a partial with only `id`, `name, and `type` or undefined. */
17
- channel;
18
17
  /** The ID of the channel this invite leads to. */
19
18
  channelID;
20
19
  client;
@@ -55,8 +54,7 @@ class Invite {
55
54
  writable: false,
56
55
  configurable: false
57
56
  });
58
- this.channel = null;
59
- this.channelID = (data.channel_id || data.channel?.id) ?? null;
57
+ this.channelID = (data.channel_id ?? data.channel?.id) ?? null;
60
58
  this.code = data.code;
61
59
  this.guild = null;
62
60
  this.guildID = data.guild?.id ?? null;
@@ -92,10 +90,10 @@ class Invite {
92
90
  channel = data.channel;
93
91
  }
94
92
  }
95
- this.channel = channel;
93
+ this._cachedChannel = channel;
96
94
  }
97
95
  else {
98
- this.channel = null;
96
+ this._cachedChannel = null;
99
97
  }
100
98
  if (data.inviter !== undefined) {
101
99
  this.inviter = this.client.users.update(data.inviter);
@@ -135,6 +133,17 @@ class Invite {
135
133
  }
136
134
  }
137
135
  }
136
+ /** The channel this invite leads to. If the channel is not cached, this will be a partial with only `id`, `name, and `type`. */
137
+ get channel() {
138
+ if (this.channelID !== null && this._cachedChannel !== null) {
139
+ if (this._cachedChannel instanceof Channel_1.default) {
140
+ return this._cachedChannel;
141
+ }
142
+ const cachedChannel = this.client.getChannel(this.channelID);
143
+ return (cachedChannel ? (this._cachedChannel = cachedChannel) : this._cachedChannel);
144
+ }
145
+ return this._cachedChannel === null ? this._cachedChannel : (this._cachedChannel = null);
146
+ }
138
147
  /**
139
148
  * Delete this invite.
140
149
  * @param reason The reason for deleting this invite.
@@ -142,6 +151,10 @@ class Invite {
142
151
  async deleteInvite(reason) {
143
152
  return this.client.rest.channels.deleteInvite(this.code, reason);
144
153
  }
154
+ /** Whether this invite belongs to a cached channel. The only difference on using this method over a simple if statement is to easily update all the invite properties typing definitions based on the channel it belongs to. */
155
+ inCachedChannel() {
156
+ return this.channel instanceof Channel_1.default;
157
+ }
145
158
  toJSON() {
146
159
  return {
147
160
  approximateMemberCount: this.approximateMemberCount,
@@ -170,4 +183,4 @@ class Invite {
170
183
  }
171
184
  }
172
185
  exports.default = Invite;
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW52aXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N0cnVjdHVyZXMvSW52aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUJBQXFCO0FBQ3JCLHdEQUFnQztBQUNoQyxvREFBNEI7QUFHNUIsOEVBQXNEO0FBa0J0RCw0QkFBNEI7QUFDNUIsTUFBcUIsTUFBTTtJQUN2QixpRkFBaUY7SUFDakYsc0JBQXNCLENBQVU7SUFDaEMsa0ZBQWtGO0lBQ2xGLHdCQUF3QixDQUFVO0lBQ2xDLDRJQUE0STtJQUM1SSxPQUFPLENBQTRFO0lBQ25GLGtEQUFrRDtJQUNsRCxTQUFTLENBQWdCO0lBQ3pCLE1BQU0sQ0FBVTtJQUNoQiwrQkFBK0I7SUFDL0IsSUFBSSxDQUFTO0lBQ2Isb0NBQW9DO0lBQ3BDLFNBQVMsQ0FBK0M7SUFDeEQsNkNBQTZDO0lBQzdDLFNBQVMsQ0FBaUU7SUFDMUUsbUZBQW1GO0lBQ25GLEtBQUssQ0FBZTtJQUNwQiw2RkFBNkY7SUFDN0YsT0FBTyxDQUFnQjtJQUN2Qix1REFBdUQ7SUFDdkQsbUJBQW1CLENBQXVCO0lBQzFDLHlDQUF5QztJQUN6QyxPQUFPLENBQVE7SUFDZixnREFBZ0Q7SUFDaEQsTUFBTSxDQUE2QztJQUNuRCwyREFBMkQ7SUFDM0QsT0FBTyxDQUE2QztJQUNwRCxxRkFBcUY7SUFDckYsYUFBYSxDQUF1QjtJQUNwQyxzREFBc0Q7SUFDdEQsaUJBQWlCLENBQXNCO0lBQ3ZDLGdJQUFnSTtJQUNoSSxVQUFVLENBQXFCO0lBQy9CLDZFQUE2RTtJQUM3RSxVQUFVLENBQVE7SUFDbEIsdURBQXVEO0lBQ3ZELFNBQVMsQ0FBOEM7SUFDdkQscURBQXFEO0lBQ3JELElBQUksQ0FBNkM7SUFDakQsWUFBWSxJQUF1QyxFQUFFLE1BQWM7UUFDL0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2xDLEtBQUssRUFBUyxNQUFNO1lBQ3BCLFVBQVUsRUFB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
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW52aXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N0cnVjdHVyZXMvSW52aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUJBQXFCO0FBQ3JCLHdEQUFnQztBQUNoQyxvREFBNEI7QUFHNUIsOEVBQXNEO0FBZXRELDRCQUE0QjtBQUM1QixNQUFxQixNQUFNO0lBQ2YsY0FBYyxDQUFpRTtJQUN2RixpRkFBaUY7SUFDakYsc0JBQXNCLENBQVU7SUFDaEMsa0ZBQWtGO0lBQ2xGLHdCQUF3QixDQUFVO0lBQ2xDLGtEQUFrRDtJQUNsRCxTQUFTLENBQWdCO0lBQ3pCLE1BQU0sQ0FBVTtJQUNoQiwrQkFBK0I7SUFDL0IsSUFBSSxDQUFTO0lBQ2Isb0NBQW9DO0lBQ3BDLFNBQVMsQ0FBK0M7SUFDeEQsNkNBQTZDO0lBQzdDLFNBQVMsQ0FBaUU7SUFDMUUsbUZBQW1GO0lBQ25GLEtBQUssQ0FBZTtJQUNwQiw2RkFBNkY7SUFDN0YsT0FBTyxDQUFnQjtJQUN2Qix1REFBdUQ7SUFDdkQsbUJBQW1CLENBQXVCO0lBQzFDLHlDQUF5QztJQUN6QyxPQUFPLENBQVE7SUFDZixnREFBZ0Q7SUFDaEQsTUFBTSxDQUE2QztJQUNuRCwyREFBMkQ7SUFDM0QsT0FBTyxDQUE2QztJQUNwRCxxRkFBcUY7SUFDckYsYUFBYSxDQUF1QjtJQUNwQyxzREFBc0Q7SUFDdEQsaUJBQWlCLENBQXNCO0lBQ3ZDLGdJQUFnSTtJQUNoSSxVQUFVLENBQXFCO0lBQy9CLDZFQUE2RTtJQUM3RSxVQUFVLENBQVE7SUFDbEIsdURBQXVEO0lBQ3ZELFNBQVMsQ0FBOEM7SUFDdkQscURBQXFEO0lBQ3JELElBQUksQ0FBNkM7SUFDakQsWUFBWSxJQUF1QyxFQUFFLE1BQWM7UUFDL0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2xDLEtBQUssRUFBUyxNQUFNO1lBQ3BCLFVBQVUsRUFBSSxLQUFLO1lBQ25CLFFB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
@@ -11,7 +11,7 @@ import type { JSONMember } from "../types/json";
11
11
  import type { Presence } from "../types/gateway";
12
12
  /** Represents a member of a guild. */
13
13
  export default class Member extends Base {
14
- private _guild?;
14
+ private _cachedGuild?;
15
15
  /** The member's avatar hash, if they have set a guild avatar. */
16
16
  avatar: string | null;
17
17
  /** When the member's [timeout](https://support.discord.com/hc/en-us/articles/4413305239191-Time-Out-FAQ) will expire, if active. */