【问题标题】:How to DM all server members discord(js)如何DM所有服务器成员不和谐(js)
【发布时间】:2020-06-15 22:45:34
【问题描述】:

我想通过以下代码尝试使用不和谐机器人对所有服务器成员进行 dm:

if (message.content === 'tdmall') {


    const members = async function() {

        message.guild.members.filter(m => !m.user.bot).array();

        let undelivered = 0;

        for (let i = 0; i < members.length; i++) {

            const member = members[i];

            await member.send('Hello there.')
                .catch(() => undelivered++);
        }

        message.channel.send(`Messages sent. ${undelivered} members couldn't receive it.`)

            .catch(console.error);

    }
}

我的机器人不会 dm 每个服务器成员,但也没有记录任何错误,所以您能帮帮我吗?

这是我按照某人的建议编辑的版本

【问题讨论】:

  • 正如错误提示的那样,您需要在异步函数中运行该代码,例如 async function(...) { /*Your code*/ }
  • 应该注意这违反了 TOS,为什么不直接 ping 所有人?

标签: javascript node.js discord discord.js


【解决方案1】:

您正在声明异步函数,但实际上并没有调用它。在声明后添加await members();,如下所示:

if (message.content === 'tdmall') {

    // Declare function
    const messageAllMembers = async function() {

        message.guild.members.filter(m => !m.user.bot).array();

        let undelivered = 0;

        for (let i = 0; i < members.length; i++) {

            const member = members[i];

            await member.send('Hello there.')
                .catch(() => undelivered++);
        }

        message.channel.send(`Messages sent. ${undelivered} members couldn't receive it.`)

            .catch(console.error);

    }

    // Invoke function
    await messageAllMembers();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 2018-05-23
    相关资源
    最近更新 更多