Slack + Botkit:RTM关闭后自动重新连接

Jos*_*hof 2 slack-api slack botkit

我使用Howdy.ai的Botkit作为一个简单的bot应用程序,让它在VPS上的node.js上运行.基本上,我从这里定制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.'); 
      }
   });
});
Run Code Online (Sandbox Code Playgroud)

trackBot函数控制日志记录:

function trackBot(bot) {
   _bots[bot.config.token] = bot;
}
Run Code Online (Sandbox Code Playgroud)

我似乎错过了整个方法的工作原理.任何帮助都非常感谢!

Dra*_*sil 7

要启用重新连接,您需要将retry配置值设置为true

  // Launch bot
  bot = controller.spawn({
    retry: true,
    token: 'xxx'
  })
Run Code Online (Sandbox Code Playgroud)

https://github.com/howdyai/botkit/blob/master/readme-slack.md#slack-controller