Хорошо, вы не можете проверить, открыты ли у кого-то личные сообщения, по крайней мере, в данный момент. Что вы можете сделать, так это отправить сообщение и поймать ошибку, если кто-то закрыл 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
});
Надеюсь, это поможет.