From 50951b3fe2e64969da14934bf2c82dfa7cefe7a4 Mon Sep 17 00:00:00 2001 From: Evan Feenstra <evan@evanfeenstra.com> Date: Mon, 14 Sep 2020 15:45:38 -0700 Subject: [PATCH] hosted bots --- api/bots/index.ts | 2 -- api/bots/mother.ts | 4 ---- api/network/intercept.ts | 33 +++++++++++++++++++++++++---- dist/api/bots/index.js | 3 --- dist/api/bots/index.js.map | 2 +- dist/api/bots/mother.js | 4 ---- dist/api/bots/mother.js.map | 2 +- dist/api/network/intercept.js | 35 +++++++++++++++++++++++++++---- dist/api/network/intercept.js.map | 2 +- 9 files changed, 63 insertions(+), 24 deletions(-) diff --git a/api/bots/index.ts b/api/bots/index.ts index 6c6c4a6..d117d7f 100644 --- a/api/bots/index.ts +++ b/api/bots/index.ts @@ -2,7 +2,6 @@ import * as SphinxBot from 'sphinx-bot' import * as MotherBot from './mother' import * as WelcomeBot from './welcome' -import * as BitcoinBot from './btc' import * as LoopBot from './loop' import {Msg} from '../network/interfaces' import * as path from 'path' @@ -20,7 +19,6 @@ async function init(){ builtInBots.forEach(b=>{ if(b.botPrefix==='/welcome') WelcomeBot.init() - if(b.botPrefix==='/btc') BitcoinBot.init() if(b.botPrefix==='/loopout') LoopBot.init() }) } diff --git a/api/bots/mother.ts b/api/bots/mother.ts index f0c01f0..c56f401 100644 --- a/api/bots/mother.ts +++ b/api/bots/mother.ts @@ -3,7 +3,6 @@ import * as Sphinx from 'sphinx-bot' import { finalAction } from '../controllers/actions' import * as path from 'path' import * as WelcomeBot from './welcome' -import * as BitcoinBot from './btc' import * as LoopBot from './loop' import { models } from '../models' import fetch from 'node-fetch' @@ -75,9 +74,6 @@ export function init() { if(botName==='welcome') { WelcomeBot.init() } - if(botName==='btc') { - BitcoinBot.init() - } if(botName==='loopout') { LoopBot.init() } diff --git a/api/network/intercept.ts b/api/network/intercept.ts index 2a09537..bada0a7 100644 --- a/api/network/intercept.ts +++ b/api/network/intercept.ts @@ -2,6 +2,7 @@ import {Msg} from './interfaces' import { models } from '../models' import {builtinBotEmit} from '../bots' import * as path from 'path' +import fetch from 'node-fetch' const constants = require(path.join(__dirname,'../../config/constants.json')) @@ -44,13 +45,11 @@ export async function isBotMsg(msg:Msg, sentByMe:boolean): Promise<boolean> { try { const msgTypes = JSON.parse(botInTribe.msgTypes) if(msgTypes.includes(msgType)){ - builtinBotEmit(msg) - didEmit = true + didEmit = await emitMessageToBot(msg, botInTribe) } } catch(e){} } else { // no message types defined, do all? - builtinBotEmit(msg) - didEmit = true + didEmit = await emitMessageToBot(msg, botInTribe) } } }) @@ -58,6 +57,32 @@ export async function isBotMsg(msg:Msg, sentByMe:boolean): Promise<boolean> { return didEmit } +async function emitMessageToBot(msg, botInTribe): Promise<boolean> { + console.log("EMIT MSG TO BOT",msg,botInTribe) + switch (botInTribe.type) { + case constants.bot_types.builtin: + builtinBotEmit(msg) + return true + case constants.bot_types.local: + return postToBotServer(msg, botInTribe) + default: + return false + } + +} + +async function postToBotServer(msg, botInTribe): Promise<boolean> { + if(!botInTribe.webhook || !botInTribe.secret) return false + const r = await fetch(botInTribe.webhook, { + method:'POST', + body:JSON.stringify(msg), + headers:{ + 'x-secret': botInTribe.secret + } + }) + return r.ok +} + async function asyncForEach(array, callback) { for (let index = 0; index < array.length; index++) { await callback(array[index], index, array); diff --git a/dist/api/bots/index.js b/dist/api/bots/index.js index c9c75a2..d8ce0d3 100644 --- a/dist/api/bots/index.js +++ b/dist/api/bots/index.js @@ -13,7 +13,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); const SphinxBot = require("sphinx-bot"); const MotherBot = require("./mother"); const WelcomeBot = require("./welcome"); -const BitcoinBot = require("./btc"); const LoopBot = require("./loop"); const path = require("path"); const models_1 = require("../models"); @@ -29,8 +28,6 @@ function init() { builtInBots.forEach(b => { if (b.botPrefix === '/welcome') WelcomeBot.init(); - if (b.botPrefix === '/btc') - BitcoinBot.init(); if (b.botPrefix === '/loopout') LoopBot.init(); }); diff --git a/dist/api/bots/index.js.map b/dist/api/bots/index.js.map index e35a1eb..35bac58 100644 --- a/dist/api/bots/index.js.map +++ b/dist/api/bots/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../api/bots/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mDAAmD;AACnD,wCAAuC;AACvC,sCAAqC;AACrC,wCAAuC;AACvC,oCAAmC;AACnC,kCAAiC;AAEjC,6BAA4B;AAC5B,sCAAkC;AAElC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC,CAAA;AAE9E,SAAe,IAAI;;QACf,SAAS,CAAC,IAAI,EAAE,CAAA;QAEhB,MAAM,WAAW,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,KAAK,EAAC;gBACpD,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO;aACvC,EAAC,CAAC,CAAA;QACH,IAAG,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,OAAM;QAE/C,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA,EAAE;YACnB,IAAG,CAAC,CAAC,SAAS,KAAG,UAAU;gBAAE,UAAU,CAAC,IAAI,EAAE,CAAA;YAC9C,IAAG,CAAC,CAAC,SAAS,KAAG,MAAM;gBAAE,UAAU,CAAC,IAAI,EAAE,CAAA;YAC1C,IAAG,CAAC,CAAC,SAAS,KAAG,UAAU;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAA;QAC/C,CAAC,CAAC,CAAA;IACN,CAAC;CAAA;AA0BO,oBAAI;AAxBZ,SAAS,cAAc,CAAC,GAAO;IAC3B,MAAM,CAAC,GAAsB;QACzB,OAAO,EAAC;YACJ,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;YACjB,IAAI,EAAC,cAAW,CAAC;SACpB;QACD,KAAK,EAAC,cAAW,CAAC;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO;QAC5B,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;QAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE;YACJ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO;YACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;YAC1B,KAAK,EAAC,EAAE;SACX;KACJ,CAAA;IACD,IAAG,GAAG,CAAC,MAAM,CAAC,IAAI,KAAG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE;QAC7C,IAAG,CAAC,CAAC,MAAM;YAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAC,CAAC;oBACzB,IAAI,EAAC,OAAO;iBACf,CAAC,CAAA;KACL;IACD,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;AACjC,CAAC;AAEY,wCAAc"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../api/bots/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mDAAmD;AACnD,wCAAuC;AACvC,sCAAqC;AACrC,wCAAuC;AACvC,kCAAiC;AAEjC,6BAA4B;AAC5B,sCAAkC;AAElC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC,CAAA;AAE9E,SAAe,IAAI;;QACf,SAAS,CAAC,IAAI,EAAE,CAAA;QAEhB,MAAM,WAAW,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,KAAK,EAAC;gBACpD,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO;aACvC,EAAC,CAAC,CAAA;QACH,IAAG,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,OAAM;QAE/C,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA,EAAE;YACnB,IAAG,CAAC,CAAC,SAAS,KAAG,UAAU;gBAAE,UAAU,CAAC,IAAI,EAAE,CAAA;YAC9C,IAAG,CAAC,CAAC,SAAS,KAAG,UAAU;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAA;QAC/C,CAAC,CAAC,CAAA;IACN,CAAC;CAAA;AA0BO,oBAAI;AAxBZ,SAAS,cAAc,CAAC,GAAO;IAC3B,MAAM,CAAC,GAAsB;QACzB,OAAO,EAAC;YACJ,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;YACjB,IAAI,EAAC,cAAW,CAAC;SACpB;QACD,KAAK,EAAC,cAAW,CAAC;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO;QAC5B,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;QAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE;YACJ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO;YACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;YAC1B,KAAK,EAAC,EAAE;SACX;KACJ,CAAA;IACD,IAAG,GAAG,CAAC,MAAM,CAAC,IAAI,KAAG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE;QAC7C,IAAG,CAAC,CAAC,MAAM;YAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAC,CAAC;oBACzB,IAAI,EAAC,OAAO;iBACf,CAAC,CAAA;KACL;IACD,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;AACjC,CAAC;AAEY,wCAAc"} \ No newline at end of file diff --git a/dist/api/bots/mother.js b/dist/api/bots/mother.js index 2ee44f0..874510b 100644 --- a/dist/api/bots/mother.js +++ b/dist/api/bots/mother.js @@ -14,7 +14,6 @@ const Sphinx = require("sphinx-bot"); const actions_1 = require("../controllers/actions"); const path = require("path"); const WelcomeBot = require("./welcome"); -const BitcoinBot = require("./btc"); const LoopBot = require("./loop"); const models_1 = require("../models"); const node_fetch_1 = require("node-fetch"); @@ -81,9 +80,6 @@ function init() { if (botName === 'welcome') { WelcomeBot.init(); } - if (botName === 'btc') { - BitcoinBot.init(); - } if (botName === 'loopout') { LoopBot.init(); } diff --git a/dist/api/bots/mother.js.map b/dist/api/bots/mother.js.map index c773a14..32f2a9a 100644 --- a/dist/api/bots/mother.js.map +++ b/dist/api/bots/mother.js.map @@ -1 +1 @@ -{"version":3,"file":"mother.js","sourceRoot":"","sources":["../../../api/bots/mother.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"mother.js","sourceRoot":"","sources":["../../../api/bots/mother.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/api/network/intercept.js b/dist/api/network/intercept.js index f45a3a5..481d3cf 100644 --- a/dist/api/network/intercept.js +++ b/dist/api/network/intercept.js @@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const models_1 = require("../models"); const bots_1 = require("../bots"); const path = require("path"); +const node_fetch_1 = require("node-fetch"); const constants = require(path.join(__dirname, '../../config/constants.json')); /* default show or not @@ -49,15 +50,13 @@ function isBotMsg(msg, sentByMe) { try { const msgTypes = JSON.parse(botInTribe.msgTypes); if (msgTypes.includes(msgType)) { - bots_1.builtinBotEmit(msg); - didEmit = true; + didEmit = yield emitMessageToBot(msg, botInTribe); } } catch (e) { } } else { // no message types defined, do all? - bots_1.builtinBotEmit(msg); - didEmit = true; + didEmit = yield emitMessageToBot(msg, botInTribe); } } })); @@ -65,6 +64,34 @@ function isBotMsg(msg, sentByMe) { }); } exports.isBotMsg = isBotMsg; +function emitMessageToBot(msg, botInTribe) { + return __awaiter(this, void 0, void 0, function* () { + console.log("EMIT MSG TO BOT", msg, botInTribe); + switch (botInTribe.type) { + case constants.bot_types.builtin: + bots_1.builtinBotEmit(msg); + return true; + case constants.bot_types.local: + return postToBotServer(msg, botInTribe); + default: + return false; + } + }); +} +function postToBotServer(msg, botInTribe) { + return __awaiter(this, void 0, void 0, function* () { + if (!botInTribe.webhook || !botInTribe.secret) + return false; + const r = yield node_fetch_1.default(botInTribe.webhook, { + method: 'POST', + body: JSON.stringify(msg), + headers: { + 'x-secret': botInTribe.secret + } + }); + return r.ok; + }); +} function asyncForEach(array, callback) { return __awaiter(this, void 0, void 0, function* () { for (let index = 0; index < array.length; index++) { diff --git a/dist/api/network/intercept.js.map b/dist/api/network/intercept.js.map index a6d8451..46cd2ee 100644 --- a/dist/api/network/intercept.js.map +++ b/dist/api/network/intercept.js.map @@ -1 +1 @@ -{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../../api/network/intercept.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,sCAAkC;AAClC,kCAAsC;AACtC,6BAA4B;AAE5B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAC,6BAA6B,CAAC,CAAC,CAAA;AAE7E;;;EAGE;AAEF,kDAAkD;AAClD,SAAsB,QAAQ,CAAC,GAAO,EAAE,QAAgB;;QACtD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAA;QAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;QACxB,IAAG,OAAO,KAAG,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE;YAC5C,OAAO,KAAK,CAAA,CAAC,sCAAsC;SACpD;QACD,MAAM,IAAI,GAAG,MAAM,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC,KAAK,EAAC;gBAC5C,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;aACpB,EAAC,CAAC,CAAA;QACH,IAAG,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAEtB,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,IAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC1B,qBAAc,CAAC,GAAG,CAAC,CAAA;YACnB,OAAO,GAAG,IAAI,CAAA;SACf;QAED,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,OAAO,CAAC,CAAA;QAC/B,IAAG,OAAO;YAAE,OAAO,OAAO,CAAA;QAE1B,MAAM,WAAW,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,KAAK,EAAC;gBACtD,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB,EAAC,CAAC,CAAA;QAEH,IAAG,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAA;QAErD,MAAM,YAAY,CAAC,WAAW,EAAE,CAAM,UAAU,EAAA,EAAE;YAChD,IAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,SAAS,GAAG,CAAC,EAAE;gBACpD,IAAG,UAAU,CAAC,QAAQ,EAAC;oBACrB,IAAI;wBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;wBAChD,IAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC;4BAC5B,qBAAc,CAAC,GAAG,CAAC,CAAA;4BACnB,OAAO,GAAG,IAAI,CAAA;yBACf;qBACF;oBAAC,OAAM,CAAC,EAAC,GAAE;iBACb;qBAAM,EAAE,oCAAoC;oBAC3C,qBAAc,CAAC,GAAG,CAAC,CAAA;oBACnB,OAAO,GAAG,IAAI,CAAA;iBACf;aACF;QACH,CAAC,CAAA,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAChB,CAAC;CAAA;AA7CD,4BA6CC;AAED,SAAe,YAAY,CAAC,KAAK,EAAE,QAAQ;;QAC1C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACjD,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SAC5C;IACF,CAAC;CAAA"} \ No newline at end of file +{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../../api/network/intercept.ts"],"names":[],"mappings":"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"} \ No newline at end of file