Make the nickname argument optional on nickname command (#199)

This commit is contained in:
Almeida 2021-08-14 15:28:22 +01:00 committed by GitHub
parent 5e75ec8efe
commit e8d1d0fdcc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 8 deletions

View file

@ -1,6 +1,7 @@
import { Util } from "discord.js";
import { commandTypeHelpers as ct } from "../../../commandTypes";
import { canActOn, sendSuccessMessage } from "../../../pluginUtils";
import { errorMessage } from "../../../utils";
import { canActOn, sendSuccessMessage } from "../../../pluginUtils";
import { utilityCmd } from "../types";
export const NicknameCmd = utilityCmd({
@ -11,10 +12,19 @@ export const NicknameCmd = utilityCmd({
signature: {
member: ct.resolvedMember(),
nickname: ct.string({ catchAll: true }),
nickname: ct.string({ catchAll: true, required: false }),
},
async run({ message: msg, args, pluginData }) {
if (!args.nickname) {
if (!args.member.nickname) {
msg.channel.send(`<@!${args.member.id}> does not have a nickname`);
} else {
msg.channel.send(`The nickname of <@!${args.member.id}> is **${Util.escapeBold(args.nickname)}**`);
}
return;
}
if (msg.member.id !== args.member.id && !canActOn(pluginData, msg.member, args.member)) {
msg.channel.send(errorMessage("Cannot change nickname: insufficient permissions"));
return;
@ -29,9 +39,7 @@ export const NicknameCmd = utilityCmd({
const oldNickname = args.member.nickname || "<none>";
try {
await args.member.edit({
nick: args.nickname,
});
await args.member.setNickname(args.nickname ?? null);
} catch {
msg.channel.send(errorMessage("Failed to change nickname"));
return;

View file

@ -19,10 +19,13 @@ export const NicknameResetCmd = utilityCmd({
return;
}
if (!args.member.nickname) {
msg.channel.send(errorMessage("User does not have a nickname"));
return;
}
try {
await args.member.edit({
nick: "",
});
await args.member.setNickname(null);
} catch {
msg.channel.send(errorMessage("Failed to reset nickname"));
return;