【问题标题】:How to send a message to all members who have a role (discord.js)如何向所有具有角色的成员发送消息(discord.js)
【发布时间】:2019-02-15 03:11:52
【问题描述】:

我正在使用 discord.js 编写一个机器人。 我想在我写信时向所有拥有<role> 的成员发送<message>

/a <role> <message>

在频道中。

我该怎么做?

感谢您的帮助! ;)

【问题讨论】:

    标签: node.js discord.js


    【解决方案1】:

    这是一种可能的工作方式:

    const args = message.content.split(" ");
    const roleArgs = args.slice(0, 1);
    const messageArgs = args.slice(1)
    
    const role = message.guild.roles.find(role => role.name.toLowerCase() === roleArgs.join(" ").toLowerCase())
    if (!role) return message.reply('There is not such a role!');
    
    for (let i = 0; i < message.guild.members.size; i++) {
        if (message.guild.members[i].roles.has(role.id)) {
            message.guild.members[i].user.send(messageArgs.join(" "))
        }
    }
    

    【讨论】:

    • 请记住,这有点违反 discord 的 API,所以如果您要这样做,我不会将其设为公共机器人
    • 或者在发送之间添加一个超时,因为有人可以很容易地让你一次发送 1000 条消息
    猜你喜欢
    • 2019-07-26
    • 1970-01-01
    • 2021-05-20
    • 2020-10-08
    • 2020-12-22
    • 2020-05-04
    • 1970-01-01
    • 2019-12-04
    • 2018-07-31
    相关资源
    最近更新 更多