Discord bot:如何知道用户何时在消息中被 ping 而不是因为它是回复
Discord bot : How to know when a user is pinged in the message and not because it's a reply
目标:
我正在尝试让机器人在消息中对特定用户执行 ping 操作时发送消息。
所以我尝试了这个:
if (message.mentions.has(bot.users.cache.get(userID)))
它运行良好,如果您对用户执行 ping 操作,机器人会发送一条消息。除外...
问题:
当您只是回复用户而不在消息中对用户执行 ping 操作时,机器人也会做出反应,我不希望这样。
我能看到的唯一方法是:
if (message.content.includes(userID))
您应该直接检查他们是否在消息中被 ping 过。
const userRegex = new RegExp(`<@!?${userID}>`)
if (message.content.match(userRegex)) {
//user has been mentioned and it was not because of reply
}
目标:
我正在尝试让机器人在消息中对特定用户执行 ping 操作时发送消息。
所以我尝试了这个:
if (message.mentions.has(bot.users.cache.get(userID)))
它运行良好,如果您对用户执行 ping 操作,机器人会发送一条消息。除外...
问题:
当您只是回复用户而不在消息中对用户执行 ping 操作时,机器人也会做出反应,我不希望这样。
我能看到的唯一方法是:
if (message.content.includes(userID))
您应该直接检查他们是否在消息中被 ping 过。
const userRegex = new RegExp(`<@!?${userID}>`)
if (message.content.match(userRegex)) {
//user has been mentioned and it was not because of reply
}