- Автоматический сбор цен с различных источников
- REST API для получения истории цен и текущих курсов
- Асинхронная обработка и хранение данных
- Интеграция с Telegram для уведомлений
- Гибкая настройка и расширяемость
- Использование Telethon для работы с Telegram
- Предподготовка: ручная настройка Telegram-аккаунта и подписок
Перед запуском сервиса необходимо подготовить Telegram-аккаунт, который будет использоваться для сбора данных:
- Создайте отдельный Telegram-аккаунт (рекомендуется не использовать личный аккаунт).
- Авторизуйте аккаунт через Telethon:
- Получите
api_idиapi_hashна https://my.telegram.org. - Запустите скрипт авторизации Telethon, следуйте инструкциям для ввода кода подтверждения.
- Получите
- Подпишитесь на нужные каналы и группы:
- Найдите каналы/группы, где публикуются цены на интересующие предметы.
- Вручную подпишитесь на них через Telegram-клиент.
- Проверьте, что аккаунт видит сообщения и может их читать.
- Добавьте аккаунт в приватные чаты, если требуется.
- Проверьте работу Telethon:
- Запустите тестовый скрипт для получения сообщений из каналов.
- Убедитесь, что сообщения успешно читаются.
Важно: процесс подготовки Telegram-аккаунта и подписок полностью ручной и не автоматизируется средствами проекта. Это связано с ограничениями Telegram и необходимостью ручного подтверждения.
- Python 3.11+
- FastAPI — быстрый и современный веб-фреймворк
- SQLAlchemy — ORM для работы с базой данных
- APScheduler — планировщик задач
- Pydantic — валидация и сериализация данных
- Alembic — миграции базы данных
- Telethon — асинхронная работа с Telegram
- Клонируйте репозиторий:
git clone https://github.com/hellsmenser/MMOMarket.git cd MMOMarket - Установите зависимости:
pip install -r requirements.txt
- Запустите миграции:
alembic upgrade head
- Запустите приложение:
python run.py
Документация доступна по адресу /docs после запуска сервера.
/prices/— история цен/coin/— курс игровой валюты/items/— информация о предметах
app/— основной код приложенияapi/— роутеры и обработчики APIcore/— конфигурация, логирование, инициализацияdb/— модели, схемы, CRUDservices/— бизнес-логикаtasks/— задачи для планировщикаtelegram/— интеграция с Telegram (Telethon)utils/— вспомогательные функции
migrations/— миграции Alembicrequirements.txt— зависимостиrun.py— точка входа
- 🌐 Попробовать: https://hellsmenser.github.io/MMOMarket-frontend/
- Telegram: @hellsmenser
- Issues: GitHub Issues
- Frontend: MMO Market frontend
This is an independent, open-source fan project created for informational purposes only.
It is not affiliated with, endorsed by, or associated with NCSoft, its current or former regional partners or distributors, including 4game (formerly operated by Innоva).
All item names and terminology are used solely for reference and identification purposes.
All trademarks and game content remain the property of their respective owners.
Data is collected from Telegram notifications received by users from the official 4game bot.
Это независимый проект с открытым исходным кодом, созданный исключительно в информационных целях.
Он не связан с NCSoft, её текущими или бывшими региональными партнёрами или дистрибьюторами, включая 4game (ранее управляемый компанией Innоva).
Все названия предметов и игровая терминология используются исключительно для справки и идентификации.
Все торговые марки и материалы остаются собственностью их правообладателей.
Данные собираются из Telegram-уведомлений, получаемых пользователями от официального бота 4game.