如何使机器人使用discord.js ping用户

时间:2020-08-21 14:40:30

标签: javascript discord.js

我是机器人开发的新手,但是我创建了一个名为&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

3 个答案:

答案 0 :(得分:2)

根据Discord.js Documentation

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>提及文本渠道。