Some improvements to 'unknown member' error reporting
This commit is contained in:
parent
a1aa995a7a
commit
08d49ad477
2 changed files with 16 additions and 3 deletions
|
@ -496,8 +496,13 @@ export class ModActionsPlugin extends ZeppelinPlugin<TConfigSchema> {
|
||||||
ppId: pp && pp.id,
|
ppId: pp && pp.id,
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.error(`Failed to mute user ${user.id}: ${e.stack}`);
|
if (e instanceof DiscordRESTError && e.code === 10007) {
|
||||||
msg.channel.createMessage(errorMessage("Could not mute the user"));
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ import {
|
||||||
UnknownUser,
|
UnknownUser,
|
||||||
} from "../utils";
|
} from "../utils";
|
||||||
import { Member, User } from "eris";
|
import { Member, User } from "eris";
|
||||||
|
import DiscordRESTError from "eris/lib/errors/DiscordRESTError"; // tslint:disable-line
|
||||||
import { performance } from "perf_hooks";
|
import { performance } from "perf_hooks";
|
||||||
import { decodeAndValidateStrict, StrictValidationError } from "../validatorUtils";
|
import { decodeAndValidateStrict, StrictValidationError } from "../validatorUtils";
|
||||||
import { mergeConfig } from "knub/dist/configUtils";
|
import { mergeConfig } from "knub/dist/configUtils";
|
||||||
|
@ -190,7 +191,14 @@ export class ZeppelinPlugin<TConfig extends {} = IBasePluginConfig> extends Plug
|
||||||
let member;
|
let member;
|
||||||
if (forceFresh) {
|
if (forceFresh) {
|
||||||
const userId = await resolveUserId(this.bot, memberResolvable);
|
const userId = await resolveUserId(this.bot, memberResolvable);
|
||||||
member = userId && (await this.bot.getRESTGuildMember(this.guild.id, userId));
|
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;
|
if (member) member.id = member.user.id;
|
||||||
} else {
|
} else {
|
||||||
member = await resolveMember(this.bot, this.guild, memberResolvable);
|
member = await resolveMember(this.bot, this.guild, memberResolvable);
|
||||||
|
|
Loading…
Add table
Reference in a new issue