UNPKG

4.42 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/BaseBotPlugin.ts"],"names":["BaseBotPlugin","botsModule","providers","bots","enable","bot","Array","isArray","length","includes","provider","name","canRunBot","initBot","initPlugin","initBots","debug","log","trace","Object","keys","runBot","runPlugin","config","warn","runBots","Module"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;IAEsBA,a;;;;;;;;;;;;;;;UACpBC,U;UACAC,S,GAAsB,E;UACtBC,I,GAAO,E;;;;;;;qGACP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEIC,kBAAAA,MAAM,EAAE;AAFZ;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;QAOA;;;;WACA,mBAAUC,GAAV,EAAsC;AACpC,UAAI,CAACC,KAAK,CAACC,OAAN,CAAc,KAAKL,SAAnB,CAAD,IAAkC,CAAC,KAAKA,SAAL,CAAeM,MAAtD,EAA8D,OAAO,IAAP;AAC9D,aAAO,KAAKN,SAAL,CAAeO,QAAf,CAAwBJ,GAAG,CAACK,QAA5B,CAAP;AACD;;;;mGAED,kBAAcL,GAAd,EAAiCM,IAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oGAGA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACQ,gCAAe,KAAKR,IAApB;AAAA,2GAA0B,kBAAOE,GAAP,EAA0BM,IAA1B;AAAA;AAAA;AAAA;AAAA;AAAA,gCACzB,MAAI,CAACC,SAAL,CAAeP,GAAf,CADyB;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA,mCAExB,MAAI,CAACQ,OAAL,CAAaR,GAAb,EAAkBM,IAAlB,CAFwB;;AAAA;AAAA;AAAA,mCAGxBN,GAAG,CAACS,UAAJ,CAAe,MAAf,EAAqBH,IAArB,CAHwB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA1B;;AAAA;AAAA;AAAA;AAAA,oBADR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gGAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,uBAEQ,KAAKI,QAAL,EAFR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kGAKA,kBAAaV,GAAb,EAAgCM,IAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mGAGA;AAAA;;AAAA;AAAA;AAAA;AAAA;AACE,oBAAI,KAAKK,KAAT,EAAgB,KAAKC,GAAL,CAASC,KAAT,CAAe,SAAf,EAA0BC,MAAM,CAACC,IAAP,CAAY,KAAKjB,IAAjB,CAA1B;AADlB;AAAA,uBAEQ,gCAAe,KAAKA,IAApB;AAAA,4GAA0B,kBAAOE,GAAP,EAA0BM,IAA1B;AAAA;AAAA;AAAA;AAAA;AAC9B,gCAAI,MAAI,CAACK,KAAT,EAAgB,MAAI,CAACC,GAAL,CAASC,KAAT,CAAe,qBAAf,EAAsCP,IAAtC,EAA4C,MAAI,CAACC,SAAL,CAAeP,GAAf,CAA5C;;AADc,gCAEzB,MAAI,CAACO,SAAL,CAAeP,GAAf,CAFyB;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA,mCAGxB,MAAI,CAACgB,MAAL,CAAYhB,GAAZ,EAAiBM,IAAjB,CAHwB;;AAAA;AAAA;AAAA,mCAIxBN,GAAG,CAACiB,SAAJ,CAAc,MAAd,EAAoBX,IAApB,CAJwB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA1B;;AAAA;AAAA;AAAA;AAAA,oBAFR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+FASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,oBAEQ,KAAKY,MAAL,IAAe,KAAKA,MAAL,CAAYnB,MAFnC;AAAA;AAAA;AAAA;;AAGI,qBAAKa,GAAL,CAASO,IAAT,WAAiB,KAAKb,IAAtB;AAHJ;;AAAA;AAAA;AAAA,uBAMQ,KAAKc,OAAL,EANR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA5C0CC,kB;;;eAsD7B1B,a","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { IBotPlugin, IBotProvider } from '@lskjs/bots-base/types';\nimport Module from '@lskjs/module';\nimport asyncMapValues from '@lskjs/utils/asyncMapValues';\n\nexport abstract class BaseBotPlugin extends Module implements IBotPlugin {\n botsModule: any;\n providers: string[] = [];\n bots = {};\n async getConfig(): Promise<Record<string, any>> {\n return {\n enable: true,\n ...(await super.getConfig()),\n };\n }\n\n // abstract\n canRunBot(bot: IBotProvider): boolean {\n if (!Array.isArray(this.providers) || !this.providers.length) return true;\n return this.providers.includes(bot.provider);\n }\n\n async initBot(bot: IBotProvider, name: string): Promise<void> {\n // abstract\n }\n async initBots(): Promise<void> {\n await asyncMapValues(this.bots, async (bot: IBotProvider, name: string) => {\n if (!this.canRunBot(bot)) return;\n await this.initBot(bot, name);\n await bot.initPlugin(this, name);\n });\n }\n async init(): Promise<void> {\n await super.init();\n await this.initBots();\n }\n\n async runBot(bot: IBotProvider, name: string): Promise<void> {\n // abstract\n }\n async runBots(): Promise<void> {\n if (this.debug) this.log.trace('runBots', Object.keys(this.bots));\n await asyncMapValues(this.bots, async (bot: IBotProvider, name: string) => {\n if (this.debug) this.log.trace('this.canRunBot(bot)', name, this.canRunBot(bot));\n if (!this.canRunBot(bot)) return;\n await this.runBot(bot, name);\n await bot.runPlugin(this, name);\n });\n }\n async run(): Promise<void> {\n await super.run();\n if (!(this.config && this.config.enable)) {\n this.log.warn(`${this.name} is not enabled`);\n return;\n }\n await this.runBots();\n }\n}\n\nexport default BaseBotPlugin;\n"],"file":"BaseBotPlugin.js"}
\No newline at end of file