Skip to content

Zira777ru/telegram-casino-bot

 
 

Repository files navigation

Виртуальное казино в Telegram

В конце октября 2020 года команда Telegram выпустила очередное обновление мессенджера с поддержкой дайса игрового автомата. Вот он:

игровой автомат

Согласно документации на тип Dice в Bot API, слот-машина может принимать значения от 1 до 64 включительно. В файле casino.py вы найдёте функции для сопоставления значения дайса с тройкой выпавших элементов игрового автомата. Для демонстрации создан бот @DifichentoBot с ведением счёта на виртуальные очки, начиная с 50.
Важным отличием от «традиционного» казино является невозможность влиять на выпадающие комбинации, т.к. итоговое значение генерируется на стороне Telegram.

Технологии

  • aiogram — работа с Telegram Bot API;
  • redis — персистентное хранение данных;
  • cachetools — реализация троттлинга для борьбы с флудом;
  • Docker и Docker-Compose — быстрое разворачивание бота
    в изолированном контейнере.
  • Systemd

Установка

Скопируйте файл env_example как .env (с точкой в начале), откройте и отредактируйте содержимое. Создайте каталоги redis_data и redis_config, в последний подложите свой конфиг redis.conf (в репозитории есть пример).
Запустите бота командой docker-compose up -d.

Альтернативный вариант: используйте Systemd, пример службы тоже есть в репозитории.

Благодарности

  • @Tishka17 за изначальный вектор направления
  • @svinerus за компактную реализацию определения выпавшей комбинации (f6f42a841d3c1778f0e32)

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.7%
  • Dockerfile 4.3%