javascript - 当我们提到 discord.js v12 时,如何让我的机器人做出响应?
问题描述
我试图让我的机器人在被 ping 时做出响应,所以如果有人不知道前缀,他可以简单地 ping 机器人,他会用前缀回复。我已经尝试了几种方法,但它要么根本没有响应,要么开始一遍又一遍地发送相同的消息。这是我到目前为止所尝试的:
client.on('message', (message) => {
if (message.content.includes('<@744284134397968425>')) {
message.reply(`my prefix here is ${prefix}`)
return
};
});
完全没有反应(ID是对的)
client.on('message', (message) => {
if (message.mentions.has(client.user)) {
message.reply(`my prefix here is ${prefix}`)
return
};
});
根本没有回应,是的,我将机器人设置为客户端。
client.on('message', (message) => {
if (message.mentions.has(client.user.id)) {
message.reply(`my prefix here is ${prefix}`)
return
};
});
这一直在向频道发送垃圾邮件。当它没有响应时,我没有收到任何错误和/或崩溃。我该如何解决?提前致谢。
解决方案
您应该查看MessageMentions.users
收藏。
if (message.mentions.users.has(client.user.id) && !message.author.bot) {
message.reply(`my prefix here is ${prefix}`)
return
};
推荐阅读
- scala - “用户未初始化火花上下文”在 SPARK YARN 集群模式下使用 Scala 代码时出错
- python - 正则化逻辑回归低准确率
- mysql - Ansible playbook 错误:无法在路径中找到所需的可执行 mysql
- javascript - 如果另一个正在运行,jQuery会阻止动画触发
- php - PHP不显示无序列表
- google-api - 从评论中获取星级评分,适用于多个企业
- ios - 点击发送按钮时如何防止键盘隐藏在 UITextView 中?
- excel - 基于 2 个因素输出文本
- maven - mvn - 在 maven 存储库中查找错误的 url
- javascript - 如何从 Bootstrap 4 上的复选框按钮中检索值?