我创建了一个基本的机器人并将其保持连接。一段时间后,它给出了错误Stale RTM connection, closing RTM
。该rtm_close
事件未触发并且该进程仍在运行,那么为什么机器人停止侦听。
如何处理生产中的此类问题?为什么rtm_close
没有触发事件?
环境:当前版本:“版本”:“0.5.4”(来自 botkit package.json) 操作系统:macOS Sierra(版本:10.12.4)
简单代码:
function rtmManager(controller, config) {
var bot = controller.spawn(config);
bot.startRTM(function(err, bot) {
if (err) {
debug('Failed to start RTM')
}
} );
controller.on('rtm_close', function(bot) {
debug('RTM connection is closed');
});
return bot;
}
var Botkit = require('botkit');
var bot_options = {
debug : process.env.DEBUG || false,
};
var controller = Botkit.slackbot(bot_options);
controller.startTicking();
rtmManager(controller, {token: process.env.SLACK_TOKEN});