feat: Add "deleted" property to multiple structures. (#2556)

* Add "deleted" property to "Message" structure

* Add "deleted" property to Multiple structures

Structures edited:
- Channel
- Emoji
- Guild
- Guild Member
- Role

* Update "deletable" getter

* Fix ESLint "no-trailing-spaces" errors

* Requested Change: Mark w/ bulkDelete
This commit is contained in:
Braxton
2018-05-28 18:42:51 -04:00
committed by Isabella
parent 27fcb64187
commit f0c4d0e834
13 changed files with 45 additions and 2 deletions

View File

@@ -13,6 +13,7 @@ class ChannelDeleteAction extends Action {
if (channel) {
client.channels.remove(channel.id);
channel.deleted = true;
client.emit(Events.CHANNEL_DELETE, channel);
}

View File

@@ -33,6 +33,7 @@ class GuildDeleteAction extends Action {
// Delete guild
client.guilds.remove(guild.id);
guild.deleted = true;
client.emit(Events.GUILD_DELETE, guild);
this.deleted.set(guild.id, guild);
this.scheduleForDeletion(guild.id);

View File

@@ -4,6 +4,7 @@ const { Events } = require('../../util/Constants');
class GuildEmojiDeleteAction extends Action {
handle(emoji) {
emoji.guild.emojis.remove(emoji.id);
emoji.deleted = true;
this.client.emit(Events.GUILD_EMOJI_DELETE, emoji);
return { emoji };
}

View File

@@ -11,6 +11,7 @@ class GuildMemberRemoveAction extends Action {
guild.memberCount--;
if (member) {
guild.voiceStates.delete(member.id);
member.deleted = true;
guild.members.remove(member.id);
if (client.status === Status.READY) client.emit(Events.GUILD_MEMBER_REMOVE, member);
}

View File

@@ -11,6 +11,7 @@ class GuildRoleDeleteAction extends Action {
role = guild.roles.get(data.role_id);
if (role) {
guild.roles.remove(data.role_id);
role.deleted = true;
client.emit(Events.GUILD_ROLE_DELETE, role);
}
}

View File

@@ -11,6 +11,7 @@ class MessageDeleteAction extends Action {
message = channel.messages.get(data.id);
if (message) {
channel.messages.delete(message.id);
message.deleted = true;
client.emit(Events.MESSAGE_DELETE, message);
}
}

View File

@@ -13,6 +13,7 @@ class MessageDeleteBulkAction extends Action {
for (const id of ids) {
const message = channel.messages.get(id);
if (message) {
message.deleted = true;
messages.set(message.id, message);
channel.messages.delete(id);
}