/SimpleSurveyBot

simple python telegram bot

Primary LanguagePython

SimpleSurveyBot

Бот для проведения опросов.

Описание бота:

  • Команда /start возвращает описание бота и меню из двух кнопок, “Создать опрос” и “Статистика”
  • Опрос - сообщение с вопросом и вариантами ответа в виде InlineKeyboardMarkup
  • Команда /start {quest_id}, например, /start 123. Ответ - опрос
  • После нажатия на кнопку в опросе текст сообщения должен заменяться на "ответ отправлен". При повторном вызове команды выводится ошибка, что проходить опрос нужно единожды.
  • При нажатии на создать опрос - многоуровневый диалог, в котором поступает информация от пользователя - вопрос и варианты ответов. Реализовано с помощью finite state machine (FSM). Вариантов ответа от 2 до 6. После создания опроса пользователь получает ссылку на опрос вида: https://t.me/{bot_nickname}?start={quest_id}
  • При нажатии на кнопку статистика - меню для выбора опроса с пагинацией с помощью InlineKeyboardMarkup. При нажатии на кнопку - отправить сообщение со статистикой по опросу.

Использованные технологии:

aiogram
postgresql
tortoise-orm