From 377040e1961c23bacb13c8640121a329e4bd25df Mon Sep 17 00:00:00 2001 From: Sebastian Kippe Date: Thu, 26 Nov 2020 18:42:51 +0100 Subject: [PATCH 1/4] Fix run.sh and only join kosmos-random rooms --- run.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/run.sh b/run.sh index 30e521d..c02ed91 100755 --- a/run.sh +++ b/run.sh @@ -1,14 +1,14 @@ #!/bin/bash HUBOT_LOG_LEVEL="debug" \ HUBOT_IRC_SERVER="irc.freenode.net" \ -HUBOT_IRC_ROOMS="#kosmos-random,#kosmos-dev" \ -HUBOT_IRC_NICK="wormhole" \ +HUBOT_IRC_ROOMS="#kosmos-random" \ +HUBOT_IRC_NICK="wormholedev" \ HUBOT_IRC_UNFLOOD="300" \ -HUBOT_IRC_NICKSERV_USERNAME="wormhole" \ +HUBOT_IRC_NICKSERV_USERNAME="wormholedev" \ HUBOT_IRC_NICKSERV_PASSWORD="" \ -HUBOT_WORMHOLE_XMPP_JID="wormhole@kosmos.org" \ +HUBOT_WORMHOLE_XMPP_JID="jimmy@kosmos.org" \ HUBOT_WORMHOLE_XMPP_PASSWORD="" \ HUBOT_WORMHOLE_XMPP_HOST="xmpp.kosmos.org" \ HUBOT_WORMHOLE_XMPP_PORT="5222" \ -HUBOT_WORMHOLE_XMPP_ROOMS="kosmos-random@chat.kosmos.org,kosmos-dev@chat.kosmos.org" \ +HUBOT_WORMHOLE_XMPP_ROOMS="kosmos-random@kosmos.chat" \ bin/hubot -a irc --name wormhole From d653d184f2c9f983544f2b5aada14a8fc1f72136 Mon Sep 17 00:00:00 2001 From: Sebastian Kippe Date: Thu, 26 Nov 2020 18:43:20 +0100 Subject: [PATCH 2/4] XMPP: re-connect when disconnected closes #1 --- scripts/xmpp-muc-bridge.js | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/scripts/xmpp-muc-bridge.js b/scripts/xmpp-muc-bridge.js index 95a6951..6c1fd4b 100644 --- a/scripts/xmpp-muc-bridge.js +++ b/scripts/xmpp-muc-bridge.js @@ -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; From 82313c72ead7c4bee088a278ea9266985c4f8042 Mon Sep 17 00:00:00 2001 From: Sebastian Kippe Date: Fri, 27 Nov 2020 01:55:34 +0100 Subject: [PATCH 3/4] Make XMPP nickname configurable --- scripts/xmpp-muc-bridge.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/xmpp-muc-bridge.js b/scripts/xmpp-muc-bridge.js index 6c1fd4b..c224a00 100644 --- a/scripts/xmpp-muc-bridge.js +++ b/scripts/xmpp-muc-bridge.js @@ -3,6 +3,7 @@ const xmpp = require('simple-xmpp'); const hubotRooms = process.env.HUBOT_IRC_ROOMS.split(','); const xmppRooms = process.env.HUBOT_WORMHOLE_XMPP_ROOMS.split(','); +const xmppNickname = process.env.HUBOT_WORMHOLE_XMPP_NICKNAME; const xmppConfig = { jid: process.env.HUBOT_WORMHOLE_XMPP_JID, @@ -16,7 +17,7 @@ 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`)); + xmppRooms.forEach(room => xmpp.join(`${room}/${xmppNickname}`)); }); xmpp.on('close', function() { From 33747dd59d764efcd0322c24f7cc2810b1cedb85 Mon Sep 17 00:00:00 2001 From: Sebastian Kippe Date: Fri, 27 Nov 2020 01:56:26 +0100 Subject: [PATCH 4/4] Add default nickname to run script --- run.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/run.sh b/run.sh index c02ed91..fe0a249 100755 --- a/run.sh +++ b/run.sh @@ -8,6 +8,7 @@ HUBOT_IRC_NICKSERV_USERNAME="wormholedev" \ HUBOT_IRC_NICKSERV_PASSWORD="" \ HUBOT_WORMHOLE_XMPP_JID="jimmy@kosmos.org" \ HUBOT_WORMHOLE_XMPP_PASSWORD="" \ +HUBOT_WORMHOLE_XMPP_NICKNAME="wormhole" \ HUBOT_WORMHOLE_XMPP_HOST="xmpp.kosmos.org" \ HUBOT_WORMHOLE_XMPP_PORT="5222" \ HUBOT_WORMHOLE_XMPP_ROOMS="kosmos-random@kosmos.chat" \