RotarYMonkeY
@RotarYMonkeY
Изучаю HTML, CSS, JS и PHP

Как создать ветки диалога для бота в телеграм?

Пишу бота на node telegram bor api
В силу маленького опыта, не могу найти в документации или сообразить самостоятельно, как же сделать ветки диалога.
Т.е. я хочу создать команду /dialog после которой бот задает вопрос, например, "Какая погода у Вас сегодня?".
Далее пользователь должен написать что-то вроде "Солнечно" или "Пасмурно" и бот на это сообщение отреагирует, например, сообщением "Скоро наладится" и т.п.
НО, при этом, если написать "пасмурно" не войдя в "диалог" с ботом по команде /dialog, бот не реагировал бы так же...т.е. обработчик на text.toLowerCase() == 'пасмурно' не повесить.
Своего рода создать форму нужно, с конкретными ответами на нее и так, чтобы эти ответы не обрабатывались без формы.
Фух...надеюсь донес мысль :)
  • Вопрос задан
  • 8734 просмотра
Решения вопроса 1
@Weridy
Вам нужно где то держать "состояние" или если понятнее точку разговора между богом и юзером. К примеру создаёте несколько таких "дорожек" по которым должен ходить юзер. И потом сохраняете к примеру в базе данных "положение" юзера на пути, так бот будет знать что дальше подсовывать пользователю после его команды. Или используйте next step function , в питоне точно знаю что есть. Такая хреновина(чаще всего функция ) которую бот будет использовать для обработки следующего сообщения . Так можно строить цепочки последовательностей цепляя на следующем шагу ещё один шаг и так до старости.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@nllm
Подобных вопросов было много:
Конечный автомат, как реализовать с циклом for при использовании telegram api?
Как написать автомат состояний (api telegram)?
Какой стандартный алгоритм работы бота?
Как сделать так, чтобы бот не потерял «нить разговора»?
Как осуществить некое подобие сессии с пользователем при использовании Телеграм бота?
и т.д.

В силу маленького опыта, не могу найти в документации

Состояния это не задача api платформы. Это задача, которую надо решать при создании бота. Поэтому и не нашли в документации ничего.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы