【问题标题】:How do I mention a role with Discord.js?我如何提及 Discord.js 中的角色?
【发布时间】:2020-03-04 01:42:54
【问题描述】:

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

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

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

【问题讨论】:

    标签: node.js discord.js mention


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      currently accepted answer 不正确。您使用&lt;@id&gt; ping 用户,而不是角色

      this Github issue 中所述,对于角色,您必须使用&lt;@&amp;id&gt;,并且该角色必须是可ping 的。

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

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

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

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

      【讨论】:

      • 正确答案,但您在 & 之后和 " 之前有一个空格,这不应该出现在您的第一个代码块中。它应该是:msg.channel.send("找到一个!!" + msga);
      • 我的答案在发布时是正确的,在 v12 发布之前,更新了我的答案以指向这个。
      【解决方案3】:

      它是:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2021-08-02
          • 2021-04-21
          • 1970-01-01
          • 2020-12-21
          • 2020-12-27
          • 2020-09-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多