Repository files navigation python-telegram-bot-template
Подготовка окружения для разработки
либо использовать make init_dev
либо открыть Makefile и подсмотреть комады там
Подготовка переменных окружения
скопировать файл .env.example в .env
заполнить значения переменных
.env подтягивается как при запуске приложения без контейнера, так и добавляется в конфигурации docker-compose.yml, где пробрасывается внутрь контейнера
Отладка кода без контейнера (на примере VSCode)
открыть main.py
расставить точки останова (опционально)
слева выбрать меню отладки (Ctrl+Shift+D)
рядом с зеленой стрелочкой выбрать конфигурацию Python Debugger: Current File
запустить отладку
Отладка кода в контейнере (необязательно)
изменить конфигурацию на Docker: Python - General
запустить отладку
Отладка кода в контейнере с помощью docker-compose (необязательно 2)
запустить контейнер для отладки с помощью команды make debug
изменить конфигурацию на Python Debugger: Remote Attach
подключиться отладчиком
после завершения отладки выполнить команду make stopdebug
Запуск приложения (на сервере, например)
создать директорию data и дать права 777 (или создать docker volume)
выполнить команду docker compose up -d --build
или через make (подсмотреть в Makefile )
посмотреть логи контейнера можно командой docker compose logs -f
чтобы остановить логи нажать Ctrl+C
остановка командой docker compose down
после нескольких тестовых сборок можно почистить образы/контейнеры которые накопились: docker system prune
для очистки volume (данных приложения) можно использовать docker system prune --volumes (использовать с осторожностью!)
Автоматическая сборка контейнера
с использоанием Github Actions можно автоматически собирать контейнеры
описание сборки в файле docker-image.yml
но будут нужны дополнительные настройки для доступа к нему (сделать публичным, например)
тогда после каждого коммита (или публикации тэга и тд) будет подготавливаться новая версия образа приложения
образ можно заранее прописать в файле docker-compose.yml на сервере
тогда для обновления приложение достаточно будет запустить команду docker compose pull && docker compose up -d
сборка на сервере уже не потребуется
Документация по VSCode (Python, Docker)
Возможные темы для минимального обязательного выполнения
"шаблон" без всякого лишнего, который можно использовать: clean_bot_template.py
предлагаю выбрать любое открытое API из списка public-apis
добавить обработку ботом сообщения от пользователя и выдачи результата
например (выбрать одно, лучше придумать своё):
пользователь вводит команду, получает картинку кота
пользователь проверяет курс валют
пользователь запрашивает погоду по местоположению
пользователь отправляет английский текст и получает перевод на русский
пользователь вычисляет метоположение по IP
пользователь отправляет ссылку, получает сокращенный вариант
и тд
если не хочется использовать апи, реализуйте локальные функции: заметки, список покупок, калькулятор и тд
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
You can’t perform that action at this time.