UNPKG

event-local

Version:

Event client

84 lines 3.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const util_1 = require("util"); const EventLocal_1 = require("./EventLocal"); var telegram = require("telegram-bot-api"); class Messager { constructor(t) { this.t = t; } send(chat_id, message) { this.t.sendMessage({ chat_id: chat_id, text: message }); } } exports.Messager = Messager; class MessagerEmpty extends Messager { constructor(t) { super(t); } send(chat_id, message) { this.t.sendEvent("messager.send", JSON.stringify({ chat_id: chat_id, message: message })); console.log("Телеграмм бот не активирован", chat_id, message); } } exports.MessagerEmpty = MessagerEmpty; function MessageLocalInit(el) { if (process.env.TELEGRAM_ENABLE !== "1") { console.log("[X] Подключение к API телеграма"); return new MessagerEmpty(el); } else { console.log("[*] Подключение к API телеграма"); const api = new telegram({ token: process.env.TELEGRAM_API, http_proxy: { host: process.env.TELEGRAM_PROXY_HOST, port: +process.env.TELEGRAM_PROXY_PORT }, updates: { enabled: true, get_interval: 1000 } }); api.sendMessage({ chat_id: process.env.TELEGRAM_COMMAND_CHAT_ID, text: "Запущен сервис с именем " + process.env.SERVICE_NAME + " на " + EventLocal_1.default.localHost + ":" + process.env.SERVICE_PORT + "/help" }); api.on("message", function (message) { console.log(message); if (Array.isArray(global.MESSAGE_CHANNEL)) for (let f of global.MESSAGE_CHANNEL) { if (f.event.test(message.text)) { let exec = f.event.exec(message.text); if (util_1.isFunction(f.callback)) { const result = f.callback(exec[1]); if (util_1.isString(result)) { api.sendMessage({ chat_id: message.chat.id, text: result }); } else if (!result) { api.sendMessage({ chat_id: message.chat.id, text: "Сообщение получено" }); } else if (util_1.isBoolean(result)) { api.sendMessage({ chat_id: message.chat.id, text: result ? "исполнено" : "неудача" }); } } } } }); return new Messager(api); } } exports.MessageLocalInit = MessageLocalInit; //# sourceMappingURL=MessageLocalInit.js.map