提问者:小点点

如何对所有服务器成员进行DM discord(js)


我想尝试使用discord bot并使用以下代码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每一个服务器成员,但也没有记录错误,所以你能帮助我吗?

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


共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();
}