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