Направление проекта - это помочь людям оторваться от своих девайсов и провести приятно время в городе, а чтобы не утруждать себя поисками, были собраны все интересные события, которые публикуются в группе телеграм <ссылка на группу> или телеграм бот <ссылка на бота>. Уведомления приходят на ежедневной основе.
  • Python 99.8%
  • Makefile 0.2%
Find a file
2026-03-16 10:02:16 +03:00
app chat_id привёл к строке в ручке webhook, иначе винда ругается 2025-12-26 23:39:11 +03:00
reports Rename договорённости по задаче to 000_договорённости по задаче 2025-12-27 11:18:56 +03:00
.gitignore добавил в исключения файлы базы данных .db 2025-12-19 15:30:35 +03:00
.python-version Инициалитзация проекта, предварительная подготовка структуры проекта 2025-11-19 12:58:57 +03:00
example.env добавил пример файла для виртуального окружения 2026-03-16 10:02:16 +03:00
pyproject.toml удалил sslify т.к. нет необходимости 2025-12-23 17:47:40 +03:00
README.md Update README.md 2025-12-26 23:42:59 +03:00
requirements.txt обновил файл зависимостей, убрал sslify 2025-12-26 22:40:52 +03:00
uv.lock удалил sslify т.к. нет необходимости 2025-12-23 17:47:40 +03:00

Чат-бот 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 image

image

Запуск приложения

Вариант через консоль

image

Вариант через кнопки пользовательского интерфейса VSCode

  • Запуск кода через Debugging возможно только когда в VSCode открыт файл с точкой доступа т.е. main.py image
image
  • Выбираем запуск скрипта с аргументом image

  • В пустое поле вписываем адрес туннеля Снимок экрана 2025-12-26 215436

  • Если перейти по адресу, увидим сообщение от бота image

Telegram

Начало работы

image

Однократный запрос

image

Добавить в расписание

image
  • Если уже есть в базе image

Удалить из расписания

image
  • Если в базе уже нет image

Помощь

image