Don't infinitely attempt to resolve a deleted channel/missing user

This commit is contained in:
nolan 2021-06-21 14:20:05 -07:00
parent a0f62fa4d5
commit bd2c52cb2b

View File

@ -356,24 +356,23 @@ class ModerationManager {
target = guild.channels.resolve(i.target); target = guild.channels.resolve(i.target);
} }
if(!target) { if(target) {
this.client.logger.debug(`User left the guild or channel was deleted? Unable to resolve target.\n${i}`); const executor = guild.members.resolve(i.executor) || guild.me;
return false;
await new undoClass(this.client, {
type: undoClass.type,
reason: `AUTO-${Constant.Opposites[i.type]} from Case ${i.case}`,
channel: guild.channels.resolve(i.channel),
hyperlink: i.modLogMessage && i.modLogChannel ? `https://discord.com/channels/${i.guild}/${i.modLogChannel}/${i.modLogMessage}` : null,
data: i.data,
guild,
target,
executor
}).execute();
} else {
//Target left guild or channel was removed from the guild. What should happen in this situation?
} }
const executor = guild.members.resolve(i.executor) || guild.me;
await new undoClass(this.client, {
type: undoClass.type,
reason: `AUTO-${Constant.Opposites[i.type]} from Case ${i.case}`,
channel: guild.channels.resolve(i.channel),
hyperlink: i.modLogMessage && i.modLogChannel ? `https://discord.com/channels/${i.guild}/${i.modLogChannel}/${i.modLogMessage}` : null,
data: i.data,
guild,
target,
executor
}).execute();
//TODO: Log this, should never error... hopefully. //TODO: Log this, should never error... hopefully.
await this.client.storageManager.mongodb.infractions.updateOne( await this.client.storageManager.mongodb.infractions.updateOne(
{ _id: i._id }, { _id: i._id },