1
0
Fork 0
mirror of https://github.com/muerwre/vk-tg-bot.git synced 2025-04-25 23:16:41 +07:00

added config dump command

This commit is contained in:
Fedor Katurov 2021-05-28 15:12:50 +07:00
parent c709bbf94c
commit f3e0062033
2 changed files with 26 additions and 2 deletions

View file

@ -5,10 +5,15 @@ import { PostgresDB } from "../../service/db/postgres";
import { Readable } from "stream"; import { Readable } from "stream";
export class TelegramApi { export class TelegramApi {
constructor(private telegram: TelegramService, private db: PostgresDB) {} constructor(
private telegram: TelegramService,
private db: PostgresDB,
private config: Record<any, any>
) {}
public listen() { public listen() {
this.telegram.bot.command("ping", TelegramApi.ping); this.telegram.bot.command("ping", TelegramApi.ping);
this.telegram.bot.command("config", this.dumpConfig);
this.telegram.bot.command("pop", this.pop); this.telegram.bot.command("pop", this.pop);
return; return;
} }
@ -46,6 +51,25 @@ export class TelegramApi {
return next(); return next();
}; };
/**
* Pops last recorded request from vk
*/
private dumpConfig = async (ctx, next) => {
const username = ctx?.update?.message?.from?.username;
if (!username || !this.telegram.isOwner(`@${username}`)) {
return;
}
const source = JSON.stringify(this.config, null, 2);
await ctx.replyWithDocument({
source: Readable.from(source),
filename: `config.txt`,
});
return next();
};
/** /**
* Probes webhook url and falls back to polling mode on error * Probes webhook url and falls back to polling mode on error
*/ */

View file

@ -16,7 +16,7 @@ async function main() {
const telegram = new TelegramService(config.telegram); const telegram = new TelegramService(config.telegram);
const vkService = new VkService(config.vk, telegram, config.templates, db); const vkService = new VkService(config.vk, telegram, config.templates, db);
const telegramApi = new TelegramApi(telegram, db); const telegramApi = new TelegramApi(telegram, db, config);
telegramApi.listen(); telegramApi.listen();
await telegram.start(); await telegram.start();