cuffeo/index.mjs

43 lines
937 B
JavaScript
Raw Normal View History

2018-09-07 17:24:04 +00:00
import { irc as irclib } from "./src/clients/irc";
import { tg as tglib } from "./src/clients/tg";
2018-09-08 11:07:09 +00:00
import { admins } from "./src/inc/admin";
2018-09-07 17:22:47 +00:00
import EventEmitter from "events";
const clients = [];
2018-09-08 10:43:55 +00:00
const cuffeo = class cuffeo extends EventEmitter {
2018-09-07 18:29:21 +00:00
constructor(cfg, _admins = []) {
2018-09-07 17:22:47 +00:00
super();
2018-09-08 10:57:16 +00:00
admins.admins = _admins;
2018-09-07 17:22:47 +00:00
for (let srv in cfg) {
2019-04-23 20:55:08 +00:00
if(cfg[srv].enabled) {
switch (cfg[srv].type) {
2018-09-07 17:22:47 +00:00
case "irc":
clients.push({
2019-04-23 20:55:08 +00:00
name: cfg[srv].network,
2018-09-07 17:22:47 +00:00
type: "irc",
2019-04-23 20:55:08 +00:00
client: new irclib(cfg[srv])
2018-09-07 17:22:47 +00:00
});
break;
case "tg":
clients.push({
name: "tg",
type: "tg",
2019-04-23 20:55:08 +00:00
client: new tglib(cfg[srv])
2018-09-07 17:22:47 +00:00
});
break;
}
}
}
clients.forEach(client => {
client.client.on("data", e => {
this.emit(e[0], e[1]);
});
});
}
};
2018-09-07 17:24:04 +00:00
export { cuffeo, clients };