🇷🇺 README на русском доступен здесь
In October 2020 Telegram team released yet another update with slot machine dice. Here it is:
According to Dice type documentation in Bot API, slot machine
emits values 1 to 64. In dice_check.py file you can find all the logic regarding
matching dice integer value with visual three-icons representation. There is also a test bot @DifichentoBot
in Russian to test how it works.
Dice are generated on Telegram server-side, you your bot cannot affect the result.
- aiogram — asyncio Telegram Bot API framework;
- redis — persistent data storage (persistency enabled separately);
- cachetools — for anti-flood throttling mechanism;
- Docker and Docker-Compose — quickly deploy bot in containers.
- Systemd
Copy settings.example.toml file to settings.toml, open and edit it.
To change bot's language, overwrite bot/locale/current directory contents with a chosen language. For example, you want
to use English language in your bot. Then, in bot/locale/current create a directory named en and place your .ftl
files inside. Check this directory for samples.
Please note that only one language can be active at a time.
Finally, run the bot with docker-compose --profile "all" up -d command.
Alternative way: you can use Systemd services, there is also an example available.
- @Tishka17 for initial inspiration
- @svinerus for compact dice combination check (f6f42a841d3c1778f0e32)
For most of my Telegram bots, I plan to use Calendar Versioning with the following rules:
- Versions should look like
vAAAA.BB.C, where: -
vAAAAis the letter "v" followed by the 4-digit year of release, e.g.,v2025.
-
BBis the 2-digit month number, e.g.,06for June.
-
Cis the release number for that month, not zero-padded, e.g., 1 for the first release in June. For example, the first release to use the new versioning schema will be tagged asv2025.06.1.
This scheme makes it easier to understand which Bot API features might be supported in a given release and which are definitely not.
