Skip to content

rnxcode/telegram-casino

Repository files navigation

Casino Bot (aiogram)

Telegram-бот казино с играми, дуэлями, розыгрышами, депозитами и выводами. Проект построен на aiogram 3 и использует SQLite (WAL) в качестве хранилища.

Возможности

Пользовательские

  • Мультиязычность (RU/EN) с выбором языка при первом запуске.
  • Проверка подписки на заданные каналы (subscription gate).
  • Профиль игрока: баланс, рефералы, статистика побед/поражений.
  • Депозиты: Rocket (чек), CryptoBot/USDT (инвойс), Telegram Stars.
  • Вывод средств: заявка на вывод с проверкой кошелька (USDT TRC‑20 или TON), минималка 5$.
  • Реферальная система: 10% от проигрышей приглашённых пользователей.
  • Реф-ссылка формата /start ref<id>.

Игры

  • Dice: ставки 1–100$, режимы «чёт/нечёт» (x2) и «число» (x6).
  • Russian Roulette: 5 этапов с растущим множителем (1.2x → 4.0x) и анимацией.
  • Mines: поле 5x5, 1–24 мины, динамический множитель, кешаут в любой момент.
  • Blackjack: 6 колод, hit/stand/double, выплаты: win x2, blackjack x2.5, push x1.
  • Roulette (slot 🎰): победа при значении 50+ (x2).
  • Quick Sports: футбол/дартс/баскет/боулинг — победа при броске 4+ (x2).
  • Tower (experimental): демонстрация seed/hash (провайбли‑фейр), скрыто от меню.

Социальные режимы

  • Дуэли: dice/darts/football/basketball/bowling, победитель забирает банк.
  • Розыгрыши: автор задаёт взнос, приглашение рассылается всем игрокам, случайный победитель забирает банк.

Админ-функции

  • Админ-панель /admin.
  • Очередь заявок на вывод: одобрение/отклонение.
  • Начисление баланса пользователю.
  • Настройки: каналы подписки, реквизиты, лог-чат дуэлей, ссылка поддержки.
  • Статистика: пользователи, количество игр, оборот ставок, депозиты/выводы, прибыль.

Логи и аудит

  • Леджер транзакций с before/after и метаданными.
  • Логи игр и дуэлей в отдельные каналы (опционально).
  • Идемпотентные платежи через pending_payments.

Быстрый старт

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.py

Создайте .env в корне проекта (пример ниже).

Переменные окружения

Обязательные:

  • BOT_TOKEN — токен Telegram-бота.
  • ADMIN_ID или ADMIN_IDS — ID администратора(ов).

Опциональные:

  • CHANNELS — каналы для проверки подписки (через запятую или пробел).
  • CRYPTO_TOKEN — токен CryptoBot (aiocryptopay).
  • ROCKET_API_KEY — ключ Rocket для проверки чеков.
  • STARS_USD_RATE — курс Stars → USD (по умолчанию 0.01).
  • START_BALANCE, START_BONUS — стартовые значения (используются при инициализации).
  • DUEL_LOG_CHANNEL, GAME_LOG_CHANNEL — чаты логирования.
  • SUPPORT_URL — ссылка на поддержку.
  • ROCKET_BOT, CRYPTO_BOT — реквизиты в настройках.

Пример .env:

BOT_TOKEN=123456:ABCDEF...
ADMIN_ID=123456789
CHANNELS=@channel1, @channel2
CRYPTO_TOKEN=...
ROCKET_API_KEY=...
STARS_USD_RATE=0.01
DUEL_LOG_CHANNEL=-1001234567890
GAME_LOG_CHANNEL=-1001234567891
SUPPORT_URL=https://t.me/your_support

Основные команды

  • /start — запуск и выбор языка.
  • /menu — главное меню.
  • /admin — админ-панель (только для админов).

Архитектура

  • main.py — точка входа, регистрация роутеров и middleware.
  • handlers/ — обработчики команд/кнопок.
  • services/ — бизнес-логика (баланс, платежи, рефералы, логи).
  • database/db.py — SQLite слой с транзакциями и журналом.
  • keyboards/ — инлайн-клавиатуры.
  • locales/ — переводы.

База данных

Хранилище — SQLite (database/casino.db), таблицы создаются на старте. Включены транзакции, WAL, логи транзакций и таблицы для дуэлей, розыгрышей и платежей.

Авторские права

© 2026. Все права защищены. Авторские права принадлежат владельцу этого репозитория.

При использовании кода в сторонних проектах получите письменное согласие правообладателя.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages