Javascript Discord机器人开发:如何阻止这种无限循环?
这会从random.dog调用并检索一个狗url,当发布链接以记录时,它会在一个位置停止,但是当使用message.channel.send时,它会在下面运行一个无限的调用循环,什么是防止这种情况的最佳方法,并且只发送一个链接,然后停止,直到再次调用它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
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;},但这要干净得多。