Telegram Bot Zoom integrations
3.8K
Ringkasan: bot Telegram untuk mengelola Zoom meeting dengan fitur whitelist, ownership, roles, polling/webhook modes, dan UI menggunakan inline keyboards.
Untuk deployment yang mudah dan konsisten, gunakan Docker:
sudo apt update && sudo apt install docker.io docker-composedocker --version
docker-compose --version
# Clone repository
git clone <repository-url>
cd zoom-telebot
# Copy environment template
cp .env.example .env
# Edit .env with your configuration
nano .env
Edit file .env dengan konfigurasi berikut:
# Telegram Bot Configuration
TELEGRAM_TOKEN=your-telegram-bot-token-here
INITIAL_OWNER_ID=your-telegram-user-id-here
INITIAL_OWNER_USERNAME=@your-telegram-username
# Zoom Integration Configuration
ZOOM_CLIENT_ID=your-zoom-client-id
ZOOM_CLIENT_SECRET=your-zoom-client-secret
ZOOM_ACCOUNT_ID=your-zoom-account-id
# Shortener Configuration
SID_ID=your-sid-id
SID_KEY=your-sid-key
# Setup environment (validasi + inisialisasi)
python setup.py
# Setup environment
python dev.py setup
# Run bot (dengan auto-setup)
python dev.py run
# Run dengan debug logging
python dev.py debug
# Test imports
python dev.py test
# Check environment
python dev.py check
# Help
python dev.py help
# Setup environment
python setup.py
# Run bot
python main.py
File .env.example berisi template konfigurasi lengkap. Variabel wajib:
TELEGRAM_TOKEN=1234567890:AAFakeTokenExampleForDocumentationPurposes
INITIAL_OWNER_ID=987654321
INITIAL_OWNER_USERNAME=@example_user
ZOOM_CLIENT_ID=ExampleZoomClientIdForDocumentation
ZOOM_CLIENT_SECRET=ExampleZoomClientSecretForDocumentationPurposes
ZOOM_ACCOUNT_ID=ExampleZoomAccountIdForDocumentation
SID_ID=example_sid_id_for_documentation
SID_KEY=example_sid_key_for_documentation_purposes_only
BITLY_TOKEN=example_bitly_token_for_documentation_only
Script setup.py melakukan validasi dan inisialisasi:
Environment Validation
Database Initialization
Shortener Setup
shorteners.json dengan API keys dari .env/startzoom-telebot/
āāā main.py # Bot entry point
āāā setup.py # Environment setup script
āāā handlers.py # Bot command handlers
āāā keyboards.py # Inline keyboard definitions
āāā config.py # Configuration management
āāā db.py # Database operations
āāā zoom.py # Zoom API integration
āāā shortener.py # URL shortener logic
āāā shorteners.json # Shortener provider config
āāā .env.example # Environment template
āāā requirements.txt # Python dependencies
āāā Test-Flow.md # Testing guide
handlers.pykeyboards.pydb.py CREATE_SQLshorteners.json.env file dengan konfigurasi lengkap# 1. Setup environment
cp .env.example .env
# Edit .env dengan credentials Anda
# 2. Build dan run dengan Docker Compose
docker-compose up -d
# 3. Check logs
docker-compose logs -f
# Development mode
docker-compose --profile dev up
# Atau gunakan Makefile
make dev-up
make dev-logs
# Production mode
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
# Atau gunakan Makefile
make prod-build
make prod-up
make prod-logs
# Build image
docker-compose build
# Start services
docker-compose up -d
# Stop services
docker-compose down
# View logs
docker-compose logs -f
# Restart services
docker-compose restart
# Shell access
docker-compose exec zoom-telebot /bin/bash
# Development
make dev-build # Build dev image
make dev-up # Start dev environment
make dev-logs # Show dev logs
make dev-restart # Restart dev
# Production
make prod-build # Build prod image
make prod-up # Start prod environment
make prod-logs # Show prod logs
# General
make build # Build default
make up # Start services
make down # Stop services
make logs # Show logs
make status # Service status
make clean # Clean everything
# Maintenance
make backup # Create DB backup
make test # Run tests
make info # System info
# Run tests menggunakan test profile
make test-run
# Build test image
make test-build
# Clean test environment
make test-clean
# Manual test run
docker-compose --profile test up --abort-on-container-exit
# Check logs
docker-compose logs zoom-telebot
# Check environment
docker-compose run --rm zoom-telebot python setup.py
# Shell access untuk debug
docker-compose exec zoom-telebot /bin/bash
# Check volume
docker volume ls | grep zoom
# Backup database
make backup
# Restore dari backup
make restore FILE=backup_file.db
# Fix permissions (Linux/Mac)
sudo chown -R $USER:$USER data/ logs/
# Windows - run as administrator atau check permissions
# Note: Docker containers automatically fix permissions on startup
# If you still have issues, check that the host directories exist
# shorteners.json is automatically copied to data/ directory for modifications
# Check used ports
netstat -tulpn | grep :80
# Change port di docker-compose.yml
ports:
- "8080:80"
# Database (akan menggunakan volume)
DATABASE_URL=sqlite+aiosqlite:///./data/zoom_telebot.db
# Logging
LOG_LEVEL=INFO
# Skip validation (optional)
SKIP_ENV_VALIDATION=false
# List volumes
docker volume ls
# Inspect volume
docker volume inspect zoom-telebot_bot-data
# Backup volume
docker run --rm -v zoom-telebot_bot-data:/data -v $(pwd)/backups:/backups alpine tar czf /backups/backup.tar.gz -C /data .
# Check container status
docker-compose ps
# View container logs
docker-compose logs zoom-telebot
# Execute commands in container
docker-compose exec zoom-telebot python dev.py check
# Rebuild without cache
docker-compose build --no-cache
# Clean up
docker system prune -f
docker volume prune -f
Bot tidak merespons
# Check token
python -c "from config import settings; print('Token:', bool(settings.bot_token))"
Database error
# Reset database
rm zoom_telebot.db
python setup.py
Zoom API error
# Check credentials
python -c "from config import settings; print('Zoom OK:', bool(settings.zoom_client_id))"
# Enable debug logging
LOG_LEVEL=DEBUG python main.py
Test-Flow.mdThis project is licensed under the MIT License.
"nama_provider": {
"name": "Nama Provider",
"description": "Deskripsi provider",
"enabled": true,
"api_url": "https://api.provider.com/shorten",
"method": "post",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {api_token}"
},
"body": {
"url": "{url}"
},
"response_type": "json",
"success_check": "status==200",
"url_extract": "response.get('short_url')"
}
reload_shortener_config(){url}: URL yang akan di-shorten{custom}: Custom alias (jika didukung){api_token}: Token dari environment variableLihat shorteners.json untuk contoh implementasi TinyURL, S.id, dan Bitly.
Untuk provider baru yang butuh authentication, tambahkan ke .env:
API_TOKEN=your_api_token_here
Catatan: scaffold ini menyediakan fitur dasar: menyimpan user yang mendaftar, menampilkan /register_list dengan tombol per-user, menandai whitelist, ban/unban, dan struktur untuk integrasi Zoom.
Content type
Image
Digest
sha256:4fe70ff97ā¦
Size
143.1 MB
Last updated
21 days ago
docker pull rezytijo/zoom-telebot:v2026.06.24