如何检查邮件中是否包含 ping discord.js

how to check if a message has a ping in it discord.js

我知道你可以使用:

client.on('messageCreate', msg => {
    if(msg.content.includes("<@") && msg.content.includes(">")){
        //some code
    }
})

但这种方法并不是最好的。有没有更好的方法来检查不和谐消息中的 ping?

如果你想检查消息中是否有任何提及,你可以只获取消息中的提及并使用以下方法检查它们的大小:

if (message.mentions.users.size !== 0) {}

然后您可以将 .users 替换为 .channels 以检查是否有任何提到的频道和 .roles 以检查是否有任何角色被提到

您可以使用 message.mentions.members.first() 获取第一个被 ping 的用户。 因此,使用您的示例:

if(message.mentions.members.first()){
    //some code
}