Template bot musik Telegram (voice chat) yang telah dimigrasikan ke Pyrogram v2, PyTgCalls v3, dan yt-dlp. Repo ini dilengkapi tooling modern (ruff, black, pre-commit), CI GitHub Actions, serta opsi deploy (Termux/Local, Docker, Heroku, Railway).
- Kompatibel Pyrogram v2 & PyTgCalls v3
- Menggunakan yt-dlp (pengganti youtube_dl)
- Tooling dev: ruff, black, pre-commit, .editorconfig
- CI: GitHub Actions (lint & format check)
- Deploy siap pakai: Termux/Local, Docker Compose, Heroku, Railway
- Skrip utilitas:
update.sh(auto pull → lint/format → commit → push),set_git.sh
- Python 3.11+
- FFmpeg
- Telegram API_ID / API_HASH, BOT_TOKEN
- (Opsional) STRING_SESSION untuk fitur tertentu
- Salin konfigurasi contoh:
cp .env.example .env
- Isi nilai pada
.env:API_ID=123456 API_HASH=abcdef123456 BOT_TOKEN=123456:abcdef-ghijk OWNER_ID=987654321 STRING_SESSION= DATABASE_URL=sqlite:///data/database.sqlite3 LOG_LEVEL=INFO
# (opsional) venv
python -m venv venv && source venv/bin/activate
# install requirements
pip install -r requirements.new.txt # atau gabungkan ke requirements.txt
# jalankan bot
python -m odachmod +x set_git.sh update.sh
./set_git.sh "YourName" "email@example.com"
./update.sh # auto pull --rebase → lint/format → commit → push ke 'san'docker compose up -dPastikan environment (API_ID, API_HASH, BOT_TOKEN, dll) sudah tersedia di environment host atau file .env.
Menggunakan container stack.
heroku stack:set container
git push heroku san:mainBuildpacks/FFmpeg sudah di-handle via Dockerfile/heroku.yml.
railway upKonfigurasi berada di railway.json (Nixpacks: python311 + ffmpeg).
- Ruff (lint & import sort), Black (format)
- Pre-commit:
pip install pre-commit ruff black pre-commit install pre-commit run --all-files
set_git.sh— setuser.name,user.email, dan credential helper (cache 2 jam)update.sh— auto pull → submodule sync → (ruff/black) → syncrequirements.new.txt→ pre-commit → commit → push
Argumen opsional:./update.sh <branch> "<commit message>" # contoh: ./update.sh master "chore: migrate modules & bump deps"
Lihat CHANGELOG.md untuk daftar perubahan.
- Termux bukan VPS: proses berhenti jika app mati/dibunuh. Untuk 24/7 gunakan Heroku/Railway/VPS/Docker pada server.
- Jika terjadi error/traceback setelah update, buat issue/PR beserta log-nya.
Made with ❤️ to keep your Telegram music bot up-to-date.