| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- //@flow
- const moment = require("moment");
- const cmdRegistry = require("../commandRegistry");
- const telegraf = require("../telegraf");
- const Extra = require('telegraf/extra');
- const Markup = require('telegraf/markup');
- const db = require("../db");
- const ie = require("../utils/internalError")("bot/app");
- function app() {
- if (telegraf.bot == null) {
- throw new Error("Bot uninitialized");
- }
- telegraf.bot.hears(/✔️\[(\d+)\] [\w ]+/, async (ctx) => {
- try {
- let id = ctx.match[1];
- let app = await db.App.findById(id);
- await app.update({
- activated: true
- })
- ctx.reply(`${app.name} accepted`);
- } catch (e) {
- ie(1);
- }
- });
- telegraf.bot.hears(/❌\[(\d+)\] [\w ]+/, async (ctx) => {
- try {
- let id = ctx.match[1];
- let app = await db.App.findById(id);
- await app.destroy();
- ctx.reply(`${app.name} deleted`);
- } catch (e) {
- ie(2);
- }
- });
- cmdRegistry.register("pendingApps", async (ctx) => {
- try {
- let pendingApps = await db.App.findAll({
- where: {
- activated: false
- },
- limit: 5
- });
- if (pendingApps <= 0) {
- ctx.reply("No application is waiting for activation");
- return;
- }
- let apps = pendingApps.map(el => {
- return [
- `✔️[${el.id}] ${el.name}`,
- `❌[${el.id}] ${el.name}`
- ]
- });
- console.log(apps);
- return ctx.reply('Activate app', Markup
- .keyboard(apps)
- .oneTime()
- .resize()
- .extra());
- } catch (e) {
- ie(3);
- }
- });
- cmdRegistry.register("registerApp", async (ctx) => {
- try {
- const args: string = await ctx.state.command.args;
- if (args.length > 25) {
- ctx.reply("Name to long!");
- return;
- }
- const appName = args;
- const instance = await db.App.create({
- name: appName,
- activated: true
- });
- ctx.reply(`App registered\n` +
- `Name: ${instance.name}\n` +
- `Auth: ${instance.auth}`);
- return;
- } catch (e) {
- ie(4);
- }
- });
- }
- module.exports = app;
|