如何向所有具有角色的成员发送消息(discord.js)
Posted
技术标签:
【中文标题】如何向所有具有角色的成员发送消息(discord.js)【英文标题】:How to send a message to all members who have a role (discord.js) 【发布时间】:2019-02-15 03:11:52 【问题描述】:我正在使用 discord.js 编写一个机器人。
我想在我写信时向所有拥有<role>
的成员发送<message>
:
/a <role> <message>
在频道中。
我该怎么做?
感谢您的帮助! ;)
【问题讨论】:
【参考方案1】:这是一种可能的工作方式:
const args = message.content.split(" ");
const roleArgs = args.slice(0, 1);
const messageArgs = args.slice(1)
const role = message.guild.roles.find(role => role.name.toLowerCase() === roleArgs.join(" ").toLowerCase())
if (!role) return message.reply('There is not such a role!');
for (let i = 0; i < message.guild.members.size; i++)
if (message.guild.members[i].roles.has(role.id))
message.guild.members[i].user.send(messageArgs.join(" "))
【讨论】:
请记住,这有点违反 discord 的 API,所以如果您要这样做,我不会将其设为公共机器人 或者在发送之间添加一个超时,因为有人可以很容易地让你一次发送 1000 条消息以上是关于如何向所有具有角色的成员发送消息(discord.js)的主要内容,如果未能解决你的问题,请参考以下文章
如何设置无法踢出具有更高角色的成员 - Discord.js
Discord.js V12 如何显示具有特定角色的所有成员?