8

我正在制作一个机器人,我正在尝试 Ping 某个角色。以下是相关代码:

let msga = msg.author;
msg.channel.send("@NES Found one!! " + msga);

@NES 是我试图 ping/提及的​​角色。

4

4 回答 4

35

当前接受的答案不正确。您使用 ping用户<@id>而不是角色

本 Github issue中所述,对于角色,您必须使用<@&id>并且角色必须是可 ping 的。

因此,该问题的正确代码类似于:

msg.channel.send("<@&" + roleId + "> Found one!! " + msga);

或者,使用花哨的格式化字符串:

msg.channel.send(`<@&${roleId}> Found one!! ${msga}`);
于 2020-05-30T05:00:16.200 回答
3

只需添加一个开始和结束尖括号并使用角色 id 来进行提及。

msg.channel.send("<@id> Found one!! " + msga);

这个答案对旧版本的 discord.js(我相信 v11 及以下版本)有效,但现在对 v12+ 无效,使用 yummypasta 的新版本解决方案。

于 2019-11-07T13:13:19.817 回答
2

这是:

 message.channel.send(`<@& id >`); 
于 2020-07-02T23:11:35.990 回答
2

试试这个: msg.channel.send(`<@&${'roleId'}> Found one!! ${msga}`);

于 2021-01-29T20:38:05.073 回答