如何检测机器人是否被提及?

How to detect if the bot has been mentioned?

如何检测我的机器人是否被提及?

到目前为止我试过这些:

if (msg.content.toLowerCase().includes('@The Guardian of The Bar#5180')) {
  msg.channel.send("My prefix here is" + prefix + "\n You can start with ``" + prefix + "help``");
}

if (msg.content.toLowerCase().includes('@The Guardian of The Bar')) {
  msg.channel.send("My prefix here is" + prefix + "\n You can start with ``" + prefix + "help``");
}

if (msg.content.includes('@The Guardian of The Bar#5180')) {
  msg.channel.send("My prefix here is" + prefix + "\n You can start with ``" + prefix + "help``");
}

if (msg.content.includes('@The Guardian of The Bar#5180')) {
  msg.channel.send("My prefix here is" + prefix + "\n You can start with ``" + prefix + "help``");
}

我在 discord.js 方面没有经验,但根据文档中的 this,消息对象有一个方法 message.isMemberMentioned(User or GuildMember)。使用这种方法,可以使用

client.on('message', message => { //this event is fired, whenever the bot sees a new message
   if (message.isMemberMentioned(client.user)) { //we check, whether the bot is mentioned, client.user returns the user that the client is logged in as
      //this is where you put what you want to do now
   }
});

我想建议您在尝试制作机器人之前完整阅读 documentation

在 v12 discord.js 上,您现在必须使用 message.mentions.has(bot.user)