所以我不想向DM封闭的人发送消息。
当前代码:
message.guild.members.cache.forEach(member => {
if (member.id !== bot.user.id && !member.user.bot);
member.send(message);
});
答案 0 :(得分:1)
好的,至少在此刻,您无法检查是否有人打开了DM。您可以做的操作是发送消息并在关闭了DM的情况下捕获错误。
此外,您在if后面放置一个分号,这基本上使if语句的目的无效。删除分号,它不应发送给任何机器人。
例如:
message.guild.members.cache.forEach(member => {
if (member.id !== bot.user.id && !member.user.bot) // remove the semicolon here
member.send(message).catch(() => {}); // catch an error if the user has their DMs closed
});
希望这会有所帮助。