Чат бот с информацией о ТВ программе
В этом домашнем задании ваша цель - сделать телеграм бота, который дает базовую информацию по ТВ передаче.
Вам нельзя использовать библиотеки для создания готовых телеграм ботов! (но не запрещается посмотреть как они работают)
Используйте API телеграма.
Ваша задача:
- Перейдите в документацию по созданию ботов в телеграм: https://core.telegram.org/bots
- Создайте токен для работы с ботом по инструкции в документации
- Сделайте клиента для работы с API телеграма (документация к API: https://core.telegram.org/bots/api)
- Реализуйте логику работы бота по следующему принципу:
- У пользователя доступно только одно действие: запрос информации по имени ТВ программы. То есть мы отправляем боту сообщение с названием программы и получаем в ответ информацию об этой программе. (можно использовать
parse_mode = htmlдля валидации html тегов в тексте описания тв программы) - Если такой программы не найдено или пользователь отправил некоректное сообщение (картинку, стикер и тд.) отправлять сообщение с ошибкой.
- Для получения информации о тв программе используйте решение домашки 1.5 (если у вас его нет, напишите мне в телеграм (@indionapolis), я отправлю вам готовый код)
- У пользователя доступно только одно действие: запрос информации по имени ТВ программы. То есть мы отправляем боту сообщение с названием программы и получаем в ответ информацию об этой программе. (можно использовать
- Мы можем считать, что у нас только один пользователь
- Токен телеграма должен быть указан в файле
.envпод именемTELEGRAM_TOKEN(локальный .env вы в гит не пушите, проверяющий сделает свой файл со своим токеном) - Итоговый проект должен проходить тест и проверки flake8, black и MyPy
Полезные ссылки:
Запуск тестов:
make lint
make test
Пример работы бота:
# запускаем бота
python -m main.py
# чат в телеграм
User:
Family Guy
Bot:
Name: Family Guy
Network Name: FOX
Network Country Name: United States
Summary: Family Guy follows Peter Griffin the endearingly ignorant dad, and his hilariously offbeat family of middle-class New Englanders in Quahog, RI. Lois is Peter's wife, a stay-at-home mom with no patience for her family's antics. Then there are their kids: 18-year-old Meg is an outcast at school and the Griffin family punching bag; 13-year-old Chris is a socially awkward teen who doesn't have a clue about the opposite sex; and one-year-old Stewie is a diabolically clever baby whose burgeoning sexuality is very much a work in progress. Rounding out the Griffin household is Brian the family dog and a ladies' man who is one step away from AA.
Усложненный вариант
- Сделать возможность сохранять шоу в избанное
- Выводить список избранных шоу
- Сделать возможность удалять шоу из избанного
Критерии оценивания
- Сделать клиент для API телеграма - 2 балла
- Сделать бота, который реализует логику общения - 2 балла
- Сделать скрипт, который запускает бота для обработки входящих сообщений - 2 балла
- Использовать изученые методики ООП (создать логические классы, сделать релевантные методы для их работы) - 2 балла
- Пройти проверку линтерами - 1 балл
- Покрыть тестами логику работы бота - 1 балл
- Реализовать логику избранного шоу - отдельные доп 3 балла
Metadata
Release files for tinkoff-backend-academy-telegram-bot 0.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tinkoff_backend_academy_telegram_bot-0.0.7-py3-none-any.whl | Python 3 | none | any | Details for tinkoff_backend_academy_telegram_bot-0.0.7-py3-none-any.whl |
Release files / tinkoff_backend_academy_telegram_bot-0.0.7-py3-none-any.whl
| Download URL | tinkoff_backend_academy_telegram_bot-0.0.7-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
926a4f2ccadfeeffa9c740d427f09433ff4a6219280a5bd213fc81fa85433d6a
|
|
BLAKE2b-256 checksum How to use checksums |
45c9b4028fe80dba050fbc3b6284ec45523a9dae3433f39b1f4a09da05d259b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.5
|
Security for tinkoff-backend-academy-telegram-bot 0.0.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.