mirror of
https://github.com/anten-ka/gotelegram_pro.git
synced 2026-05-19 15:56:04 +00:00
3.3 KiB
3.3 KiB
GoTelegram v2.2 Bot
Production-quality Telegram bot for managing MTProxy (telemt engine) on Linux servers.
Features
-
Complete CLI Feature Parity - All menu items from CLI version
- Install (Quick/Stealth modes)
- Status monitoring
- Proxy link generation
- Share with QR codes
- Service restart
- Logs viewing
- Mode/template changes
- Backup/restore
- telemt updates
- Website/SSL management
- Remove installation
- Promotional links
-
Template Browsing - Browse categories → templates → preview → install
-
V1 Migration - Detects old mtg Docker container and offers migration
-
Access Control - ALLOWED_IDS from .env
-
Async/Await - Full async support via python-telegram-bot v21+
-
Inline Keyboards - Modern UI with callback-based navigation
-
Shell Integration - Executes system commands via asyncio subprocess
-
Error Handling - Production-ready error handling
Installation
Prerequisites
- Python 3.8+
- Linux system with systemd
- telemt installed and running
- Telegram Bot Token from @BotFather
Setup
- Install dependencies:
pip install -r requirements.txt
- Create .env file:
cp config.example.env .env
# Edit .env and set your BOT_TOKEN
nano .env
- (Optional) Restrict access to specific users:
# Edit .env and uncomment ALLOWED_IDS
# ALLOWED_IDS=123456789,987654321
Running the Bot
python3 bot.py
For systemd service:
[Unit]
Description=GoTelegram Bot
After=network.target
[Service]
Type=simple
User=gotelegram
WorkingDirectory=/opt/gotelegram/bot
ExecStart=/usr/bin/python3 /opt/gotelegram/bot/bot.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Configuration
.env Variables
BOT_TOKEN- Telegram bot token (required)ALLOWED_IDS- Comma-separated user IDs (optional, all users allowed if empty)
System Paths
GOTELEGRAM_CONFIG-/opt/gotelegram/config.jsonTELEMT_CONFIG-/etc/telemt/config.tomlTELEMT_SERVICE-telemt(systemd service name)WEBSITE_ROOT-/var/www/gotelegram-siteBACKUP_DIR-/opt/gotelegram/backupsTEMPLATES_CATALOG-/opt/gotelegram/templates_catalog.json
Architecture
Single File Design
All functionality in one bot.py for simplicity and ease of deployment.
Command Handlers
/start- Main menu/help- Help text/status- Quick status/logs- Recent logs
Callback Handlers
Organized by feature:
- Installation (quick/stealth modes)
- Status monitoring
- Backup/restore
- SSL management
- Updates
- Removal
Shell Integration
Async subprocess wrapper:
code, stdout, stderr = await sh("command", "arg1", "arg2")
Callback Data Convention
menu_*- Menu itemsinstall_mode_*- Install optionsquick_dom_*- Domain selectionstealth_cat_*- Template categoriesstealth_tpl_*- Template selectionstealth_confirm_*- Confirm installationbackup_*- Backup operationsssl_*- SSL operationsrestore_backup_*- Restore operations
Credits
- telemt - MTProxy engine foundation
- HTML5UP - Beautiful web templates
- Learning Zone - Educational resources
- Start Bootstrap - Bootstrap framework
- Community - Your feedback and support
License
GoTelegram v2.2 - Open source community project