Discord - 添加到用户昵称然后删除添加的单词

Discord - Add into users nickname then remove added word

我为我的 discord 机器人创建了一个 AFK 命令,但我正在努力弄清楚如何将“[AFK]”添加到当前用户 昵称

下面是我所拥有的,但这采用了用户的不和谐名称 而不是昵称 并向其添加了“[AFK]”。

message.member.setNickname(`[AFK] ${message.author.username}`)

然后我想在 "if afk" 语句触发时从他们的昵称中删除 [AFK] (我已经写了 if 语句)但保留其余部分。

提前致谢

您可以使用 message.member 从消息中获取 GuildMember

message.member.nickname

会给你用户的昵称,但如果用户有 none,它会 return null。您也可以使用

message.member.displayName

这会给你昵称,或者他们的用户名,如果他们没有的话。

您应该简单地使用 .replace 替换字符串中的 [AFK]:

const currentNickname = message.member.nickname;

const newNickname = currentNickname.replace('[AFK]', '');

message.member.setNickname(newNickname);

你也可以这样做:

message.member.setNickname(message.member.displayName);

这为用户提供了他当前的昵称。如果用户没有昵称,新昵称将是该特定用户的 Discord 用户名。