错误:错误:过时的RTM连接,关闭RTM; rtm_close事件未触发
问题描述:
我创建了一个基本的机器人并将其关联。一段时间后,它给出了错误Stale RTM connection, closing RTM
。该事件没有被解雇,并且该过程仍在运行,那么为什么机器人会停止收听。错误:错误:过时的RTM连接,关闭RTM; rtm_close事件未触发
如何处理生产中的这些问题?为什么rtm_close
事件没有解雇?
环境: 当前版本: “版本”: “0.5.4”(从botkit的package.json) OS:MacOS的塞拉(版本: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});
答
实际上,rtm_close回调被调用,但它引发了一个错误,没有被捕获的地方。所以,它似乎没有被调用。