Appearance
Bot Telegram
Kendalikan WAQ langsung dari Telegram — kirim pesan, broadcast, cek device — lewat menu tombol (bukan ngetik command). Opsional: hanya aktif untuk akun yang menautkan Telegram-nya sendiri.
Untuk pengguna
Buka dashboard WAQ → menu Bot Telegram → klik Hubungkan Telegram.
Muncul tombol "Buka di Telegram" (deep-link berlaku 10 menit, sekali pakai) → tap → tekan Start di bot.
Bot balas "Berhasil terhubung ✅" — ketik
/menukapan saja:📤 Kirim Pesan │ 📢 Broadcast │ 📱 Cek Device │ 👥 Kontak │ 🔌 Putuskan Koneksi
Guardrail bawaan:
- Kirim/broadcast selalu minta konfirmasi eksplisit (✅ Ya, Kirim / ❌ Batal) sebelum benar-benar dieksekusi — tidak ada aksi satu-tap.
- Broadcast dari bot hanya ke kontak opt-in (aturan yang sama dgn dashboard).
- Sesi wizard kedaluwarsa 10 menit — kalau macet, ketik
/menuuntuk mulai ulang. - Ganti HP/akun Telegram? Ulangi langkah "Hubungkan" — tautan lama otomatis diganti (1 akun WAQ ↔ 1 akun Telegram).
Putuskan koneksi kapan pun dari menu bot (🔌) atau dashboard (menu Bot Telegram → Putuskan).
Untuk admin (aktivasi bot — sekali setup)
Bot dinonaktifkan secara default (TELEGRAM_BOT_ENABLED=false). Mengaktifkannya:
Buat bot via @BotFather di Telegram:
/newbot→ ikuti petunjuk → dapat token (format123456:ABC-…) dan username bot.Isi 5 env var di
.envserver (/opt/waq/.envdi VPS):bashTELEGRAM_BOT_ENABLED=true TELEGRAM_BOT_TOKEN=123456:ABC-… # dari BotFather TELEGRAM_BOT_USERNAME=waq_bot # tanpa '@' TELEGRAM_WEBHOOK_URL=https://waq.karyawah.id/webhooks/telegram TELEGRAM_WEBHOOK_SECRET=<random 32+ char> # openssl rand -hex 32Restart container app:
bashcd /opt/waq && docker compose up -d appVerifikasi — log container harus menunjukkan webhook terpasang:
bashdocker logs waq-app --tail 20 | grep -i telegram # ✅ "Webhook Telegram terpasang: https://…" # ❌ "Bot Telegram nonaktif (TELEGRAM_BOT_ENABLED != true)" → env belum kebaca
Keamanan: update dari Telegram diverifikasi via header X-Telegram-Bot-Api-Secret-Token (constant-time compare) — request tanpa secret yang cocok ditolak 401. Identitas user di-resolve server-side dari tautan akun, tidak pernah dipercaya dari payload.