====== 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|таблице успеваемости]].