不和谐机器人开发:如何停止这个无限循环?
这将调用并检索随机.dog中的狗URL,当发布记录它的链接时会在1停止,但是当使用下面的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
将其排除以回复自身。
if(!message.author.bot) {
// Do something if message doesn't come from a bot.
}
我希望这段代码能帮助您走上正确的道路,祝您好运!
相关文章