User Tools

Site Tools


chat-bots-2025-fall:telegram_bot_na_chistom_python_bez_frejmvorkov

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
chat-bots-2025-fall:telegram_bot_na_chistom_python_bez_frejmvorkov [2026/03/02 12:34] – removed - external edit (Unknown date) 127.0.0.1chat-bots-2025-fall:telegram_bot_na_chistom_python_bez_frejmvorkov [2026/03/02 12:34] (current) – ↷ Page moved from chat-bots:telegram_bot_na_chistom_python_bez_frejmvorkov to chat-bots-2025-fall:telegram_bot_na_chistom_python_bez_frejmvorkov olegsklyarov
Line 1: Line 1:
 +====== Telegram бот на чистом Python, без фреймворков ======
 +
 +===== Д/З =====
 +
 +==== Reading assignment (прочитать и понять) ====
 +
 +  * [[https://core.telegram.org/bots|Bots: An introduction for developers]]
 +  * [[https://core.telegram.org/bots/features|Telegram Bot Features]]
 +  * [[https://12factor.net|The Twelve-Factor App]]
 +  * [[https://sqlite.org|SQLite Home Page]] — база по SQLite, используем как справочник
 +
 +
 +=== Python библиотеки ===
 +
 +  * [[https://docs.python.org/3/tutorial/modules.html#packages|Python packages]]
 +  * [[https://docs.python.org/3/library/venv.html|venv]] — Creation of virtual environments
 +  * [[https://docs.python.org/3/library/sqlite3.html|sqlite3]] — DB-API 2.0 interface for SQLite databases; обязательно [[https://docs.python.org/3/library/sqlite3.html#sqlite3-tutorial|пройти туториал]]!
 +  * [[https://docs.python.org/3/library/urllib.request.html|urllib.request]] — Extensible library for opening URLs
 +  * [[https://docs.python.org/3/library/json.html|json]] — JSON encoder and decoder
 +  * [[https://pypi.org/project/python-dotenv|python-dotenv]] — reads key-value pairs from a ''.env'' file and can set them as environment variables
 +  * [[https://docs.python.org/3/library/os.html#os.getenv|os.getenv()]] — Return the value of the environment variable
 +
 +==== Практика (для зачета) ====
 +  - Написать код чат-бота, который был на 4 лекции. Рекомендация набирать руками, вникая в смысл каждой строчки. Активно пользуйся документацией из списка выше для лучшего понимания кода.
 +  - Запустить бота, протестировать на работоспособность. Бот должен отвечать на любое входящее текстовое сообщение тем же эхо-сообщением. В БД SQLite должны попадать записи о каждом входящем апдейте (полный [[https://core.telegram.org/bots/api#update|Update]] JSON).
 +  - Опубликовать код бота в ваш Git-репозиторий, указанный при регистрации на курс [[https://github.com/olegsklyarov/unn-http-api-bots/issues/1|тут]].
 +  - Настроить любой SQLite клиент для просмотра содержимого БД (https://sqlite.org/cli.html, https://sqlitebrowser.org/, https://dbeaver.io, https://www.heidisql.com, ...)
 +  - Написать преподавателю в личку ТГ, договориться о времени онлайн зачета по данному Д/З.
 +  - В назначенное время запустить своего бота на личном компьютере / ноутбуке. Написать преподавателю в личку ТГ о готовности бота.
 +  - Ждать ждать дальнейших инструкций от преподавателя.
 +  - Проверьте ✅ в ТГ личке от Олега Андреевича, значит задание принято. Проверьте, что появилась отметка в [[tablica_uspevaemosti|таблице успеваемости]].