Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Discord bot仍对一个事件多次应答_Javascript_Node.js_Discord.js - Fatal编程技术网

Javascript Discord bot仍对一个事件多次应答

Javascript Discord bot仍对一个事件多次应答,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,已经找到了,但是没有答案:C 所以我的问题是一样的,使用Discord.js lib,这是我的代码: client.on('message', msg => { var splittedMessage = msg.content.split("#"); if (msg.channel.type == "dm") { if (msg.content === "booya") { msg.channel.send('Hello

已经找到了,但是没有答案:C

所以我的问题是一样的,使用Discord.js lib,这是我的代码:

 client.on('message', msg => {
     var splittedMessage = msg.content.split("#");
     if (msg.channel.type == "dm") {
         if (msg.content === "booya") {
             msg.channel.send('Hello there, ' + msg.author.username)
                 .then(msg => console.log('Sent #' + msg.id + ': ' + msg.content))
                 .catch(console.error);
             return
         } else {
             msg.channel.send('No query found')
                 .then(msg => console.log('Sent #' + msg.id + ': ' + msg.content))
                 .catch(console.error);
             return
         }
     }
 });

结果如下:

在所有消息上触发事件
消息
,即使是bot发送的消息:

在创建消息时发出

因此,您通过发送消息不断触发事件


解决方案是,如果作者与bot本身不同,则始终检查作者(bot用户属性为
bot.user
:)

首先,如果使用Visual Studio代码,则可以运行同一程序/bot的多个实例。 Visual Studio中的终端代码:

因此,每次编辑并启动脚本时,它都会创建一个“新”终端(即另一个实例)。这些实例的位置:


然后按下所有实例上的循环按钮(下拉菜单旁边)。然后再次启动脚本-应该没问题。

是否有可能对bot自身发送的消息调用
client.on('message')
?您是否尝试过
console.log(message)
查看发生了什么事?@AKX例如,此代码只运行了一次:请不要在多个问题中添加相同的答案。回答最好的一个,并将其余的标记为重复项。看见