Web-додаток для снайпінгу скінів на lis-skins.com

Заказчик: AI | Опубликовано: 19.02.2026

Проєкт: Web-додаток для снайпінгу скінів на lis-skins.com через API + WebSocket 1. Мета проєкту Розробити веб-додаток, який: Підключається до API та WebSocket lis-skins.com Сканує нові позиції (items/listings) Фільтрує їх по заданих критеріях: Float Pattern (Paint Seed) Price При співпадінні критеріїв: Зберігає item у БД Відправляє повідомлення в Telegram Веде історію перевірених та знайдених позицій Має веб-інтерфейс для керування пошуком API документація: https://lis-skins.stoplight.io/docs/lis-skins/ Необхідне використання WebSocket, описаного в документації. 2. Архітектура 2.1 Загальна схема Frontend (Web UI) ↓ Backend (API + WebSocket listener + логіка фільтрації) ↓ Database (історія + налаштування + лог) ↓ Telegram Bot API (повідомлення) 3. Функціональні вимоги 3.1 Підключення до lis-skins API Backend повинен: Підключатися до: REST API (для первинного сканування) WebSocket (для отримання нових лістингів у реальному часі) Використовувати API-ключ користувача Ключ зберігається у БД (шифрується) Не зберігається у відкритому вигляді Обробляти: Нові предмети Зміну ціни Видалення предмета 3.2 Логіка снайпінгу Програма повинна перевіряти кожен новий item по наступних критеріях: 1) Float: Float від (min_float) Float до (max_float) 2) Pattern (Paint Seed): Можливість вказати: Список конкретних seed (наприклад: 123, 332, 456) або Діапазон seed (опціонально) 3) Price: Мінімальна ціна Максимальна ціна Умова спрацювання: Якщо: float ∈ заданому діапазоні pattern ∈ списку або діапазоні price ≤ max_price → тригер події. 3.3 Telegram-сповіщення Після знаходження відповідного item: Програма повинна: Надіслати повідомлення в Telegram через бота Формат повідомлення: Назва предмета Float Pattern Price Посилання на сторінку предмета Час знаходження Скрін предмета з сайту cs2inspects.com (надам детальне пояснення де взяти посилання на предмет) Бот повинен: Підтримувати один або декілька chat_id Налаштовуватися через UI 3.4 Захист від дублювання Програма повинна: Зберігати ID перевірених предметів у БД Не надсилати повторне повідомлення для того самого item_id Зберігати статус: checked matched notified 3.5 Веб-інтерфейс Інтерфейс повинен містити: 1. Блок пошуку Поля: Skin Name Float From Float To Paint Seed Price From Price To 2. Блок “Favorites” (обрані для моніторингу предмети) Таблиця з колонками: Назва Ціна Float Pattern Час знаходження Статус Кнопки: Видалити Оновити Увімкнути/вимкнути авто-скан 3. Auto-refresh Можливість: Увімкнути авто-скан (через WebSocket) Показувати час останнього оновлення 4. База даних Таблиці: 1. users id telegram_chat_id api_key (encrypted) created_at 2. filters id user_id skin_name float_min float_max pattern_list price_min price_max active 3. items_checked id external_item_id skin_name float pattern price checked_at matched notified 5. WebSocket вимоги Постійне з’єднання Автоматичний reconnect Обробка: нових лістингів змін 6. Продуктивність Система повинна: Обробляти 200 нових items/хв Працювати 24/7 7. Безпека API ключ зберігається в зашифрованому вигляді Обмеження доступу до адмінки (авторизація) Валідація input -------------------------------------------- Швидше за все, це допоможе як у розробці так і для розуміння завдання. (немає проблем у використанні коду звідси): https://github.com/progeroffline/lis-skins-parser/blob/main/README.md