Menghubungkan Telegram
Teldock menyimpan data file di Telegram. Sifatnya multi-user: setiap akun menghubungkan token bot dan channel penyimpanan privatnya sendiri melalui antarmuka web, di Settings → Telegram Integration. Pengguna tidak berbagi satu bot, dan kredensial tidak pernah dikonfigurasi secara global.
Nilai Telegram pada .env hanya untuk pengembangan lokal
TELEGRAM_BOT_TOKEN dan TELEGRAM_STORAGE_CHAT_ID di backend/.env hanya disediakan untuk kemudahan pengembangan dan pengujian lokal. Pada penggunaan multi-user yang sebenarnya, setiap akun menghubungkan kredensialnya sendiri di Settings. Nilai .env tersebut bukan fallback produksi bersama. Lihat Konfigurasi.
1. Buat bot dengan @BotFather
- Buka Telegram dan mulai obrolan dengan @BotFather.
- Kirim
/newbotdan ikuti instruksinya (pilih nama dan username yang diakhiribot). - Salin token bot yang diberikan BotFather, misalnya
123456789:AAExampleTokenString. - Jaga kerahasiaan token — siapa pun yang memilikinya dapat mengendalikan bot.
2. Buat channel privat
- Di Telegram, buat channel privat baru (pilih "Private Channel" saat diminta jenisnya).
- Beri nama yang mudah dikenali; channel inilah tempat file Anda disimpan.
3. Tambahkan bot sebagai administrator channel
- Buka channel, lalu Manage Channel → Administrators → Add Admin.
- Cari username bot Anda dan tambahkan.
- Berikan setidaknya izin berikut:
- Post Messages — diperlukan untuk mengunggah bagian-bagian file.
- Delete Messages — diperlukan untuk menghapus file dan membersihkan bagian-bagiannya.
Bot harus menjadi administrator
Jika bot bukan admin dengan izin Post dan Delete, proses unggah dan hapus akan gagal. Anggota biasa tidak dapat mengirim pesan ke channel.
4. Dapatkan chat ID channel
Chat ID channel bernilai negatif dan diawali -100, misalnya -1001234567890. Awalan -100 menandakan supergroup atau channel. Kesalahan umum adalah memakai username channel (@my_channel) atau ID positif — Teldock memerlukan bentuk numerik -100....
Cara memperolehnya:
Teruskan pesan ke @userinfobot. Kirim pesan apa pun di channel Anda, teruskan ke @userinfobot, lalu baca chat ID yang ditampilkan.
Gunakan Bot API
getUpdates. Kirim pesan di channel, lalu buka URL berikut di browser (ganti tokennya):texthttps://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdatesCari
"chat": { "id": -1001234567890, ... }pada respons. Channel harus sudah menerima pesan setelah bot ditambahkan agar update muncul.
5. Masukkan kredensial di Teldock
- Buka
http://localhost:3000dan masuk. - Buka Settings → Telegram Integration.
- Tempel bot token dan chat ID channel Anda.
- Simpan. Teldock memvalidasi token ke Telegram sebelum menerimanya.
Apa yang terjadi saat menghubungkan
- Bot token dienkripsi saat disimpan dengan
ENCRYPTION_KEYsebelum ditulis ke database. - Token tidak pernah dikembalikan ke klien setelah tersimpan — UI hanya menampilkan status terhubung/tersamarkan.
- Bagian-bagian file diunggah ke channel memakai token tersimpan; chat ID channel menentukan lokasi penyimpanannya.
Karena token dienkripsi dengan ENCRYPTION_KEY, key tersebut harus tetap stabil. Merotasinya membuat kredensial yang ada tidak dapat dibaca. Lihat Konfigurasi.
Pemecahan masalah
| Gejala | Kemungkinan penyebab | Solusi |
|---|---|---|
| Unggahan langsung gagal | Bot bukan admin channel | Tambahkan bot sebagai admin dengan izin Post Messages dan Delete Messages. |
| "Chat not found" / ID salah | Format chat ID keliru | Gunakan ID negatif -100..., bukan username atau angka positif. |
| Token ditolak saat disimpan | Token dicabut atau salah ketik | Buat token baru lewat @BotFather (/token atau /revoke) dan tempel string lengkapnya. |
| Dulu berhasil, kini gagal | Token dicabut | Buat ulang token di @BotFather dan hubungkan kembali di Settings. |
Jika ingin mendistribusikan unggahan ke beberapa bot, lihat Multi-Bot Pool.
Langkah selanjutnya
- Konfigurasi — panduan pengaturan backend dan frontend.
- Multi-Bot Pool — kumpulkan beberapa bot untuk menyebar penyimpanan dan batas laju.