如何使用 Discord.js 提及角色?

How do I mention a role with Discord.js?

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

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

@NES 是我正在尝试的角色 ping/mention。

只需添加左尖括号和右尖括号,并使用角色 id 进行提及。

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

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

不正确。您使用 <@id> ping user,而不是 role.

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

所以,问题的正确代码应该是这样的:

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

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

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

是:

 message.channel.send(`<@& id >`); 

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