Цель проекта - разработать Telegram-бот для изучения английского языка. Бот будет предлагать различные варианты слов и проверять их правильный перевод.
Вам предстоит:
- разработать программу-бота на Python
- спроектировать и реализовать базу данных (БД) для программы
- настроить взаимодействие бота с Yandex API
- написать документацию по использованию программы.
В результате выполнения этого задания вы:
- получите практический опыт работы с Telegram и Yandex API
- закрепите навыки работы с GitHub и программирования на языке Python
- разработаете с нуля полноценный программный продукт, который можно будет добавить в портфолио разработчика.
- У вас должен быть установлен Python 3.9/3.10 и любая IDE. Мы рекомендуем работать с Pycharm.
- Настроен компьютер для работы с БД PostgreSQL.
- Установлен git и создан аккаунт на Github.
- Cоздан бот в Telegram:
- инструкцию по созданию бота можно посмотреть здесь
- за основу бота можно взять код из модуля main.py.
Если все этапы чеклиста пройдены, то можете стартовать работу над проектом. Успехов в работе!
- Python + IDE(Pycharm)
- Git + Github
- Postgre + PgAdmin
- Статья по разработке бота в Telegram
- Инструкция по созданию бота в Telegram
- Основа бота - код из модуля main.py
Необходимо разработать программу-бота, которая должна выполнять следующие действия:
- Заполнить базу данных общим набором слов для всех пользователей (цвета, местоимения и т.д.). Достаточно 10 слов.
- Спрашивать перевод слова, предлагая 4 варианта ответа на английском языке в виде кнопок.
- При правильном ответе подтверждать ответ, при неправильном - предлагать попробовать снова.
- У каждого слова должен быть пример использования. Пример использования можно получать из сервиса dictionaryapi.
- Должна быть реализована функция добавления нового слова.
- После добавления нового слова выводить сколько слов изучает пользователь.
- Новые слова не должны появляться у других пользователей.
- Должна быть реализована функция удаления слова.
- Удаление должно быть реальзовано персонально для пользователя.
- Работа с ботом после запуска должна начинаться с приветственного сообщения.
Вот пример такого сообщения
Привет 👋 Давай попрактикуемся в английском языке. Тренировки можешь проходить в удобном для себя темпе.Причём у тебя есть возможность использовать тренажёр как конструктор и собирать свою собственную базу для обучения. Для этого воспрользуйся инструментами Добавить слово➕ или Удалить слово🔙.
Ну что, начнём ⬇️
В качестве примера интерфейса бота можете воспользоваться следующим референсом:
- Реализовать категории слов (страны, средства передвижения и т.д.).
- Не повторять изученные слова.
- Реализовать «изученность» слова. Слово считается изученным, если его угадали 5 раз без ошибок.
- Реализовать напоминания раз в день изучение английского языка.
- разработан бот и все части кода объединены в главной ветке (master/main);
- в личном кабинете необходимо отправить ссылку на репозиторий с решением.
Зачёт по разработанному проекту может быть получен, если созданный программный продукт соответствует следующим критериям:
- Отсутствуют ошибки (traceback) во время выполнения программы.
- Результат программы записывается в БД. Количество таблиц должно быть не меньше трёх. Приложена схема БД.
- Программа добавляет новые слова в БД для каждого пользователя.
- Программа декомпозирована на функции/классы/модули/пакеты.
- Написана документация по использованию программы.
- Код программы удовлетворяет PEP8. Перед отправкой решения на проверку проверьте код с помощью линтеров.