我为我的discord机器人创建了一个AFK命令,但我一直在努力寻找如何将“ [AFK]”添加到当前用户的昵称中。
下面是我所拥有的,但这将使用户获得不和谐的名称,而不是昵称,并在其中添加“ [AFK]”。
message.member.setNickname(`[AFK] ${message.author.username}`)
然后,当触发“ if afk”语句(我已经写过if语句)时,我想从他们的昵称中删除[AFK],但保留其余内容。
预先感谢
答案 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用户名。