我使用Howdy.ai's Botkit作为简单的bot应用程序,并在VPS上的node.js上运行它。基本上,我为来自here的Slack应用程序定制了示例,现在正在努力保持机器人活着 - 在一些未定义的时间之后,Slack API的RTM通道关闭了,我可以找不到合适的方法重新连接。到目前为止我试过
controller.on('rtm_close',function(bot) {
console.log('** The RTM api just closed. Trying reconnect...');
// Try a reconnect
bot.startRTM(function(err) {
if (!err) {
trackBot(bot);
} else {
console.log('** The RTM api couldn\'t be reopened. It\'s closed now.');
}
});
});
trackBot
函数控制日志记录:
function trackBot(bot) {
_bots[bot.config.token] = bot;
}
似乎我不知道整个方法是如何运作的。任何帮助都热烈赞赏!
答案 0 :(得分:7)
要启用重新连接,您需要将retry
配置值设置为true
// Launch bot
bot = controller.spawn({
retry: true,
token: 'xxx'
})
https://github.com/howdyai/botkit/blob/master/readme-slack.md#slack-controller
答案 1 :(得分:1)
您是否尝试过使用forever模块? https://www.npmjs.com/package/forever
然后运行它
forever stop bot.js; forever start bot.js && forever logs bot.js -f
我希望有帮助