Skip to content

VK-бот для автоматического мониторинга и уведомления о бесплатных раздачах в Epic Games Store.

License

Notifications You must be signed in to change notification settings

tslyf/epicnotify-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EpicNotify

VK-бот для отслеживания бесплатных раздач игр в Epic Games Store (EGS). Проект представляет собой модульное приложение на Python 3.10+, реализующее периодический опрос API EGS, фильтрацию раздач и рассылку уведомлений подписчикам.

Архитектура построена на базе библиотеки SimpleVK (v1.0.1+) для взаимодействия с VK API и Peewee ORM для работы с SQLite.

Основные возможности

  • Устойчивый парсинг EGS: Алгоритм фильтрации корректно отличает 100% скидки (бесплатные игры) от обычных скидок, обрабатывает будущие раздачи и использует региональные настройки (FR) для обхода ограничений на просмотр игр (не протестировано).
  • Кэширование:
    • Списков игр (TTL 5 минут).
    • Списков администраторов бесед (TTL 30 секунд).
    • Загруженных вложения VK (в SQLite).
  • Модульная архитектура: Разделение на слои сервисов, хендлеров и моделей данных.
  • Фоновый воркер: Рассылка осуществляется в отдельном потоке.

Технический стек

  • Python 3.10+
  • SimpleVK: Работа с LongPoll, клавиатуры.
  • Peewee ORM: Взаимодействие с SQLite.
  • Requests: Синхронные HTTP-запросы.
  • Cachebox: In-memory кэширование.

Установка и запуск

1. Клонирование репозитория

git clone https://github.com/tslyf/epicnotify-bot.git
cd epicnotify-bot

2. Настройка окружения

Создайте файл .env в корне проекта и укажите необходимые переменные:

VK_TOKEN=vk1.a.YourTokenHere...
GROUP_ID=123456789
DB_NAME=epicnotify.db

3. Установка зависимостей

Используя uv (рекомендуется):

uv sync --locked

4. Инициализация и запуск

При первом запуске приложение автоматически создаст структуру таблиц в SQLite.

python main.py

License

MIT

About

VK-бот для автоматического мониторинга и уведомления о бесплатных раздачах в Epic Games Store.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages