diff --git a/backend/src/plugins/Utility/commands/NicknameCmd.ts b/backend/src/plugins/Utility/commands/NicknameCmd.ts index 3dc803a2..75f6699d 100644 --- a/backend/src/plugins/Utility/commands/NicknameCmd.ts +++ b/backend/src/plugins/Utility/commands/NicknameCmd.ts @@ -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 || ""; 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; diff --git a/backend/src/plugins/Utility/commands/NicknameResetCmd.ts b/backend/src/plugins/Utility/commands/NicknameResetCmd.ts index 91894a40..f86a33c9 100644 --- a/backend/src/plugins/Utility/commands/NicknameResetCmd.ts +++ b/backend/src/plugins/Utility/commands/NicknameResetCmd.ts @@ -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;