3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-03-15 05:41:51 +00:00

Some improvements to 'unknown member' error reporting

This commit is contained in:
Dragory 2019-08-04 16:51:42 +03:00
parent a1aa995a7a
commit 08d49ad477
2 changed files with 16 additions and 3 deletions

View file

@ -496,8 +496,13 @@ export class ModActionsPlugin extends ZeppelinPlugin<TConfigSchema> {
ppId: pp && pp.id,
});
} catch (e) {
if (e instanceof DiscordRESTError && e.code === 10007) {
msg.channel.createMessage(errorMessage("Could not mute the user: unknown member"));
} else {
logger.error(`Failed to mute user ${user.id}: ${e.stack}`);
msg.channel.createMessage(errorMessage("Could not mute the user"));
}
return;
}

View file

@ -14,6 +14,7 @@ import {
UnknownUser,
} from "../utils";
import { Member, User } from "eris";
import DiscordRESTError from "eris/lib/errors/DiscordRESTError"; // tslint:disable-line
import { performance } from "perf_hooks";
import { decodeAndValidateStrict, StrictValidationError } from "../validatorUtils";
import { mergeConfig } from "knub/dist/configUtils";
@ -190,7 +191,14 @@ export class ZeppelinPlugin<TConfig extends {} = IBasePluginConfig> extends Plug
let member;
if (forceFresh) {
const userId = await resolveUserId(this.bot, memberResolvable);
try {
member = userId && (await this.bot.getRESTGuildMember(this.guild.id, userId));
} catch (e) {
if (!(e instanceof DiscordRESTError)) {
throw e;
}
}
if (member) member.id = member.user.id;
} else {
member = await resolveMember(this.bot, this.guild, memberResolvable);