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

时间:2019-03-31 15:35:20

标签: javascript node.js discord discord.js

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

下面是我所拥有的,但这将使用户获得不和谐的名称,而不是昵称,并在其中添加“ [AFK]”。

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

然后,当触发“ if afk”语句(我已经写过if语句)时,我想从他们的昵称中删除[AFK],但保留其余内容。

预先感谢

2 个答案:

答案 0 :(得分:4)

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

message.member.nickname

会为您提供用户的昵称,但是如果用户没有昵称,它将返回null。您也可以使用

message.member.displayName

这将为您提供昵称,如果没有昵称,则为用户名。

答案 1 :(得分:2)

您只需使用.replace替换字符串中的[AFK]:

const currentNickname = message.member.nickname;

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

message.member.setNickname(newNickname);

您也可以这样:

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

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