anote

Форк
0
/
Command.ts 
41 строка · 1.1 Кб
1
import { Context } from "telegraf";
2
import { Keywords } from "../flows/Keywords";
3
import Saver from "../service/Saver";
4
import { ICommand } from "../types/Types";
5

6
export class Command implements ICommand {
7
    storage: Saver = new Saver();
8
    ctx: Context;
9

10
    constructor(ctx: Context){
11
        this.ctx = ctx;
12
    }
13

14
    async execute(): Promise<string | null> {
15
        return 'Smth wrong';
16
    }
17

18
    isValid(keyword: Keywords): boolean {
19
        if(!this.getCurrentText().startsWith(keyword) || this.getCurrentText().length < 2) return false;
20
        return true;
21
    }
22

23
    getTail(): string {
24
        if(!this.getCurrentText().trim().includes(' ')) return '/';
25
        return this.getCurrentText().trim().split(' ')[1];
26
    }
27

28
    getSecondParameter(): string {
29
        return this.getTail().split(' ')[0];
30
    }
31

32
    getCurrentText(): string {
33
        const update: any = this.ctx.update;
34
        return update.message.text;
35
    }
36

37
    getPath(): string {
38
        const lastIndex = this.getTail().lastIndexOf("/");
39
        return this.getTail().substring(0, lastIndex);
40
    }
41
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.