var Jitsi = require('./lib/jitsi'); var ack = require('ac-koa').require('hipchat'); var pkg = require('./package.json'); var app = ack(pkg, {store: 'MongoStore'}); var addon = app.addon() .hipchat() .allowGlobal(true) .allowRoom(true) .avatar('https://s3.amazonaws.com/uploads.hipchat.com/10804/1332878/ygXvYzdGdsNiAVS/upload.png') .scopes('send_notification'); track(addon); var addonStore = MongoStore(process.env[app.config.MONGO_ENV], 'hiptsi'); var notifier = Notifier({format: 'html', dir: __dirname + '/messages'}); var pattern = /^r?\/jitsi/i; addon.webhook('room_message', /^\/jitsi/i, function *() { var global = !this.tenant.room; var match = this.match; var room = this.room; var jitsi = Jitsi(addonStore, this.tenant); roomName = crypto.randomBytes(Math.ceil(20/2)) .toString('hex') // convert to hexadecimal format .slice(0,20); // return required number of characters var call_url = process.env.JITSI_ENV + '/' + roomName return yield notifier.sendTemplate('call', { caller: this.sender.name,
var Notifier = require('ac-koa-hipchat-notifier').Notifier; var Karma = require('./lib/karma'); var ack = require('ac-koa').require('hipchat'); var pkg = require('./package.json'); var app = ack(pkg, {store: 'MongoStore'}); var addon = app.addon() .hipchat() .allowGlobal(true) .allowRoom(true) .scopes('send_notification'); track(addon); var addonStore = MongoStore(process.env[app.config.MONGO_ENV], 'karma'); var notifier = Notifier({format: 'html', dir: __dirname + '/messages'}); addon.webhook('room_message', /^\/karma(?:\s+(:)?(.+?)\s*$)?/i, function *() { var global = !this.tenant.room; var match = this.match; var room = this.room; var karma = Karma(addonStore, this.tenant); var enabled = yield karma.isEnabled(room.id); var command = match && match[1] === ':' && match[2]; var subject = match && !match[1] && match[2]; if (command) { if (global && command === 'enable') { enabled = true; yield karma.setEnabled(room.id, enabled); return yield notifier.send('Karma matching has been enabled in this room.');