Исходный код для бота "Дисткурсы ШЦПМ". Бот написан на языке Rust.
Бот для своей работы сохраняет от пользователя только следующие данные:
- токен для доступа к заданиям
- ответы на задания (на случай если способ получения ответов исправят)
Возможно Вы уже заметили, но последнее (до мая там) время ответы из телеграма перестали совпадать со всеми ответами заданий на дисткурсах, потому что задания стали уникальными для каждого. Поэтому для получения точных ответов необходим прямой доступ к заданиям.
Из-за особенностей способа получения ответов (перебор большого количества вариантов с помощью бага) правильные ответы просто остаются введёнными. Теоретически, бот мог бы сам "нажать" на кнопку отправки ответов.
Да, есть морально-этический вопрос, что из-за такого подхода становиться легко просто написать /solve на ссылку задания, нажать отправить ответы и забыть про дисткурс. То есть, большинству людей будет лень самому решать задания, проверяя их на правильность с готовыми ответами. Сейчас быстрого решения этой проблемы нет, но возможно что-нибудь можно будет сделать в следующем учебном году.
В крайнем случае придётся использовать большое количество аккаунтов (штук 10) для подбора правильных ответов. Возможно в таком случае будет легче просто гуглить ответы на вопросы.
TODO
TODO
- база данных PosgreSQL
- teloxide
- библиотека Rust для создания телеграм ботов
- nix и direnv
- удобное создание окружения для программирования