当我从一个机器人命令中获取一条语句,并且该语句“ @”是另一个用户时,我将其作为其用户ID接收到。发生这种情况时,我想使用该ID对该用户执行ping操作,我该怎么做?
我将收到的消息放入数组中,因此当有人说“ @soandso是一个书呆子”时,它变成['<@','stringofnumbers>,'is','a','nerd' ]。
我原本以为将“ <@”放在新数组中作为“ @”,然后在其中添加用户名,但是我不知道如何从用户ID中获取用户名。
答案 0 :(得分:0)
类似的事情会起作用
bot.on("message", async message => {
if(message.author.bot) return;
message.channel.send(`${message.author.toString()} This is my reply`);
});
只需在消息的作者上调用toString函数。
编辑:我想我误解了您的问题,如果您需要从ID中获取用户,则可以执行以下操作。
message.guild.members.get('ID HERE').displayName
,并且应该从ID返回用户的显示名称,前提是该用户位于发送命令的服务器中。
答案 1 :(得分:0)
您可以使用(message.author.String())
所以要发送消息:message.channel.send(message.author.String())
要在日志中保存用户名:console.log(message.author.String())