SaaS-продукт SaaS · Discord-боти
UA Express

StatStation: щоденна статистика союзу TS2 у Discord

Discord-бот, який щоранку сам публікує звіт по союзу TrainStation 2: топ-гравці, тренд сумарного SP із проєкцією на 7 днів, прогноз обгонів і щоденна дошка по кожному гравцю. Налаштовується трьома командами й далі працює без участі людини.

Рік 2026
Ключовий результат
06:30

звіт союзу лежить у Discord-каналі щоранку за розкладом сервера, без жодної команди й без адміна, який його запускає

Задача та рішення

Задача

Статистика TrainStation 2 публічна, але користуватися нею щодня незручно: рейтинги показують лише зріз на поточний момент, історії немає, а щоб зрозуміти, чи наздоганяємо сусідній союз, хтось мусив вручну виписувати цифри в таблицю щовечора. У спільнотах це завжди тримається на одному активному адміні й зникає, щойно він втомлюється.

Потрібен був сервіс, який сам збирає щоденні дані, тримає історію, рахує тренди й прогнози та кладе готовий звіт у Discord-канал союзу, там, де спільнота вже живе. Плюс монетизація без власного платіжного контуру: команда не хотіла ні мерчант-акаунта, ні обробки карток.

Рішення

Побудували StatStation як самостійний SaaS-продукт у Discord. Уся конфігурація зведена до одного поняття, фіду: один союз, один канал, один час доби. Адмін виконує три команди (/setup timezone, /setup add, і за потреби /setup demo) і більше не повертається до налаштувань: звіт постить сам за розкладом, кнопки «надіслати зараз» немає навмисне.

Щоденний звіт складається з хедлайну й топ-гравців, графіка тренду сумарного SP із проєкцією на 7 днів, прогнозу обгонів найближчих союзів і дошки по кожному гравцю за добу. Графіки доставляються файлами, тому бот перед постингом перевіряє свої чотири права в каналі (View Channel, Send Messages, Embed Links, Attach Files) і прямо повідомляє, чого саме бракує, замість тихого збою.

Білінг віддали в Discord Premium Apps, де Discord виступає merchant of record, а підписка оформлюється й скасовується в самому Discord. Тарифи відрізняються лише лімітом союзів (Solo / Alliance / Federation), додаткові канали безкоштовні, а перевищення ліміту чи закінчення підписки нічого не видаляє: фіди зберігаються, а безкоштовний top-50 дайджест продовжує ходити.

Окремо працювали над мінімізацією даних: бот просить лише Guilds intent і зберігає виключно налаштування фідів (сервер, канал, союзи, час, таймзона, стан підписки), без вмісту повідомлень і списків учасників. Дані бере з публічних лідербордів, до ігрових акаунтів не має доступу і в грі нічого не змінює. До продукту зробили лендінг і документацію з розділами Docs / Support / Terms / Privacy / Refund.

Стек технологій

TypeScript discord.js Prisma PostgreSQL node-cron Fly.io Cloudflare Docker
Подивитись наживо
statstation.uaex.pp.ua
Відкрити сайт
Готові почати?

Ваш магазин стане наступним кейсом?

Розкажіть про проєкт, і ми повернемось із оцінкою.