Hello universe

This commit is contained in:
2019-07-27 00:03:38 +02:00
commit 3583d74eff
9 changed files with 1173 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
const hubot = require("hubot");
const xmpp = require('simple-xmpp');
const hubotRooms = process.env.HUBOT_IRC_ROOMS.split(',');
const xmppRooms = process.env.HUBOT_WORMHOLE_XMPP_ROOMS.split(',');
module.exports = function (robot) {
xmpp.on('groupchat', function(conference, from, message, whatevs, meta) {
if (meta || (from === 'wormhole')) return;
if (!xmppRooms.includes(conference)) return;
const room = hubotRooms[xmppRooms.indexOf(conference)];
const msg = `[xmpp] <${from}> ${message}`;
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)
});
xmppRooms.forEach(room => xmpp.join(`${room}/wormhole`));
function messageMUC(res) {
const message = res.message;
if ((typeof message === 'object' && message.constructor.name === 'TextMessage') ||
message instanceof hubot.TextMessage) {
if (message.user['id'] === 'botka_dev') return;
if (!hubotRooms.includes(message.user.room)) return;
const room = xmppRooms[hubotRooms.indexOf(message.user.room)];
const msg = `[irc] <${message.user['id']}> ${message.text}`;
xmpp.send(room, msg, true);
}
}
const listener = new hubot.Listener(robot, function() {
return true;
}, function(res) {
return messageMUC(res);
});
robot.listeners.push(listener);
};