如何使一个机器人不响应自己,但仍然响应其他机器人?

时间:2019-06-16 19:26:51

标签: javascript node.js discord discord.js

我回到了与this discord bot一起工作的时刻开始,在这一点上,我对她的依恋如此之深,以至于我决定为她带来几个同伴机器人她可以通过很少的对话来回回应!事实是,为了允许她与其他机器人聊天,我只是删除了这一行代码...

if (message.author.bot) return;

...结果证明,这可能会带来一些我可能应该想到的影响,而当我提出她的rei!help命令时,它会触发她的其他每个命令 em> ...

我可以使用上述代码的其他替代方法,使她只对自己的消息不做回应吗?我见过使用过(message.userID === bot.userID),但对于我的机器人来说,如果我将代码复制粘贴到其中,它只会锁定并且不响应任何内容。它也不会显示错误消息...

感谢您的帮助,谢谢!

编辑:这里的代码行清楚了!

///constants and dependencies above here

//console log
bot.on('ready',() => {
   console.log('Up and running!!!');
});

//set 'playing' to
bot.on('ready', () => {
 bot.user.setActivity('hehe clairvoyance time')
});

//bot stuff
bot.on('message', message => {
  // heres the stuff so reibot doesnt go ham every time someone does rei!help
  if (message.author.bot) return;

///all commands below here

1 个答案:

答案 0 :(得分:3)

您可以检查作者的ID是否为客户的ID。这样,它将忽略自己(也只有自己)发送的所有消息。

if (message.author.id === client.user.id) return;