chat-bots:projects:gpg-checker-bot
This is an old revision of the document!
Table of Contents
Чат-бот для отправки и проверки GPG сообщения
Базовый сценарий
- Пользователь запускает бот (команда /start)
- Бот сохраняет пользователя в своей БД. В ответном сообщении бот запрашивает у пользователя прислать его открытый (публичный) GPG ключ
- Пользователь отправляет свой открытый GPG ключ в виде текста.
- Бот принимает публичный ключ, после чего
- Получает из публичного ключа ФИО пользователя, его группу ННГУ и добавляет эту информацию в БД
- Сохраняет сам публичный ключ в БД
- Генерирует случайное сообщение (например использовать библиотеку Faker), сохраняет выбранное сообщение в БД
- Шифрует сообщение при помощи публичного ключа
- Отправляет зашифрованное сообщение пользователю и пишет сообщение, что ожидает получить расшифровку
- Пользователь расшифровывает сообщение бота, и отправляет результат обратно боту в виде текстового сообщения
- Бот получает от пользователя декодированное сообщение и сравнивает его с исходным сообщением из БД. Если сообщения сходятся, то поздравляет пользователя. Так же записывает в БД успешный статус проверки (задание принято). Если результат не сошлись, то сообщает об этом пользователю и ожидает снова дешифрованное сообщение.
Админ интерфейс
- В настройках бота указывается telegram_id администратора
- Администратору доступна команда /results, которая присылает сообщение со список пользователей со столбцами
- ФИО пользователя
- Номер группы
- Статус (новый, отправил публичный ключ, расшифровал сообщение)
Требования
- Один пользователь может пройти задание только один раз. Как только задание решено, бот не дает решать повторно
chat-bots/projects/gpg-checker-bot.1758621096.txt.gz · Last modified: by olegsklyarov
