我将如何定义与机器人同一个公会的每个成员,然后发送消息

Posted

技术标签:

【中文标题】我将如何定义与机器人同一个公会的每个成员,然后发送消息【英文标题】:How would I define every member in the same guild as bot, then send message 【发布时间】:2020-09-26 12:23:52 【问题描述】:

基本上我想像机器人一样向同一个公会中的每个成员发送消息。

此代码仅适用于一个公会内的人。

setTimeout(() => 
  message.guild.members.cache.forEach(member => 
  if (member.id != client.user.id && !member.user.bot) member.send(embed);
 );
, 5000);

但应该是这样的,如果机器人与成员在同一个公会中,它应该向他发送消息。 前任。如果机器人在 10 个公会中,它应该向 10 个公会内的人发送消息。

【问题讨论】:

【参考方案1】:

获取机器人所在的每个公会,然后是所有这些公会的每个成员。

client.guilds.cache.forEach(guild => 
    guild.members.cache.forEach(member => 
        if (member.id !== client.user.id && !member.user.bot) member.send(embed);
    );
);

这似乎有点垃圾邮件并且违反 TOS,但我在这里回答问题,而不是判断某人的意图。

【讨论】:

我不会使用它我只是想知道是否可能,我获取名为“auto-partnership”的公会频道然后在那里发送消息

以上是关于我将如何定义与机器人同一个公会的每个成员,然后发送消息的主要内容,如果未能解决你的问题,请参考以下文章

如何定义我想在其上使用“.channels”的公会?

Discord.js 如何感知公会成员何时更改活动

JDA:如何检测成员是如何从公会中移除的?

Discord Py - 如何使用文本命令向公会的所有成员添加多个角色

如何在 discord.js v12 中列出所有公会成员

如何删除公会 discord.js 中的所有频道