如何检测是否提到了机器人?

2022-01-10 00:00:00 node.js javascript discord.js

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

How can I detect if my bot is mentioned?

到目前为止,我尝试了这些:

I tried these thus far:

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

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

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

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

推荐答案

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

I'm not experienced in discord.js, but according to this in the documentation, a message object has a method message.isMemberMentioned(User or GuildMember). Using this method, one can use

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
   }
});

我想建议您在之前完整阅读 文档你试着做一个机器人.

I would like to recommend, that you read the documentation fully, before you try to make a bot.

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

On v12 discord.js you now have to use message.mentions.has(bot.user)

相关文章