Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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.js)_Javascript_Node.js_Bots_Discord_Discord.js - Fatal编程技术网

Javascript 我怎样才能阻止一个不和谐的机器人回复自己或其他机器人?(discord.js)

Javascript 我怎样才能阻止一个不和谐的机器人回复自己或其他机器人?(discord.js),javascript,node.js,bots,discord,discord.js,Javascript,Node.js,Bots,Discord,Discord.js,我是一个编程新手。 几天前,我开始开发我的第一个discord机器人,你知道,让我和我的朋友一起玩。 现在,让我们假设我想让这个机器人检测消息中的单词,并在每次有人提到该单词时回复,无论消息的哪个部分。我能做到,但现在有个问题。 假设我要找的单词是“你好”。 如果有人说“哦,你好”,“你好”,一条写着“你好”的消息,机器人会回复“你好”。 但是机器人也会在自己的消息中检测到hello,并一遍又一遍地回复自己,直到我关闭它。 代码如下: bot.on("message", me

我是一个编程新手。 几天前,我开始开发我的第一个discord机器人,你知道,让我和我的朋友一起玩。 现在,让我们假设我想让这个机器人检测消息中的单词,并在每次有人提到该单词时回复,无论消息的哪个部分。我能做到,但现在有个问题。 假设我要找的单词是“你好”。 如果有人说“哦,你好”,“你好”,一条写着“你好”的消息,机器人会回复“你好”。 但是机器人也会在自己的消息中检测到hello,并一遍又一遍地回复自己,直到我关闭它。 代码如下:

bot.on("message", message => {
    const hello = ["hello"];
    if( hello.some(word => message.content.includes(word)) ) {
        message.channel.send("Hello!");
}} ) 
因此,我不知道如何使bot不在自己的消息或任何bot的消息中看到“hello”,如果这更容易的话,但是能够分析用户的“hello”,这样它就不会陷入无限的自我回复循环中。
我该怎么做??提前谢谢(:

只需使用
message.author.bot

bot.on(“消息”,消息=>{
if(message.author.bot)返回
常量hello=[“hello”];
if(hello.some(word=>message.content.includes(word))){
message.channel.send(“你好!”);
}
})

如果要阻止bot回复自身:

if (message.author == client.user)
    return;
您还可以防止一个bot回复另一个bot:

if (message.author.bot)
   return;