【问题标题】:How do I @everyone with discord.js?我如何 @everyone 使用 discord.js?
【发布时间】:2019-11-09 18:04:42
【问题描述】:

我想要一个像“!hello”这样的简单命令来输出“Hello @everyone”并ping每个人。输出文本是正确的,但实际上并没有 ping。该命令只显示文本@everyone 而不做提及。

const Discord = require("discord.js")

module.exports.run = async (bot, message, args) => {

    message.channel.send("@everyone Hello!");

}

module.exports.help = {
    name: "hello"
}

我希望它输出这个:

实际结果:

【问题讨论】:

  • 你的机器人有MENTION_EVERYONE的权限吗?
  • @Hackinet 是的,它拥有完全的管理员权限。

标签: javascript discord discord.js


【解决方案1】:

引用discord.js issue #2285

您使用文字字符串@everyone 或@here 提及所有人或此处,而不是> 常规角色提及。 这不是错误,而是不和谐的事情。

【讨论】:

  • 你能举一个你所说的代码示例吗?我相信我已经尝试过了。
  • 对不起,这只是我在谷歌搜索后发现的。看来你和这家伙正在尝试同样的事情。
【解决方案2】:

所以,原来我有:

const bot = new Discord.Client({disableEveryone: True});

一旦我将其更改为:

const bot = new Discord.Client({disableEveryone: False});

一切正常。

感谢大家的帮助。

【讨论】:

    【解决方案3】:

    试试这个

    message.channel.send("<@everyone>" + "Hello!");
    

    【讨论】:

    • 这不起作用,变量也不起作用。 @weegee
    • @Jordy337 你确定你正在运行更新的脚本吗?
    • 是的,我做到了。这似乎是一个简单的问题,但我想答案并不那么简单。
    • 很遗憾,您的最新版本也不起作用/。
    • @Jordy337 奇怪。应该管用。你确定你试过“你好!”。
    【解决方案4】:

    有一个guild.defaultRole

    你可以这样称呼它:

    client.on('message', (msg) => {
      msg.channel.send(msg.guild.defaultRole.toString());
    });
    

    您可以检查您的机器人是否可以通过这种方式提及所有人:

    client.on('message', (msg) => {
      let everyone = msg.guild.defaultRole;
      if (msg.guild.me.hasPermission(everyone.permissions)) {
        msg.channel.send(everyone.toString());
      } else {
        console.log("I can't mention everyone");
      }
    });
    

    【讨论】:

      【解决方案5】:

      您可以从guild.roles 获取everyone 角色。

      const everyone = await guild.roles.fetch("@everyone");
      channel.send(`Hello ${everyone}`);
      

      【讨论】:

        【解决方案6】:

        我不知道为什么,但我记得必须在 send 调用中将角色放在自己的字符串文字中:

        message.channel.send("@everyone" + " Hello!");
        

        无法为自己的 atm 进行测试,看看是否可行。

        【讨论】:

        • 任何类型的提及都不适用于纯文本,必须由例如:msg.guild.defaultRole.toString() 或 msg.member.user.toString() 触发
        猜你喜欢
        • 2021-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-30
        • 2019-08-17
        • 1970-01-01
        • 2021-09-05
        • 2020-12-10
        相关资源
        最近更新 更多