Бот для игры "Разгильдяй" в Telegram с поддержкой мини-приложений.
- Многопользовательская карточная игра
- Поддержка игры с ИИ
- Система рейтинга игроков
- Веб-интерфейс с использованием Telegram WebApp
- Адаптивный дизайн
- Авторизация пользователей
- Простое JSON-хранилище данных
- Node.js
- Express.js
- Telegraf (Telegram Bot API)
- JSON хранилище данных
- Telegram WebApp API
-
Клонировать репозиторий:
git clone https://github.com/GaryFid/card76.git cd card76 -
Установить зависимости:
npm install -
Создать файл
.envс следующими переменными:BOT_TOKEN=ваш_токен_бота SESSION_SECRET=секретный_ключ_для_сессий BASE_URL=url_вашего_приложения PORT=3000 -
Запустить приложение:
npm start
Проект можно легко развернуть на Render:
-
Создайте аккаунт на Render.com
-
Подключите репозиторий GitHub
-
Создайте Web Service с помощью конфигурации render.yaml:
render blueprint render.yamlИли вручную:
- Создайте новый Web Service
- Добавьте постоянный диск объемом 1ГБ (для хранения JSON данных)
- Настройте переменные окружения (BOT_TOKEN, SESSION_SECRET)
-
После создания сервиса, дождитесь полного развертывания
-
Проверьте, что ваш бот и мини-приложение работают
Приложение использует простое JSON-хранилище для данных:
- Пользователи:
data/users.json - Игры:
data/games.json - Сессии:
data/sessions/
Благодаря использованию постоянного диска на Render, данные сохраняются между перезапусками сервиса.
/public- Статические файлы для мини-приложения/scenes- Сцены Telegram бота/routes- Маршруты API/models- Модели для работы с JSON хранилищем/config- Файлы конфигурации/utils- Вспомогательные функции/data- Директория для хранения JSON данных
MIT