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.
- package/README.md +23 -3
- package/dist/lib/Client.d.ts +7 -2
- package/dist/lib/Client.js +11 -2
- package/dist/lib/Constants.d.ts +3 -2
- package/dist/lib/Constants.js +4 -3
- package/dist/lib/gateway/Shard.js +5 -5
- package/dist/lib/gateway/ShardManager.d.ts +1 -0
- package/dist/lib/gateway/ShardManager.js +4 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +5 -3
- package/dist/lib/rest/OAuthHelper.d.ts +43 -0
- package/dist/lib/rest/OAuthHelper.js +134 -0
- package/dist/lib/routes/Channels.d.ts +6 -6
- package/dist/lib/routes/Channels.js +1 -1
- package/dist/lib/routes/Interactions.d.ts +6 -6
- package/dist/lib/routes/Interactions.js +1 -1
- package/dist/lib/routes/OAuth.d.ts +10 -6
- package/dist/lib/routes/OAuth.js +32 -24
- package/dist/lib/routes/Webhooks.d.ts +6 -6
- package/dist/lib/routes/Webhooks.js +1 -1
- package/dist/lib/structures/AnnouncementChannel.d.ts +1 -1
- package/dist/lib/structures/AnnouncementChannel.js +4 -1
- package/dist/lib/structures/Application.d.ts +4 -3
- package/dist/lib/structures/Application.js +16 -5
- package/dist/lib/structures/ApplicationCommand.d.ts +3 -2
- package/dist/lib/structures/ApplicationCommand.js +15 -4
- package/dist/lib/structures/AuditLogEntry.d.ts +3 -2
- package/dist/lib/structures/AuditLogEntry.js +9 -4
- package/dist/lib/structures/AutoModerationRule.d.ts +1 -1
- package/dist/lib/structures/AutoModerationRule.js +8 -8
- package/dist/lib/structures/AutocompleteInteraction.d.ts +6 -5
- package/dist/lib/structures/AutocompleteInteraction.js +16 -11
- package/dist/lib/structures/CategoryChannel.js +3 -6
- package/dist/lib/structures/CommandInteraction.d.ts +6 -5
- package/dist/lib/structures/CommandInteraction.js +24 -13
- package/dist/lib/structures/ComponentInteraction.d.ts +6 -5
- package/dist/lib/structures/ComponentInteraction.js +16 -11
- package/dist/lib/structures/ForumChannel.d.ts +2 -3
- package/dist/lib/structures/ForumChannel.js +7 -7
- package/dist/lib/structures/GroupChannel.d.ts +1 -74
- package/dist/lib/structures/GroupChannel.js +1 -99
- package/dist/lib/structures/Guild.js +9 -15
- package/dist/lib/structures/GuildChannel.d.ts +4 -3
- package/dist/lib/structures/GuildChannel.js +15 -12
- package/dist/lib/structures/GuildScheduledEvent.d.ts +4 -3
- package/dist/lib/structures/GuildScheduledEvent.js +16 -11
- package/dist/lib/structures/GuildTemplate.d.ts +1 -1
- package/dist/lib/structures/GuildTemplate.js +8 -9
- package/dist/lib/structures/Integration.d.ts +7 -5
- package/dist/lib/structures/Integration.js +29 -8
- package/dist/lib/structures/InteractionResolvedChannel.d.ts +6 -4
- package/dist/lib/structures/InteractionResolvedChannel.js +17 -7
- package/dist/lib/structures/Invite.d.ts +6 -3
- package/dist/lib/structures/Invite.js +20 -7
- package/dist/lib/structures/Member.d.ts +1 -1
- package/dist/lib/structures/Member.js +10 -13
- package/dist/lib/structures/Message.d.ts +7 -6
- package/dist/lib/structures/Message.js +17 -12
- package/dist/lib/structures/ModalSubmitInteraction.d.ts +6 -5
- package/dist/lib/structures/ModalSubmitInteraction.js +16 -11
- package/dist/lib/structures/Role.d.ts +1 -1
- package/dist/lib/structures/Role.js +8 -8
- package/dist/lib/structures/StageChannel.d.ts +1 -1
- package/dist/lib/structures/StageChannel.js +7 -10
- package/dist/lib/structures/StageInstance.d.ts +9 -6
- package/dist/lib/structures/StageInstance.js +27 -15
- package/dist/lib/structures/TextableChannel.d.ts +1 -1
- package/dist/lib/structures/TextableChannel.js +6 -6
- package/dist/lib/structures/ThreadChannel.d.ts +1 -1
- package/dist/lib/structures/ThreadChannel.js +4 -4
- package/dist/lib/structures/VoiceChannel.d.ts +1 -1
- package/dist/lib/structures/VoiceChannel.js +7 -10
- package/dist/lib/structures/VoiceState.d.ts +12 -8
- package/dist/lib/structures/VoiceState.js +36 -16
- package/dist/lib/structures/Webhook.d.ts +6 -4
- package/dist/lib/structures/Webhook.js +23 -7
- package/dist/lib/types/channels.d.ts +5 -4
- package/dist/lib/types/events.d.ts +2 -2
- package/dist/lib/types/guilds.d.ts +2 -2
- package/dist/package.json +1 -1
- package/esm.mjs +2 -0
- 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
|
-
|
|
35
|
-
|
|
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.
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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,
|
|
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
|
|
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
|
-
|
|
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.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
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 |
|
|
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.
|
|
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.
|
|
93
|
+
this._cachedChannel = channel;
|
|
96
94
|
}
|
|
97
95
|
else {
|
|
98
|
-
this.
|
|
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,
|
|
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
|
|
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. */
|