From a616f0f254451ce4f5eeb5f7becfac61ea98892e Mon Sep 17 00:00:00 2001 From: Almeida Date: Wed, 5 May 2021 19:13:01 +0100 Subject: [PATCH] made the nickname argument not required on nickname command check if user has a nickname before resetting on nickname reset --- .../plugins/Utility/commands/NicknameCmd.ts | 29 ++++++++++++------- .../Utility/commands/NicknameResetCmd.ts | 9 ++++-- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/backend/src/plugins/Utility/commands/NicknameCmd.ts b/backend/src/plugins/Utility/commands/NicknameCmd.ts index 3dc803a2..a5a637e3 100644 --- a/backend/src/plugins/Utility/commands/NicknameCmd.ts +++ b/backend/src/plugins/Utility/commands/NicknameCmd.ts @@ -11,7 +11,7 @@ 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 }) { @@ -20,8 +20,13 @@ export const NicknameCmd = utilityCmd({ return; } - const nicknameLength = [...args.nickname].length; - if (nicknameLength < 2 || nicknameLength > 32) { + if (!args.nickname && !args.member.nickname) { + msg.channel.send(errorMessage("User does not have a nickname")); + return; + } + + const nicknameLength = args.nickname && [...args.nickname].length; + if (typeof nicknameLength === "number" && (nicknameLength < 2 || nicknameLength > 32)) { msg.channel.send(errorMessage("Nickname must be between 2 and 32 characters long")); return; } @@ -29,18 +34,20 @@ 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; } - sendSuccessMessage( - pluginData, - msg.channel, - `Changed nickname of <@!${args.member.id}> from **${oldNickname}** to **${args.nickname}**`, - ); + if (args.nickname) { + sendSuccessMessage( + pluginData, + msg.channel, + `Changed nickname of <@!${args.member.id}> from **${oldNickname}** to **${args.nickname}**`, + ); + } else { + sendSuccessMessage(pluginData, msg.channel, `The nickname of <@!${args.member.id}> has been reset`); + } }, }); diff --git a/backend/src/plugins/Utility/commands/NicknameResetCmd.ts b/backend/src/plugins/Utility/commands/NicknameResetCmd.ts index 91894a40..06a62b96 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(""); } catch { msg.channel.send(errorMessage("Failed to reset nickname")); return;