Repository files navigation
/add <категория> <текст заметки> - добавить заметку
/delete <категория> <номер заметки> - удалить заметку
/view <категория> - просмотреть заметки в категории
/view_all - просмотреть все заметки
При не указанной категории заметки, автоматически она попадает в категорию "-"
Категория заметки может быть одним словом
Для удаления заметки цифра указывается числом, а не словом
Пока нет меню с существующими категориями и отдельной функции для их показа (в разработке)
Пока не предусмотрено хранение медиаматериалов в заметках, только текстовые из сообщений
Возможные будущие улучшения:
Поддержка других форматов заметок
Перенос существующих категорий в меню
Перенос команд в меню для более удобного добавления/удаления заметок
Добавление команды вывода категорий заметок
Поддержка различного формата категорий (не только одно слово)
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
пользователь отправляет ссылку, получает сокращенный вариант
и тд
если не хочется использовать апи, реализуйте локальные функции: заметки, список покупок, калькулятор и тд
You can’t perform that action at this time.