Ren*_* Rk 2 javascript discord discord.js
有什么方法可以让命令使用discord.js向discord组的所有成员发送私人消息吗?
例子: /private TEST
此消息将通过私人聊天而不是频道聊天发送给群组中的每个人。
您可以遍历Guild.members.
当您收到一条以 开头的消息时/private,您可以将其余的消息发送给公会的每个成员,使用Guild.members.forEach().
这是一个快速示例:
client.on('message', msg => {
if (msg.guild && msg.content.startsWith('/private')) {
let text = msg.content.slice('/private'.length); // cuts off the /private part
msg.guild.members.forEach(member => {
if (member.id != client.user.id && !member.user.bot) member.send(text);
});
}
});
Run Code Online (Sandbox Code Playgroud)
这只是一个基本实现,您显然可以将这个概念与您的命令检查一起使用,或者通过添加其他文本等来修改它。
希望这可以为您解决问题,如果您有任何其他问题,请告诉我:)
discord.js v12 的更新代码只是向 forEach 添加缓存。
client.on('message', msg => {
if (msg.guild && msg.content.startsWith('/private')) {
let text = msg.content.slice('/private'.length); // cuts off the /private part
msg.guild.members.cache.forEach(member => {
if (member.id != client.user.id && !member.user.bot) member.send(text);
});
}
});
Run Code Online (Sandbox Code Playgroud)