006
Archive 006Telegram-бот

TGChatBot · Лагерь

Многопользовательская RPG в Telegram-чатах: ферма, походы, майнинг, кланы и Mini App «Лагерь» с общей экономикой и Stars

telegram

TGChatBot · Лагерь
01 /О проекте

Многопользовательская RPG в Telegram-чатах: ферма, походы, майнинг, кланы и Mini App «Лагерь» с общей экономикой и Stars.

02 /🎯 Суть проекта
  1. 01Игровой бот для групп и супергрупп Telegram — каждый чат = отдельный мир с собственной БД
  2. 02Команды с префиксом . или ! (например: .ферма, .поход, .клан) — игра прямо в переписке
  3. 03Telegram Mini App «Лагерь» — веб-интерфейс для сложных действий без спама в чате
  4. 04Мир Gradkia: ферма, шахта, походы, рейды на босса, банк, кланы, крафт и сюжетная хроника
  5. 05Монетизация через Telegram Stars: премиум, донат-шоп, бусты, острова и клановые слоты
03 /🏗️ Архитектура (app/ + web/)
  1. 01app/ — ядро: бот aiogram, игровая логика, каталоги, планировщики, платежи Stars
  2. 02web/backend/ — FastAPI REST API (/api/v1), переиспользует сервисы и ChatDatabaseManager из app/
  3. 03web/frontend/ — Vue 3 SPA: авторизация через initData, роутинг, экраны под TWA
  4. 04SQLite: registry.db (реестр чатов и пользователей) + отдельный файл БД на каждый telegram_chat_id
  5. 05Единые настройки через pydantic-settings (.env): баланс, кулдауны, Stars-цены, фичефлаги чата
04 /🌾 Ферма и прогрессия
  1. 01Команда .ферма — посев за 🪙, сбор урожая, кулдаун и шанс неудачи (настраивается админом)
  2. 02Цепочка построек: 🌱→💧→🏠→📦→🚜, XP за сбор, серии без сгорания
  3. 03Уровни фермы 2–5: навоз, капуста, картофель, чай, редкие культуры с грядки
  4. 04Культура недели — бесплатный посев семян из похода + бонус урожая
  5. 05Квест «Долг перед Империей» (Premium): 3 главы, штрафы, награды и лор в .хроника
05 /🗺 Походы и события
  1. 01.поход — экспедиции 3–8 ч: локации Gradkia, лут, XP фермы/майнинга, дневник
  2. 02До 4 случайных событий за поход с дедлайном ~10 мин; авто-скип из донат-шопа
  3. 03PvP-встречи на локациях (гонка на кнопку, +50🪙), защита для новичков (🌾 ур.1)
  4. 04Совместный поход с другом: время ÷1.5, награда ×1.2, XP связи
  5. 05Премиум-локации и «Мир II» за Stars; побег — штраф и потеря лута
06 /⛏ Майнинг
  1. 01.мшоп — пассивная добыча в фоне (даже во время похода, без управления)
  2. 02GPU-юниты, износ, ремонт за 🪙 или Stars, сбор с кулдауном
  3. 03Уровни майнинга, скидка на «электричество», премиум-скидки
  4. 04Алерты в чат при критическом износе оборудования
07 /🏰 Кланы
  1. 01.клан — создание за 🪙, премиум-клан за Stars, казна, уровни и слоты участников
  2. 02Клановые квесты, данжи с событиями, сюжетные ветки и общий склад (stash)
  3. 03Территории Gradkia: захват, войны, дань, бонусы к походам
  4. 04Инвестиции участников, роли, приглашения, смена лидера
08 /💰 Экономика и PvP
  1. 01.банк — вклад с процентами или «волатильным рынком»; грабёж только с наличных
  2. 02.дуэль — ставка с кошелька, ходы ⚔️/🛡/🎲, комиссия и таймауты
  3. 03.шоп / .дшоп — магазины за монеты и Stars; .крафт — мастерская и перекрафт
  4. 04.инвентарь — рюкзак, расходники, подарки предметов, энциклопедия в Mini App
  5. 05.ежедневка, .клад, .удар по боссу, .топ — циклы активности и рейтинги
09 /👥 Социальное
  1. 01.дружба — заявки, лимит друзей, совместные походы и бонус связи
  2. 02Профиль .я / .стата — баланс, баффы, статус, карточка игрока
  3. 03.премиум I/II — бонусы к монетам и дропу, отдельные UI в боте и Mini App
  4. 04Доставка личных уведомлений (DM) при привязке лички к боту
10 /🎮 Ивенты в чате
  1. 01Планировщик (тик ~30 с): босс-рейд, клады, таймеры походов и событий, майнинг
  2. 02Фазы босса: предупреждение → активный рейд → награды; крит-удары и буст за Stars
  3. 03Клановый босс в рейтинге урона; авто-сбор фермы и авто-удары (для подписчиков)
  4. 04Подсказки новым механикам, автоудаление панелей по настройкам чата
11 /📱 Mini App «Лагерь» (web/frontend)
  1. 01Хаб: профиль, ежедневка, босс, активный поход, квест хроники
  2. 02Экраны: ферма, шахта, поход, рюкзак, банк, магазин, крафт, клан, соцсеть, топ, помощь
  3. 03Vue 3 + vue-router, @twa-dev/sdk, тема под Telegram (color-scheme, safe-area)
  4. 04Сессия useGameSession: initData, выбор чата, автообновление профиля
  5. 05Bottom sheets, скелетоны, Cozy UI, RPG-иконки, сцены ArtPanel
12 /🔌 Web API (web/backend)
  1. 01FastAPI: /api/v1/me, profile, daily, boss, farm, mining, expedition, inventory, shop, craft, bank, clan, friends, story_quest, top, help, notifications
  2. 02Аутентификация: X-Telegram-Init-Data / Authorization: tma … (валидация подписи бота)
  3. 03Dev bypass для локальной разработки без Telegram-клиента
  4. 04CORS, lifespan с инициализацией ChatDatabaseManager и reload_star_prices
  5. 05Инвойсы Stars: буст босса, семена, экспедиции, клан, подарки — через общий ledger
13 /🛠️ Админ и Dev
  1. 01.настройки — inline-панель админа чата: экономика, банк, ивенты, фичефлаги
  2. 02Отключение шопа / походов / дуэлей / кланов per-chat
  3. 03Dev-панель, команды разработчика, /web и /start в личке для входа в Mini App
  4. 04Rate limit команд, antispam на callback, ExpeditionLock при активном походе
  5. 05Логирование апдейтов, безопасная отправка в чаты (FloodWait, недоступный чат)
14 /🧩 Технические особенности
  1. 01Python 3 + aiogram 3 (async), SQLAlchemy 2 async + aiosqlite
  2. 02Реестр команд (@game_command) с категориями и алиасами на кириллице/латинице
  3. 03Каталоги предметов в app/game/items/, миграции схем per-chat on-the-fly
  4. 04Платежи: pre_checkout, successful_payment, StarTransaction в registry
  5. 05Фронт: Vite 6, vue-tsc, без SSR — статика для Telegram WebApp