这是我用来计算语音通道中具有特定角色的成员的代码。我想向语音通道中角色为 not 的成员发送私人消息。我该怎么办?
.~
答案 0 :(得分:1)
在Collection.filter()
中反转谓词功能,以仅获取在语音通道中具有角色且 not 的那些成员。使用!
字符或logical NOT运算符。
Iterate over您的收藏集。
使用GuildMember.send()
分别向每个成员发送直接消息。
const membersToMsg = client.guilds.get(sunucuid).roles.get(rolid).members.filter(m => !m.voiceChannel);
for (const [, member] of membersToMsg) {
member.send('Hello, world!')
.catch(console.error); // 'Cannot send messages to this user' is most likely due to privacy settings
}
我在此代码中使用的是for...of
循环,而不是Map.forEach()
,因为后者会简单地发出承诺并继续前进,可能会导致未被捕获的拒绝。 >