Как я сделал простого бота опросника

Как я сделал простого бота опросника

Основное
Цели
Решение
Результат

И то, что стоит учесть на будущее

Никаких сложностей в создании данного бота у меня не возникло. Документация aiogram понятная. Я бы сказал, исчерпывающая. Асинхронность не вызвала так много проблем, как я предполагал. А шаблон для отрисовки результатов, вообще моя любимая часть.

Единственное с чем у меня возникли проблемы, так это перевод для англоязычных пользователей. Я слишком рано спохватился, а переписывать бота мне ой как не хотелось. Поэтому имеем, только русско язычного бота. Вот.

Цели

  • Развернуть бота на VPS
  • Реализовать возможность изменения клавиатуры
  • Реализовать шаблон, для отрисовки результатов опроса

Решение

Динамические сообщения ботов

После реализации последовательной логики бота ( вопросы задаются по очереди ), я приступил к реализации динамического изменения клавиатуры, при выборе формата отображения данных (в процентах либо в абсолютных числах)

inline кнопка для настроек | Тим зе вебмастер

Порывшись в документации aiogram, я нашёл нужный мне метод ... И собственно решил одну из поставленных задач.

Шаблон результата

Дальше, я написал обычный текстовый файл. И добавил маркеров (это специальные слова за которые я бы смог зацепиться во время генерирования результатов)

текст с маркерами для python | Тим зе вебмастер

шаблон для результатов опроса ботом | Тим зе вебмастер

Развёртывание бота на VPS

Развёртывание ботов, для меня вообще было впервые. Поэтому хотелось бы поблагодарить автора данной статьи и сайта. За то что, направил меня в верном направлении.

Чёрт, я уж собирался на своём ноуте его постоянно запускать :)

Суть данного решения в том, что ты арендуешь виртуальных хостинг.

Создаёшь скрипт и демона ( процесса, который бы автоматически запускал бота при перезагрузке сервера )

Запускаешь и забываешь. Пока не потребуется внести правки в работу бот. ( Его нужно будет перезагрузить лично, чтобы изменения вступили в силу)

Переводы

Теперь к переводам. Я решил использовать уже знакомый мне python пакет для генерации файлов переводов. Такой же пакет для интернационализации использует django.

Но после дня попыток перевести все строчки ( частичного перевода мне удалось достигнуть), я сдался и опубликовал бота не интернационализированным. Позор мне, короче.

Просто надо будет выделить свободное время и разобраться со всеми нюансами.

Результат

Все поставленные задачи я выполнил, не считая интернационализации.

А результат ты можешь проверить сам введя TimQuizzer в телеграм.

Или по ссылке в браузере: https://t.me/TimQuizzerBot

Дополнительные материалы


сердце 1
3 соединённые точки 0