Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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机器人开发:如何阻止这种无限循环?_Javascript_Discord_Discord.js - Fatal编程技术网

Javascript Discord机器人开发:如何阻止这种无限循环?

Javascript Discord机器人开发:如何阻止这种无限循环?,javascript,discord,discord.js,Javascript,Discord,Discord.js,这会从random.dog调用并检索一个狗url,当发布链接以记录时,它会在一个位置停止,但是当使用message.channel.send时,它会在下面运行一个无限的调用循环,什么是防止这种情况的最佳方法,并且只发送一个链接,然后停止,直到再次调用它 const animals = require('relevant-animals') client.on("message", (message) => { if(message.content.i

这会从random.dog调用并检索一个狗url,当发布链接以记录时,它会在一个位置停止,但是当使用message.channel.send时,它会在下面运行一个无限的调用循环,什么是防止这种情况的最佳方法,并且只发送一个链接,然后停止,直到再次调用它

const animals = require('relevant-animals')

client.on("message", (message) => {                   
if(message.content.includes("dog")){ 
animals.dog().then(s => message.channel.send(s)) ; 
animals.dog().then(s => console.log(s)) ;
};
下面是一个请求发送一个链接后的控制台日志

下面是发送到频道后,它只是不停地发布链接,而不仅仅是控制台中显示的链接


您的机器人正在对自身进行响应,请使用message.author.bot将其排除在外,以便对自身进行响应


希望这会有帮助

您的机器人正在对自身进行响应,请将其排除在外,以便使用message.author.bot对自身进行响应


希望这会有帮助

您可以这样做:

if(message.author.bot) return;
这不仅会阻止bot自身执行命令等,还会阻止任何bot使用您的bot

由于它会检查消息的作者,若bot属性返回true,它将返回

如果bot属性返回false,它将正常工作-仅适用于像您和我这样的用户,以及许多其他用户

您可以通过执行以下代码来尝试此操作:

console.log(message.author.bot);
它将记录消息作者的bot属性的布尔值。
您可以这样做:

if(message.author.bot) return;
这不仅会阻止bot自身执行命令等,还会阻止任何bot使用您的bot

由于它会检查消息的作者,若bot属性返回true,它将返回

如果bot属性返回false,它将正常工作-仅适用于像您和我这样的用户,以及许多其他用户

您可以通过执行以下代码来尝试此操作:

console.log(message.author.bot);
它将记录消息作者的bot属性的布尔值。

你所说的无限循环是什么意思?你能发布一些输出以供参考吗?添加了一些图片,它不停地发布链接,而不仅仅是一个链接。你所说的无限循环是什么意思?你可以发布一些输出以供参考吗?添加了一些图片,它不停地发布链接,而不仅仅是一个链接。非常感谢你修复了它!好主意。我通常只使用ifmessage.author.bot{return;},但是这更干净了。非常感谢您修复了它!好主意。我通常只使用ifmessage.author.bot{return;},但这要干净得多。