XMPP: re-connect when disconnected

closes #1
This commit is contained in:
Basti 2020-11-26 18:43:20 +01:00
parent 377040e196
commit d653d184f2
Signed by untrusted user: basti
GPG Key ID: 9F88009D31D99C72

View File

@ -4,8 +4,27 @@ const xmpp = require('simple-xmpp');
const hubotRooms = process.env.HUBOT_IRC_ROOMS.split(',');
const xmppRooms = process.env.HUBOT_WORMHOLE_XMPP_ROOMS.split(',');
const xmppConfig = {
jid: process.env.HUBOT_WORMHOLE_XMPP_JID,
password: process.env.HUBOT_WORMHOLE_XMPP_PASSWORD,
host: process.env.HUBOT_WORMHOLE_XMPP_HOST,
port: parseInt(process.env.HUBOT_WORMHOLE_XMPP_PORT)
};
module.exports = function (robot) {
xmpp.on('online', function(data) {
robot.logger.info('XMPP connected with JID: ' + data.jid.toString());
xmppRooms.forEach(room => xmpp.join(`${room}/wormholedev`));
});
xmpp.on('close', function() {
robot.logger.info('XMPP connection has been closed. Re-connecting...');
xmpp.connect(xmppConfig);
});
xmpp.on('groupchat', function(conference, from, message, whatevs, meta) {
if (meta || (from === 'wormhole')) return;
if (!xmppRooms.includes(conference)) return;
@ -16,14 +35,11 @@ module.exports = function (robot) {
robot.messageRoom(room, msg);
});
xmpp.connect({
jid: process.env.HUBOT_WORMHOLE_XMPP_JID,
password: process.env.HUBOT_WORMHOLE_XMPP_PASSWORD,
host: process.env.HUBOT_WORMHOLE_XMPP_HOST,
port: parseInt(process.env.HUBOT_WORMHOLE_XMPP_PORT)
xmpp.on('error', function(err) {
robot.logger.error(err);
});
xmppRooms.forEach(room => xmpp.join(`${room}/wormhole`));
xmpp.connect(xmppConfig);
function messageMUC(res) {
const message = res.message;