discord.js - 如何检测何时提到机器人
问题描述
在您将其标记为重复之前,我已经尝试过这篇文章:如何检测是否提到了该机器人?
else if (message.mentions.has(client.user)) {
message.channel.send("https://images-ext-2.discordapp.net/external/L-agoqC2Qsf2sdz4tdrcD5hUiJe6moglhwHjXPi8McE/https/i.imgflip.com/3ia3r2.png")
console.log('Bot was mentioned')
}
当它被提及但没有记录时,我让它记录下来,所以我认为它没有检测到它被提及。是否有不同的方法来检测是否提到了机器人?
解决方案
令人讨厌的if (message.mentions.has(...)
是,即使提到@everyone 或@here,它也会让机器人做出反应,因此我不建议使用它。
最好的事情,不幸的是,最丑陋的事情是使用 if 语句检查消息是否包含客户提及,这可以使用以下方法完成:
if (message.content.includes(`<@!${client.user.id}>`) console.log('Bot was mentioned!')
推荐阅读
- java - 如何使用其他分区键查询 dynamoDB
- ajax - 为什么服务器不响应某些设备中的某些 ajax 查询?
- laravel - 邮件发送 laravel 7
- javascript - 正则表达式过滤器文本匹配反应给空
- php - 我无法使用 PHP 获取 webhook 数据
- html - css - 使 2 显示:table-row 粘在彼此之上
- java - 为什么这个程序打印 13 而不是 15?
- android - 是否可以从 USB 摄像头流式传输视频和从移动麦克风流式传输音频以在 android 中进行 RTMP 流式传输
- azure - Azure 存储队列 - 异地冗余
- date - 在 XSD 中验证日期或日期时间的日期范围?