- Python 99.8%
- Makefile 0.2%
| app | ||
| reports | ||
| .gitignore | ||
| .python-version | ||
| example.env | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
| uv.lock | ||
Чат-бот EventNotify - рассылка уведомлений о событиях в Санкт-Петербурге
Содержание
Возможности
Данное приложение собирает актуальные данные о событиях, кино, спектаклях в г. Санкт-Петербург по апи сервиса KudaGo Взаимодействует с чат-бот сервиса тегеграм по апи телеграм и отправляет уведомления пользователю на ежедневной основе путём добавления id чата в список расписания или по запросу пользователя.
Можно:
- Подписаться на уведомления
- Отписаться от уведомлений
- Запросить список событий без подписки
Технологии
Код проекта написан на python3 с применением микро фреймворка Flask и встроенной базы данных SQLite Использованы апи сервисов KudaGo и API Telegram
Установка
Для установки проекта на ПК, исходный код необходимо скачать
- Github, на главной странице проекта
- Нажать на зелёную кнопку
Code - В всплывающем окне выбрать
Download ZIP - Разархивировать код проекта в нужную директорию на ПК
Переменные окружения
Для корректой работы программы, нужно:
- Создать файл
.envв корне проекта, файл с точкой в начале имени (чтобы был скрыт в системе) - Добавить в него переменные, точное имя перененных для копирования ниже
url_kuda_go = https://kudago.com/public-api
api_version = v1.4
tg_token = токен телеграм бота, можно скопировать у BotFather
tg_url = https://api.telegram.org
Зависимости
- python - 3.13
- Flask - 3.1.2
- requests - 2.32.5
- apscheduler - 3.11.1
- python-dotenv - 1.2.1
- сервис для туннелирования (ngrok, tuna, etc.) - нет в файле зависимостей
requirements.txtт.к. внешний сервис
Запуск
- Установка зависимостей
pip install -r requirements.txt
- Запуск сервиса туннелирования
tuna http 5000
- Запуск приложения
Вместо
localhostнужно прописать https адрес предоставленный сервисом туннелирования
py main.py localhost
Демонстрация
Запуск туннелирования
Столкнулся с тем, что терминал не "видит" команду
tuna, помогает убить терминал и открыть сноваИконка мусорного ведра в VSCode
Запуск приложения
Вариант через консоль
Вариант через кнопки пользовательского интерфейса VSCode
- Запуск кода через Debugging возможно только когда в VSCode открыт файл с точкой доступа т.е.
main.py
-
Выбираем запуск скрипта с аргументом
-
В пустое поле вписываем адрес туннеля
-
Если перейти по адресу, увидим сообщение от бота
Telegram
Начало работы
Однократный запрос
Добавить в расписание
- Если уже есть в базе
Удалить из расписания
- Если в базе уже нет