我是机器人开发的新手,但是我创建了一个名为&pat的命令,并且希望它像这样工作: 您执行&pat @user,我希望它这样响应:@ user-executing-the-command,您已成功拍拍@ user-提到的命令。到目前为止,我已经拿出了这段代码,除了对拍拍的人进行ping操作外,它都工作得很好。我做了 ping它们,但是它显示了@ invalid-user和idk如何解决该问题。我的代码:
var pattedone = message.mentions.members.first();
if(!pattedone) return message.reply('please mention the one who should be patted');
message.reply(`you have successfully patted ${pattedone}`);
您知道如何修复@ invalid-user吗?谢谢。 Here is screenshot of the bot's response
答案 0 :(得分:2)
Discord使用特殊语法在消息中嵌入提及。对于用户,这是用户的ID,其开头为<@,结尾为>,例如:<@ 86890631690977280>
请牢记这一点。只需更改
message.reply(`you have successfully patted ${pattedone}`);
对此
message.reply(`you have successfully patted <@${pattedone.id}>`);
编辑
您还需要更新
var pattedone = message.mentions.members.first();
到
var pattedone = message.mentions.users.first();
答案 1 :(得分:0)
您可以使用以下“方法”提及用户:
let mention = `<@${userId}>`;
答案 2 :(得分:0)
Discord提到的工作是这样的:<@user-id>
。只需将user-id
替换为“受害者”的ID。您还可以使用<&channel-id>
提及角色,或使用<#channel-id>
提及文本渠道。