✨Dvurechensky✨
Language: 🇨🇳 中文 | 🇷🇺 Russian | ✅ 🇺🇸 English (current)
bot/
├─ config/
├─ core/
├─ services/
├─ utils/
├─ main.py
└─ __init__.py- core/ — core layer: DB managers, services, tests. Everything responsible for logic and infrastructure.
- services/ — separate layer for specific functionality: callbacks, commands, keyboards, states, API. Each service is isolated and easily extendable.
- utils/ — helper functions/utilities.
- config/ — bot configuration (tokens, settings). Separated from logic.
- main.py — entry point.
- Clean
layeredarchitecture. - Easy to
scaleandaddnewcommands/services. - Good separation of logic and services.
- Suitable for team development — no one breaks the core while working on keyboards or
callbacks.
- If the project grows significantly,
services/may become too large and harder to navigate. Could be improved later withsubmodulesorpackage namespaces.
- Full changelog
- Tasks
- Full Linux machine cleanup after usage
- Installation
- Proxy server setup
- SMTP - port availability check
- CREDENTIALS
- Systemd info
- ✨ Feature 1
- 👹 Feature 2
- 🔐 Feature 3
- 💀 Feature 4
- 💬 Feature 5
- ☔ Feature 6
- 🛡️ Feature 7
- 💾 Feature 8
- 📋 Feature 9
- 🌁 Feature 10
- Python
3.8+ - Telegram
account - Bot
tokenfrom @BotFather API credentialsfrom my.telegram.org
- Message @BotFather in Telegram
- Send
/newbot - Follow the
instructionsto create your bot - Copy the
tokeninto your.envfile - To get
CHAT_ID— go tohttps://api.telegram.org/bot<YOUR_TOKEN_BOT>/getUpdates, first send/startto your bot and send1 messagein the chat where the bot is added as anadministrator API_HASH— obtained from your Telegram developer account atmy.telegram.org
BOT_TOKEN=YOUR_BOT_TOKEN
API_ID=YOUR_API_ID
API_HASH=YOUR_API_HASH- Visit
https://my.telegram.org - Log in using your
phone number - Go to
API Development tools - Select
Create new application - Copy API ID, BOT TOKEN, and API Hash into your
.envfile - Specify allowed Telegram usernames in ADMIN_USERNAMES who will
useyour bot and become itsadministrators
- Start the bot:
/start - View help:
/help - List your services:
🌀 My Services
All actions are logged in:
app.log(file)- Console output
✨Dvurechensky✨