mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-11 17:13:31 +01:00
refactor: make Structure#deleted a getter to a WeakSet (#7074)
This commit is contained in:
14
package-lock.json
generated
14
package-lock.json
generated
@@ -22,7 +22,7 @@
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^15.0.0",
|
||||
"@commitlint/config-angular": "^15.0.0",
|
||||
"@discordjs/docgen": "^0.10.0",
|
||||
"@discordjs/docgen": "^0.11.0",
|
||||
"@favware/npm-deprecate": "^1.0.4",
|
||||
"@types/node": "^16.11.10",
|
||||
"conventional-changelog-cli": "^2.1.1",
|
||||
@@ -1015,9 +1015,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/docgen": {
|
||||
"version": "0.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/docgen/-/docgen-0.10.0.tgz",
|
||||
"integrity": "sha512-dtZs7wwTCORwjPutC1WrN/i3O29lVDdfVATzD7WCgZbdB+sJ3BprSdjd4TaxLrEIHwlnS0ZVj1iUg+cL4RL+Tw==",
|
||||
"version": "0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/docgen/-/docgen-0.11.0.tgz",
|
||||
"integrity": "sha512-0vcZmJkGUpV4HCvhz6zPECal8fvKeuD7QLal3leFilS1QGVH1hPf/cWPxCLN6T8dFugj8aLtQJF/gN5bNFLUoQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"eslint": "^6.3.0",
|
||||
@@ -13510,9 +13510,9 @@
|
||||
"integrity": "sha512-dMjLl60b2DMqObbH1MQZKePgWhsNe49XkKBZ0W5Acl5uVV43SN414i2QfZwRI7dXAqIn8pEWD2+XXQFn9KWxqg=="
|
||||
},
|
||||
"@discordjs/docgen": {
|
||||
"version": "0.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/docgen/-/docgen-0.10.0.tgz",
|
||||
"integrity": "sha512-dtZs7wwTCORwjPutC1WrN/i3O29lVDdfVATzD7WCgZbdB+sJ3BprSdjd4TaxLrEIHwlnS0ZVj1iUg+cL4RL+Tw==",
|
||||
"version": "0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/docgen/-/docgen-0.11.0.tgz",
|
||||
"integrity": "sha512-0vcZmJkGUpV4HCvhz6zPECal8fvKeuD7QLal3leFilS1QGVH1hPf/cWPxCLN6T8dFugj8aLtQJF/gN5bNFLUoQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"eslint": "^6.3.0",
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^15.0.0",
|
||||
"@commitlint/config-angular": "^15.0.0",
|
||||
"@discordjs/docgen": "^0.10.0",
|
||||
"@discordjs/docgen": "^0.11.0",
|
||||
"@favware/npm-deprecate": "^1.0.4",
|
||||
"@types/node": "^16.11.10",
|
||||
"conventional-changelog-cli": "^2.1.1",
|
||||
|
||||
@@ -15,7 +15,7 @@ const ClientPresence = require('../structures/ClientPresence');
|
||||
const GuildPreview = require('../structures/GuildPreview');
|
||||
const GuildTemplate = require('../structures/GuildTemplate');
|
||||
const Invite = require('../structures/Invite');
|
||||
const Sticker = require('../structures/Sticker');
|
||||
const { Sticker } = require('../structures/Sticker');
|
||||
const StickerPack = require('../structures/StickerPack');
|
||||
const VoiceRegion = require('../structures/VoiceRegion');
|
||||
const Webhook = require('../structures/Webhook');
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
const Action = require('./Action');
|
||||
const { deletedChannels } = require('../../structures/Channel');
|
||||
const DMChannel = require('../../structures/DMChannel');
|
||||
const { deletedMessages } = require('../../structures/Message');
|
||||
const { Events } = require('../../util/Constants');
|
||||
|
||||
class ChannelDeleteAction extends Action {
|
||||
@@ -16,10 +18,10 @@ class ChannelDeleteAction extends Action {
|
||||
|
||||
if (channel) {
|
||||
client.channels._remove(channel.id);
|
||||
channel.deleted = true;
|
||||
deletedChannels.add(channel);
|
||||
if (channel.messages && !(channel instanceof DMChannel)) {
|
||||
for (const message of channel.messages.cache.values()) {
|
||||
message.deleted = true;
|
||||
deletedMessages.add(message);
|
||||
}
|
||||
}
|
||||
/**
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const Action = require('./Action');
|
||||
const Channel = require('../../structures/Channel');
|
||||
const { Channel } = require('../../structures/Channel');
|
||||
const { ChannelTypes } = require('../../util/Constants');
|
||||
|
||||
class ChannelUpdateAction extends Action {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const Action = require('./Action');
|
||||
const { deletedGuilds } = require('../../structures/Guild');
|
||||
const { Events } = require('../../util/Constants');
|
||||
|
||||
class GuildDeleteAction extends Action {
|
||||
@@ -37,7 +38,7 @@ class GuildDeleteAction extends Action {
|
||||
|
||||
// Delete guild
|
||||
client.guilds.cache.delete(guild.id);
|
||||
guild.deleted = true;
|
||||
deletedGuilds.add(guild);
|
||||
|
||||
/**
|
||||
* Emitted whenever a guild kicks the client or the guild is deleted/left.
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
'use strict';
|
||||
|
||||
const Action = require('./Action');
|
||||
const { deletedEmojis } = require('../../structures/Emoji');
|
||||
const { Events } = require('../../util/Constants');
|
||||
|
||||
class GuildEmojiDeleteAction extends Action {
|
||||
handle(emoji) {
|
||||
emoji.guild.emojis.cache.delete(emoji.id);
|
||||
emoji.deleted = true;
|
||||
deletedEmojis.add(emoji);
|
||||
/**
|
||||
* Emitted whenever a custom emoji is deleted in a guild.
|
||||
* @event Client#emojiDelete
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const Action = require('./Action');
|
||||
const { deletedGuildMembers } = require('../../structures/GuildMember');
|
||||
const { Events, Status } = require('../../util/Constants');
|
||||
|
||||
class GuildMemberRemoveAction extends Action {
|
||||
@@ -12,7 +13,7 @@ class GuildMemberRemoveAction extends Action {
|
||||
member = this.getMember({ user: data.user }, guild);
|
||||
guild.memberCount--;
|
||||
if (member) {
|
||||
member.deleted = true;
|
||||
deletedGuildMembers.add(member);
|
||||
guild.members.cache.delete(member.id);
|
||||
/**
|
||||
* Emitted whenever a member leaves a guild, or is kicked.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const Action = require('./Action');
|
||||
const { deletedRoles } = require('../../structures/Role');
|
||||
const { Events } = require('../../util/Constants');
|
||||
|
||||
class GuildRoleDeleteAction extends Action {
|
||||
@@ -13,7 +14,7 @@ class GuildRoleDeleteAction extends Action {
|
||||
role = guild.roles.cache.get(data.role_id);
|
||||
if (role) {
|
||||
guild.roles.cache.delete(data.role_id);
|
||||
role.deleted = true;
|
||||
deletedRoles.add(role);
|
||||
/**
|
||||
* Emitted whenever a guild role is deleted.
|
||||
* @event Client#roleDelete
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
'use strict';
|
||||
|
||||
const Action = require('./Action');
|
||||
const { deletedStickers } = require('../../structures/Sticker');
|
||||
const { Events } = require('../../util/Constants');
|
||||
|
||||
class GuildStickerDeleteAction extends Action {
|
||||
handle(sticker) {
|
||||
sticker.guild.stickers.cache.delete(sticker.id);
|
||||
sticker.deleted = true;
|
||||
deletedStickers.add(sticker);
|
||||
/**
|
||||
* Emitted whenever a custom sticker is deleted in a guild.
|
||||
* @event Client#stickerDelete
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const Action = require('./Action');
|
||||
const { deletedMessages } = require('../../structures/Message');
|
||||
const { Events } = require('../../util/Constants');
|
||||
|
||||
class MessageDeleteAction extends Action {
|
||||
@@ -14,7 +15,7 @@ class MessageDeleteAction extends Action {
|
||||
message = this.getMessage(data, channel);
|
||||
if (message) {
|
||||
channel.messages.cache.delete(message.id);
|
||||
message.deleted = true;
|
||||
deletedMessages.add(message);
|
||||
/**
|
||||
* Emitted whenever a message is deleted.
|
||||
* @event Client#messageDelete
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
const { Collection } = require('@discordjs/collection');
|
||||
const Action = require('./Action');
|
||||
const { deletedMessages } = require('../../structures/Message');
|
||||
const { Events } = require('../../util/Constants');
|
||||
|
||||
class MessageDeleteBulkAction extends Action {
|
||||
@@ -24,7 +25,7 @@ class MessageDeleteBulkAction extends Action {
|
||||
false,
|
||||
);
|
||||
if (message) {
|
||||
message.deleted = true;
|
||||
deletedMessages.add(message);
|
||||
messages.set(message.id, message);
|
||||
channel.messages.cache.delete(id);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const Action = require('./Action');
|
||||
const { deletedStageInstances } = require('../../structures/StageInstance');
|
||||
const { Events } = require('../../util/Constants');
|
||||
|
||||
class StageInstanceDeleteAction extends Action {
|
||||
@@ -12,7 +13,7 @@ class StageInstanceDeleteAction extends Action {
|
||||
const stageInstance = channel.guild.stageInstances._add(data);
|
||||
if (stageInstance) {
|
||||
channel.guild.stageInstances.cache.delete(stageInstance.id);
|
||||
stageInstance.deleted = true;
|
||||
deletedStageInstances.add(stageInstance);
|
||||
|
||||
/**
|
||||
* Emitted whenever a stage instance is deleted.
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const Action = require('./Action');
|
||||
const { deletedChannels } = require('../../structures/Channel');
|
||||
const { deletedMessages } = require('../../structures/Message');
|
||||
const { Events } = require('../../util/Constants');
|
||||
|
||||
class ThreadDeleteAction extends Action {
|
||||
@@ -10,9 +12,9 @@ class ThreadDeleteAction extends Action {
|
||||
|
||||
if (thread) {
|
||||
client.channels._remove(thread.id);
|
||||
thread.deleted = true;
|
||||
deletedChannels.add(thread);
|
||||
for (const message of thread.messages.cache.values()) {
|
||||
message.deleted = true;
|
||||
deletedMessages.add(message);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
16
src/index.js
16
src/index.js
@@ -79,7 +79,7 @@ exports.BaseGuildVoiceChannel = require('./structures/BaseGuildVoiceChannel');
|
||||
exports.BaseMessageComponent = require('./structures/BaseMessageComponent');
|
||||
exports.ButtonInteraction = require('./structures/ButtonInteraction');
|
||||
exports.CategoryChannel = require('./structures/CategoryChannel');
|
||||
exports.Channel = require('./structures/Channel');
|
||||
exports.Channel = require('./structures/Channel').Channel;
|
||||
exports.ClientApplication = require('./structures/ClientApplication');
|
||||
exports.ClientPresence = require('./structures/ClientPresence');
|
||||
exports.ClientUser = require('./structures/ClientUser');
|
||||
@@ -88,14 +88,14 @@ exports.CommandInteraction = require('./structures/CommandInteraction');
|
||||
exports.CommandInteractionOptionResolver = require('./structures/CommandInteractionOptionResolver');
|
||||
exports.ContextMenuInteraction = require('./structures/ContextMenuInteraction');
|
||||
exports.DMChannel = require('./structures/DMChannel');
|
||||
exports.Emoji = require('./structures/Emoji');
|
||||
exports.Guild = require('./structures/Guild');
|
||||
exports.Emoji = require('./structures/Emoji').Emoji;
|
||||
exports.Guild = require('./structures/Guild').Guild;
|
||||
exports.GuildAuditLogs = require('./structures/GuildAuditLogs');
|
||||
exports.GuildAuditLogsEntry = require('./structures/GuildAuditLogs').Entry;
|
||||
exports.GuildBan = require('./structures/GuildBan');
|
||||
exports.GuildChannel = require('./structures/GuildChannel');
|
||||
exports.GuildEmoji = require('./structures/GuildEmoji');
|
||||
exports.GuildMember = require('./structures/GuildMember');
|
||||
exports.GuildMember = require('./structures/GuildMember').GuildMember;
|
||||
exports.GuildPreview = require('./structures/GuildPreview');
|
||||
exports.GuildPreviewEmoji = require('./structures/GuildPreviewEmoji');
|
||||
exports.GuildTemplate = require('./structures/GuildTemplate');
|
||||
@@ -107,7 +107,7 @@ exports.InteractionWebhook = require('./structures/InteractionWebhook');
|
||||
exports.Invite = require('./structures/Invite');
|
||||
exports.InviteStageInstance = require('./structures/InviteStageInstance');
|
||||
exports.InviteGuild = require('./structures/InviteGuild');
|
||||
exports.Message = require('./structures/Message');
|
||||
exports.Message = require('./structures/Message').Message;
|
||||
exports.MessageActionRow = require('./structures/MessageActionRow');
|
||||
exports.MessageAttachment = require('./structures/MessageAttachment');
|
||||
exports.MessageButton = require('./structures/MessageButton');
|
||||
@@ -127,11 +127,11 @@ exports.Presence = require('./structures/Presence').Presence;
|
||||
exports.ReactionCollector = require('./structures/ReactionCollector');
|
||||
exports.ReactionEmoji = require('./structures/ReactionEmoji');
|
||||
exports.RichPresenceAssets = require('./structures/Presence').RichPresenceAssets;
|
||||
exports.Role = require('./structures/Role');
|
||||
exports.Role = require('./structures/Role').Role;
|
||||
exports.SelectMenuInteraction = require('./structures/SelectMenuInteraction');
|
||||
exports.StageChannel = require('./structures/StageChannel');
|
||||
exports.StageInstance = require('./structures/StageInstance');
|
||||
exports.Sticker = require('./structures/Sticker');
|
||||
exports.StageInstance = require('./structures/StageInstance').StageInstance;
|
||||
exports.Sticker = require('./structures/Sticker').Sticker;
|
||||
exports.StickerPack = require('./structures/StickerPack');
|
||||
exports.StoreChannel = require('./structures/StoreChannel');
|
||||
exports.Team = require('./structures/Team');
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const CachedManager = require('./CachedManager');
|
||||
const Channel = require('../structures/Channel');
|
||||
const { Channel } = require('../structures/Channel');
|
||||
const { Events, ThreadChannelTypes } = require('../util/Constants');
|
||||
|
||||
let cacheWarningEmitted = false;
|
||||
|
||||
@@ -4,7 +4,7 @@ const { Collection } = require('@discordjs/collection');
|
||||
const CachedManager = require('./CachedManager');
|
||||
const { TypeError, Error } = require('../errors');
|
||||
const GuildBan = require('../structures/GuildBan');
|
||||
const GuildMember = require('../structures/GuildMember');
|
||||
const { GuildMember } = require('../structures/GuildMember');
|
||||
|
||||
/**
|
||||
* Manages API methods for GuildBans and stores their cache.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
const { Collection } = require('@discordjs/collection');
|
||||
const DataManager = require('./DataManager');
|
||||
const { TypeError } = require('../errors');
|
||||
const Role = require('../structures/Role');
|
||||
const { Role } = require('../structures/Role');
|
||||
|
||||
/**
|
||||
* Manages API methods for roles belonging to emojis and stores their cache.
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
const { Collection } = require('@discordjs/collection');
|
||||
const CachedManager = require('./CachedManager');
|
||||
const Guild = require('../structures/Guild');
|
||||
const { Guild } = require('../structures/Guild');
|
||||
const GuildChannel = require('../structures/GuildChannel');
|
||||
const GuildEmoji = require('../structures/GuildEmoji');
|
||||
const GuildMember = require('../structures/GuildMember');
|
||||
const { GuildMember } = require('../structures/GuildMember');
|
||||
const Invite = require('../structures/Invite');
|
||||
const OAuth2Guild = require('../structures/OAuth2Guild');
|
||||
const Role = require('../structures/Role');
|
||||
const { Role } = require('../structures/Role');
|
||||
const {
|
||||
ChannelTypes,
|
||||
Events,
|
||||
|
||||
@@ -4,8 +4,8 @@ const { Collection } = require('@discordjs/collection');
|
||||
const CachedManager = require('./CachedManager');
|
||||
const { Error, TypeError, RangeError } = require('../errors');
|
||||
const BaseGuildVoiceChannel = require('../structures/BaseGuildVoiceChannel');
|
||||
const GuildMember = require('../structures/GuildMember');
|
||||
const Role = require('../structures/Role');
|
||||
const { GuildMember } = require('../structures/GuildMember');
|
||||
const { Role } = require('../structures/Role');
|
||||
const { Events, Opcodes } = require('../util/Constants');
|
||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
const { Collection } = require('@discordjs/collection');
|
||||
const DataManager = require('./DataManager');
|
||||
const { TypeError } = require('../errors');
|
||||
const Role = require('../structures/Role');
|
||||
const { Role } = require('../structures/Role');
|
||||
|
||||
/**
|
||||
* Manages API methods for roles of a GuildMember and stores their cache.
|
||||
|
||||
@@ -4,7 +4,7 @@ const { Collection } = require('@discordjs/collection');
|
||||
const CachedManager = require('./CachedManager');
|
||||
const { TypeError } = require('../errors');
|
||||
const MessagePayload = require('../structures/MessagePayload');
|
||||
const Sticker = require('../structures/Sticker');
|
||||
const { Sticker } = require('../structures/Sticker');
|
||||
|
||||
/**
|
||||
* Manages API methods for Guild Stickers and stores their cache.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
const { Collection } = require('@discordjs/collection');
|
||||
const CachedManager = require('./CachedManager');
|
||||
const { TypeError } = require('../errors');
|
||||
const Message = require('../structures/Message');
|
||||
const { Message } = require('../structures/Message');
|
||||
const MessagePayload = require('../structures/MessagePayload');
|
||||
const Util = require('../util/Util');
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ const { Collection } = require('@discordjs/collection');
|
||||
const CachedManager = require('./CachedManager');
|
||||
const { TypeError } = require('../errors');
|
||||
const PermissionOverwrites = require('../structures/PermissionOverwrites');
|
||||
const Role = require('../structures/Role');
|
||||
const { Role } = require('../structures/Role');
|
||||
const { OverwriteTypes } = require('../util/Constants');
|
||||
|
||||
let cacheWarningEmitted = false;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
const { Collection } = require('@discordjs/collection');
|
||||
const CachedManager = require('./CachedManager');
|
||||
const { TypeError } = require('../errors');
|
||||
const Role = require('../structures/Role');
|
||||
const { Role } = require('../structures/Role');
|
||||
const DataResolver = require('../util/DataResolver');
|
||||
const Permissions = require('../util/Permissions');
|
||||
const { resolveColor, setPosition } = require('../util/Util');
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
const CachedManager = require('./CachedManager');
|
||||
const { TypeError, Error } = require('../errors');
|
||||
const StageInstance = require('../structures/StageInstance');
|
||||
const { StageInstance } = require('../structures/StageInstance');
|
||||
const { PrivacyLevels } = require('../util/Constants');
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const CachedManager = require('./CachedManager');
|
||||
const GuildMember = require('../structures/GuildMember');
|
||||
const Message = require('../structures/Message');
|
||||
const { GuildMember } = require('../structures/GuildMember');
|
||||
const { Message } = require('../structures/Message');
|
||||
const ThreadMember = require('../structures/ThreadMember');
|
||||
const User = require('../structures/User');
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const Emoji = require('./Emoji');
|
||||
const { Emoji } = require('./Emoji');
|
||||
|
||||
/**
|
||||
* Parent class for {@link GuildEmoji} and {@link GuildPreviewEmoji}.
|
||||
|
||||
@@ -12,6 +12,13 @@ let VoiceChannel;
|
||||
const { ChannelTypes, ThreadChannelTypes, VoiceBasedChannelTypes } = require('../util/Constants');
|
||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||
|
||||
/**
|
||||
* @type {WeakSet<Channel>}
|
||||
* @private
|
||||
* @internal
|
||||
*/
|
||||
const deletedChannels = new WeakSet();
|
||||
|
||||
/**
|
||||
* Represents any channel on Discord.
|
||||
* @extends {Base}
|
||||
@@ -28,12 +35,6 @@ class Channel extends Base {
|
||||
*/
|
||||
this.type = type ?? 'UNKNOWN';
|
||||
|
||||
/**
|
||||
* Whether the channel has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
this.deleted = false;
|
||||
|
||||
if (data && immediatePatch) this._patch(data);
|
||||
}
|
||||
|
||||
@@ -63,6 +64,19 @@ class Channel extends Base {
|
||||
return new Date(this.createdTimestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not the structure has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
get deleted() {
|
||||
return deletedChannels.has(this);
|
||||
}
|
||||
|
||||
set deleted(value) {
|
||||
if (value) deletedChannels.add(this);
|
||||
else deletedChannels.delete(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether this Channel is a partial
|
||||
* <info>This is always false outside of DM channels.</info>
|
||||
@@ -197,7 +211,8 @@ class Channel extends Base {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Channel;
|
||||
exports.Channel = Channel;
|
||||
exports.deletedChannels = deletedChannels;
|
||||
|
||||
/**
|
||||
* @external APIChannel
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const Channel = require('./Channel');
|
||||
const { Channel } = require('./Channel');
|
||||
const TextBasedChannel = require('./interfaces/TextBasedChannel');
|
||||
const MessageManager = require('../managers/MessageManager');
|
||||
|
||||
|
||||
@@ -3,6 +3,13 @@
|
||||
const Base = require('./Base');
|
||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||
|
||||
/**
|
||||
* @type {WeakSet<Emoji>}
|
||||
* @private
|
||||
* @internal
|
||||
*/
|
||||
const deletedEmojis = new WeakSet();
|
||||
|
||||
/**
|
||||
* Represents raw emoji data from the API
|
||||
* @typedef {APIEmoji} RawEmoji
|
||||
@@ -35,12 +42,19 @@ class Emoji extends Base {
|
||||
* @type {?Snowflake}
|
||||
*/
|
||||
this.id = emoji.id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether this emoji has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
this.deleted = false;
|
||||
/**
|
||||
* Whether or not the structure has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
get deleted() {
|
||||
return deletedEmojis.has(this);
|
||||
}
|
||||
|
||||
set deleted(value) {
|
||||
if (value) deletedEmojis.add(this);
|
||||
else deletedEmojis.delete(this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -106,7 +120,8 @@ class Emoji extends Base {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Emoji;
|
||||
exports.Emoji = Emoji;
|
||||
exports.deletedEmojis = deletedEmojis;
|
||||
|
||||
/**
|
||||
* @external APIEmoji
|
||||
|
||||
@@ -37,6 +37,13 @@ const Util = require('../util/Util');
|
||||
let deprecationEmittedForSetChannelPositions = false;
|
||||
let deprecationEmittedForSetRolePositions = false;
|
||||
|
||||
/**
|
||||
* @type {WeakSet<Guild>}
|
||||
* @private
|
||||
* @internal
|
||||
*/
|
||||
const deletedGuilds = new WeakSet();
|
||||
|
||||
/**
|
||||
* Represents a guild (or a server) on Discord.
|
||||
* <info>It's recommended to see if a guild is available before performing operations or reading data from it. You can
|
||||
@@ -101,12 +108,6 @@ class Guild extends AnonymousGuild {
|
||||
*/
|
||||
this.invites = new GuildInviteManager(this);
|
||||
|
||||
/**
|
||||
* Whether the bot has been removed from the guild
|
||||
* @type {boolean}
|
||||
*/
|
||||
this.deleted = false;
|
||||
|
||||
if (!data) return;
|
||||
if (data.unavailable) {
|
||||
/**
|
||||
@@ -126,6 +127,19 @@ class Guild extends AnonymousGuild {
|
||||
this.shardId = data.shardId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not the structure has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
get deleted() {
|
||||
return deletedGuilds.has(this);
|
||||
}
|
||||
|
||||
set deleted(value) {
|
||||
if (value) deletedGuilds.add(this);
|
||||
else deletedGuilds.delete(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* The Shard this Guild belongs to.
|
||||
* @type {WebSocketShard}
|
||||
@@ -1399,7 +1413,8 @@ class Guild extends AnonymousGuild {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Guild;
|
||||
exports.Guild = Guild;
|
||||
exports.deletedGuilds = deletedGuilds;
|
||||
|
||||
/**
|
||||
* @external APIGuild
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
const { Collection } = require('@discordjs/collection');
|
||||
const Integration = require('./Integration');
|
||||
const StageInstance = require('./StageInstance');
|
||||
const Sticker = require('./Sticker');
|
||||
const { StageInstance } = require('./StageInstance');
|
||||
const { Sticker } = require('./Sticker');
|
||||
const Webhook = require('./Webhook');
|
||||
const { OverwriteTypes, PartialTypes } = require('../util/Constants');
|
||||
const Permissions = require('../util/Permissions');
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const Channel = require('./Channel');
|
||||
const { Channel } = require('./Channel');
|
||||
const PermissionOverwrites = require('./PermissionOverwrites');
|
||||
const { Error } = require('../errors');
|
||||
const PermissionOverwriteManager = require('../managers/PermissionOverwriteManager');
|
||||
|
||||
@@ -7,6 +7,13 @@ const { Error } = require('../errors');
|
||||
const GuildMemberRoleManager = require('../managers/GuildMemberRoleManager');
|
||||
const Permissions = require('../util/Permissions');
|
||||
|
||||
/**
|
||||
* @type {WeakSet<GuildMember>}
|
||||
* @private
|
||||
* @internal
|
||||
*/
|
||||
const deletedGuildMembers = new WeakSet();
|
||||
|
||||
/**
|
||||
* Represents a member of a guild on Discord.
|
||||
* @implements {TextBasedChannel}
|
||||
@@ -34,12 +41,6 @@ class GuildMember extends Base {
|
||||
*/
|
||||
this.premiumSinceTimestamp = null;
|
||||
|
||||
/**
|
||||
* Whether the member has been removed from the guild
|
||||
* @type {boolean}
|
||||
*/
|
||||
this.deleted = false;
|
||||
|
||||
/**
|
||||
* The nickname of this member, if they have one
|
||||
* @type {?string}
|
||||
@@ -89,6 +90,19 @@ class GuildMember extends Base {
|
||||
return clone;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not the structure has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
get deleted() {
|
||||
return deletedGuildMembers.has(this);
|
||||
}
|
||||
|
||||
set deleted(value) {
|
||||
if (value) deletedGuildMembers.add(this);
|
||||
else deletedGuildMembers.delete(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether this GuildMember is a partial
|
||||
* @type {boolean}
|
||||
@@ -384,7 +398,8 @@ class GuildMember extends Base {
|
||||
|
||||
TextBasedChannel.applyToClass(GuildMember);
|
||||
|
||||
module.exports = GuildMember;
|
||||
exports.GuildMember = GuildMember;
|
||||
exports.deletedGuildMembers = deletedGuildMembers;
|
||||
|
||||
/**
|
||||
* @external APIGuildMember
|
||||
|
||||
@@ -10,7 +10,7 @@ const Embed = require('./MessageEmbed');
|
||||
const Mentions = require('./MessageMentions');
|
||||
const MessagePayload = require('./MessagePayload');
|
||||
const ReactionCollector = require('./ReactionCollector');
|
||||
const Sticker = require('./Sticker');
|
||||
const { Sticker } = require('./Sticker');
|
||||
const { Error } = require('../errors');
|
||||
const ReactionManager = require('../managers/ReactionManager');
|
||||
const { InteractionTypes, MessageTypes, SystemMessageTypes } = require('../util/Constants');
|
||||
@@ -19,6 +19,13 @@ const Permissions = require('../util/Permissions');
|
||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||
const Util = require('../util/Util');
|
||||
|
||||
/**
|
||||
* @type {WeakSet<Message>}
|
||||
* @private
|
||||
* @internal
|
||||
*/
|
||||
const deletedMessages = new WeakSet();
|
||||
|
||||
/**
|
||||
* Represents a message on Discord.
|
||||
* @extends {Base}
|
||||
@@ -39,12 +46,6 @@ class Message extends Base {
|
||||
*/
|
||||
this.guildId = data.guild_id ?? this.channel?.guild?.id ?? null;
|
||||
|
||||
/**
|
||||
* Whether this message has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
this.deleted = false;
|
||||
|
||||
this._patch(data);
|
||||
}
|
||||
|
||||
@@ -348,6 +349,19 @@ class Message extends Base {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not the structure has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
get deleted() {
|
||||
return deletedMessages.has(this);
|
||||
}
|
||||
|
||||
set deleted(value) {
|
||||
if (value) deletedMessages.add(this);
|
||||
else deletedMessages.delete(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* The channel that the message was sent in
|
||||
* @type {TextChannel|DMChannel|NewsChannel|ThreadChannel}
|
||||
@@ -942,4 +956,5 @@ class Message extends Base {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Message;
|
||||
exports.Message = Message;
|
||||
exports.deletedMessages = deletedMessages;
|
||||
|
||||
@@ -185,7 +185,7 @@ class MessageMentions {
|
||||
*/
|
||||
has(data, { ignoreDirect = false, ignoreRoles = false, ignoreEveryone = false } = {}) {
|
||||
if (!ignoreEveryone && this.everyone) return true;
|
||||
const GuildMember = require('./GuildMember');
|
||||
const { GuildMember } = require('./GuildMember');
|
||||
if (!ignoreRoles && data instanceof GuildMember) {
|
||||
for (const role of this.roles.values()) if (data.roles.cache.has(role.id)) return true;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ class MessagePayload {
|
||||
*/
|
||||
get isUser() {
|
||||
const User = require('./User');
|
||||
const GuildMember = require('./GuildMember');
|
||||
const { GuildMember } = require('./GuildMember');
|
||||
return this.target instanceof User || this.target instanceof GuildMember;
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ class MessagePayload {
|
||||
* @readonly
|
||||
*/
|
||||
get isMessage() {
|
||||
const Message = require('./Message');
|
||||
const { Message } = require('./Message');
|
||||
return this.target instanceof Message;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const Channel = require('./Channel');
|
||||
const { Channel } = require('./Channel');
|
||||
const { Error } = require('../errors');
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const Base = require('./Base');
|
||||
const Role = require('./Role');
|
||||
const { Role } = require('./Role');
|
||||
const { TypeError } = require('../errors');
|
||||
const { OverwriteTypes } = require('../util/Constants');
|
||||
const Permissions = require('../util/Permissions');
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const Base = require('./Base');
|
||||
const Emoji = require('./Emoji');
|
||||
const { Emoji } = require('./Emoji');
|
||||
const ActivityFlags = require('../util/ActivityFlags');
|
||||
const { ActivityTypes } = require('../util/Constants');
|
||||
const Util = require('../util/Util');
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const Emoji = require('./Emoji');
|
||||
const { Emoji } = require('./Emoji');
|
||||
const Util = require('../util/Util');
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,6 +6,13 @@ const Permissions = require('../util/Permissions');
|
||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||
const Util = require('../util/Util');
|
||||
|
||||
/**
|
||||
* @type {WeakSet<Role>}
|
||||
* @private
|
||||
* @internal
|
||||
*/
|
||||
const deletedRoles = new WeakSet();
|
||||
|
||||
/**
|
||||
* Represents a role on Discord.
|
||||
* @extends {Base}
|
||||
@@ -32,12 +39,6 @@ class Role extends Base {
|
||||
*/
|
||||
this.unicodeEmoji = null;
|
||||
|
||||
/**
|
||||
* Whether the role has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
this.deleted = false;
|
||||
|
||||
if (data) this._patch(data);
|
||||
}
|
||||
|
||||
@@ -146,6 +147,19 @@ class Role extends Base {
|
||||
return new Date(this.createdTimestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not the role has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
get deleted() {
|
||||
return deletedRoles.has(this);
|
||||
}
|
||||
|
||||
set deleted(value) {
|
||||
if (value) deletedRoles.add(this);
|
||||
else deletedRoles.delete(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* The hexadecimal version of the role color, with a leading hashtag
|
||||
* @type {string}
|
||||
@@ -462,7 +476,8 @@ class Role extends Base {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Role;
|
||||
exports.Role = Role;
|
||||
exports.deletedRoles = deletedRoles;
|
||||
|
||||
/**
|
||||
* @external APIRole
|
||||
|
||||
@@ -4,6 +4,13 @@ const Base = require('./Base');
|
||||
const { PrivacyLevels } = require('../util/Constants');
|
||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||
|
||||
/**
|
||||
* @type {WeakSet<StageInstance>}
|
||||
* @private
|
||||
* @internal
|
||||
*/
|
||||
const deletedStageInstances = new WeakSet();
|
||||
|
||||
/**
|
||||
* Represents a stage instance.
|
||||
* @extends {Base}
|
||||
@@ -18,12 +25,6 @@ class StageInstance extends Base {
|
||||
*/
|
||||
this.id = data.id;
|
||||
|
||||
/**
|
||||
* Whether the stage instance has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
this.deleted = false;
|
||||
|
||||
this._patch(data);
|
||||
}
|
||||
|
||||
@@ -80,6 +81,19 @@ class StageInstance extends Base {
|
||||
return this.client.channels.resolve(this.channelId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not the stage instance has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
get deleted() {
|
||||
return deletedStageInstances.has(this);
|
||||
}
|
||||
|
||||
set deleted(value) {
|
||||
if (value) deletedStageInstances.add(this);
|
||||
else deletedStageInstances.delete(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* The guild this stage instance belongs to
|
||||
* @type {?Guild}
|
||||
@@ -115,7 +129,7 @@ class StageInstance extends Base {
|
||||
async delete() {
|
||||
await this.guild.stageInstances.delete(this.channelId);
|
||||
const clone = this._clone();
|
||||
clone.deleted = true;
|
||||
deletedStageInstances.add(clone);
|
||||
return clone;
|
||||
}
|
||||
|
||||
@@ -152,4 +166,5 @@ class StageInstance extends Base {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = StageInstance;
|
||||
exports.StageInstance = StageInstance;
|
||||
exports.deletedStageInstances = deletedStageInstances;
|
||||
|
||||
@@ -4,6 +4,13 @@ const Base = require('./Base');
|
||||
const { StickerFormatTypes, StickerTypes } = require('../util/Constants');
|
||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||
|
||||
/**
|
||||
* @type {WeakSet<StageInstance>}
|
||||
* @private
|
||||
* @internal
|
||||
*/
|
||||
const deletedStickers = new WeakSet();
|
||||
|
||||
/**
|
||||
* Represents a Sticker.
|
||||
* @extends {Base}
|
||||
@@ -137,6 +144,19 @@ class Sticker extends Base {
|
||||
return new Date(this.createdTimestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not the stage instance has been deleted
|
||||
* @type {boolean}
|
||||
*/
|
||||
get deleted() {
|
||||
return deletedStickers.has(this);
|
||||
}
|
||||
|
||||
set deleted(value) {
|
||||
if (value) deletedStickers.add(this);
|
||||
else deletedStickers.delete(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether this sticker is partial
|
||||
* @type {boolean}
|
||||
@@ -264,7 +284,8 @@ class Sticker extends Base {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Sticker;
|
||||
exports.Sticker = Sticker;
|
||||
exports.deletedStickers = deletedStickers;
|
||||
|
||||
/**
|
||||
* @external APISticker
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
const { Collection } = require('@discordjs/collection');
|
||||
const Base = require('./Base');
|
||||
const Sticker = require('./Sticker');
|
||||
const { Sticker } = require('./Sticker');
|
||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const Channel = require('./Channel');
|
||||
const { Channel } = require('./Channel');
|
||||
const TextBasedChannel = require('./interfaces/TextBasedChannel');
|
||||
const { RangeError } = require('../errors');
|
||||
const MessageManager = require('../managers/MessageManager');
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const Base = require('./Base');
|
||||
const Emoji = require('./Emoji');
|
||||
const { Emoji } = require('./Emoji');
|
||||
|
||||
/**
|
||||
* Represents a channel link in a guild's welcome screen.
|
||||
|
||||
@@ -156,7 +156,7 @@ class TextBasedChannel {
|
||||
*/
|
||||
async send(options) {
|
||||
const User = require('../User');
|
||||
const GuildMember = require('../GuildMember');
|
||||
const { GuildMember } = require('../GuildMember');
|
||||
|
||||
if (this instanceof User || this instanceof GuildMember) {
|
||||
const dm = await this.createDM();
|
||||
|
||||
31
typings/index.d.ts
vendored
31
typings/index.d.ts
vendored
@@ -490,7 +490,9 @@ export abstract class Channel extends Base {
|
||||
public constructor(client: Client, data?: RawChannelData, immediatePatch?: boolean);
|
||||
public readonly createdAt: Date;
|
||||
public readonly createdTimestamp: number;
|
||||
public deleted: boolean;
|
||||
public get deleted(): boolean;
|
||||
/** @deprecated Will be removed in v14 */
|
||||
public set deleted(value: boolean);
|
||||
public id: Snowflake;
|
||||
public readonly partial: false;
|
||||
public type: keyof typeof ChannelTypes;
|
||||
@@ -825,7 +827,9 @@ export class Emoji extends Base {
|
||||
public animated: boolean | null;
|
||||
public readonly createdAt: Date | null;
|
||||
public readonly createdTimestamp: number | null;
|
||||
public deleted: boolean;
|
||||
public get deleted(): boolean;
|
||||
/** @deprecated Will be removed in v14 */
|
||||
public set deleted(value: boolean);
|
||||
public id: Snowflake | null;
|
||||
public name: string | null;
|
||||
public readonly identifier: string;
|
||||
@@ -850,7 +854,9 @@ export class Guild extends AnonymousGuild {
|
||||
public channels: GuildChannelManager;
|
||||
public commands: GuildApplicationCommandManager;
|
||||
public defaultMessageNotifications: DefaultMessageNotificationLevel | number;
|
||||
public deleted: boolean;
|
||||
public get deleted(): boolean;
|
||||
/** @deprecated Will be removed in v14 */
|
||||
public set deleted(value: boolean);
|
||||
public discoverySplash: string | null;
|
||||
public emojis: GuildEmojiManager;
|
||||
public explicitContentFilter: ExplicitContentFilterLevel;
|
||||
@@ -1054,7 +1060,9 @@ export class GuildMember extends PartialTextBasedChannel(Base) {
|
||||
private constructor(client: Client, data: RawGuildMemberData, guild: Guild);
|
||||
public avatar: string | null;
|
||||
public readonly bannable: boolean;
|
||||
public deleted: boolean;
|
||||
public get deleted(): boolean;
|
||||
/** @deprecated Will be removed in v14 */
|
||||
public set deleted(value: boolean);
|
||||
public readonly displayColor: number;
|
||||
public readonly displayHexColor: HexColorString;
|
||||
public readonly displayName: string;
|
||||
@@ -1392,7 +1400,9 @@ export class Message<Cached extends boolean = boolean> extends Base {
|
||||
public createdTimestamp: number;
|
||||
public readonly crosspostable: boolean;
|
||||
public readonly deletable: boolean;
|
||||
public deleted: boolean;
|
||||
public get deleted(): boolean;
|
||||
/** @deprecated Will be removed in v14 */
|
||||
public set deleted(value: boolean);
|
||||
public readonly editable: boolean;
|
||||
public readonly editedAt: Date | null;
|
||||
public editedTimestamp: number | null;
|
||||
@@ -1821,7 +1831,9 @@ export class Role extends Base {
|
||||
public color: number;
|
||||
public readonly createdAt: Date;
|
||||
public readonly createdTimestamp: number;
|
||||
public deleted: boolean;
|
||||
public get deleted(): boolean;
|
||||
/** @deprecated Will be removed in v14 */
|
||||
public set deleted(value: boolean);
|
||||
public readonly editable: boolean;
|
||||
public guild: Guild;
|
||||
public readonly hexColor: HexColorString;
|
||||
@@ -1999,7 +2011,9 @@ export class StageChannel extends BaseGuildVoiceChannel {
|
||||
export class StageInstance extends Base {
|
||||
private constructor(client: Client, data: RawStageInstanceData, channel: StageChannel);
|
||||
public id: Snowflake;
|
||||
public deleted: boolean;
|
||||
public get deleted(): boolean;
|
||||
/** @deprecated Will be removed in v14 */
|
||||
public set deleted(value: boolean);
|
||||
public guildId: Snowflake;
|
||||
public channelId: Snowflake;
|
||||
public topic: string;
|
||||
@@ -2016,6 +2030,9 @@ export class StageInstance extends Base {
|
||||
|
||||
export class Sticker extends Base {
|
||||
private constructor(client: Client, data: RawStickerData);
|
||||
public get deleted(): boolean;
|
||||
/** @deprecated Will be removed in v14 */
|
||||
public set deleted(value: boolean);
|
||||
public readonly createdTimestamp: number;
|
||||
public readonly createdAt: Date;
|
||||
public available: boolean | null;
|
||||
|
||||
@@ -83,6 +83,8 @@ import {
|
||||
GuildAuditLogsEntry,
|
||||
GuildAuditLogs,
|
||||
StageInstance,
|
||||
Sticker,
|
||||
Emoji,
|
||||
} from '.';
|
||||
import type { ApplicationCommandOptionTypes } from './enums';
|
||||
import { expectAssignable, expectDeprecated, expectNotAssignable, expectNotType, expectType } from 'tsd';
|
||||
@@ -749,6 +751,7 @@ declare const newsChannel: NewsChannel;
|
||||
declare const textChannel: TextChannel;
|
||||
declare const storeChannel: StoreChannel;
|
||||
declare const categoryChannel: CategoryChannel;
|
||||
declare const voiceChannel: VoiceChannel;
|
||||
declare const guild: Guild;
|
||||
declare const user: User;
|
||||
declare const guildMember: GuildMember;
|
||||
@@ -896,6 +899,25 @@ client.on('messageReactionAdd', async reaction => {
|
||||
expectType<string>(reaction.message.content);
|
||||
});
|
||||
|
||||
// Test .deleted deprecations
|
||||
declare const emoji: Emoji;
|
||||
declare const message: Message;
|
||||
declare const role: Role;
|
||||
declare const stageInstance: StageInstance;
|
||||
declare const sticker: Sticker;
|
||||
expectDeprecated((dmChannel.deleted = true));
|
||||
expectDeprecated((textChannel.deleted = true));
|
||||
expectDeprecated((voiceChannel.deleted = true));
|
||||
expectDeprecated((newsChannel.deleted = true));
|
||||
expectDeprecated((threadChannel.deleted = true));
|
||||
expectDeprecated((emoji.deleted = true));
|
||||
expectDeprecated((guildMember.deleted = true));
|
||||
expectDeprecated((guild.deleted = true));
|
||||
expectDeprecated((message.deleted = true));
|
||||
expectDeprecated((role.deleted = true));
|
||||
expectDeprecated((stageInstance.deleted = true));
|
||||
expectDeprecated((sticker.deleted = true));
|
||||
|
||||
// Test interactions
|
||||
declare const interaction: Interaction;
|
||||
declare const booleanValue: boolean;
|
||||
|
||||
Reference in New Issue
Block a user