我有一些代码,它应该获取机器人所在的所有公会,并向不和谐的公会所有者发送1 dm。但是,如果所有者拥有2个服务器,且其中包含该机器人,则该机器人将发送2条消息。我的问题是如何将其限制为仅向所有者发送1条消息?(https://media.discordapp.net/attachments/573277474721366036/575445224751366145/unknown.png)
client.guilds.forEach(guild => {
client.users.get(guild.ownerID).send('test');
});
答案 0 :(得分:0)
一个简单的解决方案是拥有一个包含已发送消息的用户的数组,并仅向不在该数组中的用户发送消息。例如...
const done = [];
client.guilds.forEach(guild => {
if (!done.includes(guild.ownerID)) {
client.users.get(guild.ownerID).send('test')
.catch(err => console.error(err));
done.push(guild.ownerID);
}
});