我想尝试使用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每一个服务器成员,但也没有记录错误,所以你能帮助我吗?
这是我按照某人的建议编辑的版本
您声明了异步函数,但实际上并没有调用它。 在声明后添加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();
}