Ответы пользователя по тегу Telegram
  • Как правильно обрабатывать события в node-telegram-bot-api?

    mak_ufo
    @mak_ufo
    Кратко:
    Возьмите telegraf и посмотрите этот раздел

    Более развёрнуто:
    Вам нужно где-то хранить "состояние" пользователя. Например, в БД или Redis. И тогда код будет примерно такой:
    bot.on('message', msg => {
         const session = getSessionFromDb(msg.from.id)
         if (session === 'foo') { //пользователь уже ввёл напоминание
             //обрабатываем одним способом
         } else if (session === 'bar') { //пользователь не ввёл 
            //обрабатываем другим способом
         }
    })


    Развёрнуто:
    Читайте про конечную машину состояний. Её суть в том, что она на одинаковые входные данные возвращает разные значения в зависимости от состояния, в которой она находится. В той же википедии это подробно описано.
    Ответ написан
    1 комментарий
  • Правильный пример бота на node Telegram bot api?

    mak_ufo
    @mak_ufo
    Почитайте про конечные автоматы. Если коротко, то вы должны где-то хранить состояние пользователя (аналог сессий), и в зависимости от конкретной сессии ожидать конкретный тип данных.

    Уже скинули пример из телеграфа, там это хорошо реализовано.
    З.Ы. Выкиньте уже node-telegram-bot-api на помойку)
    Ответ написан
    3 комментария