Cara mengetahui chat ID Telegram untuk pengguna, grup, atau channel
Kirim /start ke @userinfobot untuk melihat ID Anda sendiri, teruskan postingan channel ke bot yang sama untuk ID channel, atau tambahkan @GetIDsBot ke grup. ID pengguna bernilai positif, ID supergrup dan channel diawali -100, dan chat ID bukan rahasia, berbeda dengan token bot.
Untuk mengetahui chat ID Anda sendiri, kirim /start ke User Info Bot (@userinfobot). Teruskan postingan channel ke bot yang sama untuk mendapatkan ID channel, dan tambahkan GetIDs Bot (@GetIDsBot) ke grup untuk mendapatkan ID grup. Jika Anda sudah punya token bot sendiri, kirim pesan ke bot itu, buka alamat getUpdates di browser, lalu baca chat.id. ID pengguna berupa angka positif, sedangkan ID supergrup dan channel diawali -100. Chat ID bukan rahasia; token bot yang rahasia.
Chat ID seperti apa yang diminta layanan?
n8n, skrip pemantauan server, atau bot buatan Anda sendiri mengirim pesan lewat Telegram Bot API, dan metode sendMessage di sana meminta chat_id: nomor chat, atau @username untuk channel, supergrup, atau bot publik. Bentuk angkanya menunjukkan jenis chat yang dituju. Dokumentasi Telegram tentang ID dialog Bot API menetapkan rentangnya:
| Chat | Bentuk chat_id | Contoh |
|---|---|---|
| Seseorang (chat pribadinya dengan bot) | Angka positif, sama dengan ID pengguna | 123456789 |
| Grup biasa | Angka negatif tanpa -100 | -987654321 |
| Supergrup | -100 diikuti nomor grup itu sendiri | -1001234567890 |
| Channel | -100 diikuti nomor channel itu sendiri | -1001987654321 |
| Topik di grup bertopik | ID grup ditambah message_thread_id terpisah |
-1001234567890 dan 42 |
| Channel atau supergrup publik | Angka atau @username | @channelname |
Tiga hal yang paling sering bikin gagal:
- Angkanya panjang. Telegram memperingatkan bahwa chat ID bisa melebihi 32 bit dan sebagian bahasa pemrograman merusaknya tanpa pesan error. Integer 64-bit bertanda, double, atau string aman dipakai.
- Chat pribadi memakai ID orangnya. Saat layanan mengirim pesan kepada Anda lewat bot,
chat_iditu tidak lain adalah ID pengguna Anda. - ID grup bisa berganti. Saat grup biasa ditingkatkan menjadi supergrup, grup itu mendapat ID baru dengan -100, dan pesan ke ID lama gagal terkirim.
Awalan -100 bukan hiasan. Telegram mengubah nomor internal channel ke format Bot API dengan menambahkan 1.000.000.000.000 lalu menjadikannya negatif. Karena itu, angka yang disalin dari tempat lain tanpa awalan tersebut tidak akan berfungsi apa adanya.
Bagaimana cara mengetahui ID Telegram saya sendiri?
ID sendiri diperlukan saat layanan harus mengirim pesan pribadi kepada Anda: peringatan dari server, pesanan baru, atau backup yang gagal.
- Buka User Info Bot (@userinfobot) lalu ketuk Mulai.
- Bot membalas dengan data akun Anda. Salin angka di baris ID.
- Buka bot yang akan dipakai layanan tersebut, lalu ketuk Mulai juga di sana.
Langkah ketiga ini sering dilewatkan tutorial. Bot tidak bisa memulai percakapan dengan pengguna: pengguna harus mengirim pesan ke bot lebih dulu, jadi selama Anda belum melakukannya, layanan tidak bisa menghubungi Anda meski ID-nya benar.
GetIDs Bot (@GetIDsBot) memberi jawaban yang sama untuk /start. Kedua bot ini gratis dan tanpa iklan.
ID orang lain, misalnya rekan kerja yang ingin Anda masukkan ke daftar izin bot, didapat dengan cara serupa: teruskan salah satu pesannya ke User Info Bot, dan bot akan menampilkan ID pengirim. Jika orang itu memilih Tidak Ada di Pengaturan > Privasi dan Keamanan > Pesan Terusan, pesan yang diteruskan hanya membawa namanya, dan tidak ada bot yang bisa melihat akunnya. Minta dia mengetuk Mulai di User Info Bot sendiri lalu mengirimkan angkanya kepada Anda.
Bagaimana cara mengetahui ID grup Telegram?
Dengan bot
- Tambahkan GetIDs Bot (@GetIDsBot) ke grup seperti anggota biasa. Kalau belum pernah, baca cara menambahkan bot ke grup Telegram.
- Begitu masuk, bot memberi tahu ID grup. Salin lengkap dengan tanda minusnya.
- Keluarkan bot dari grup jika tidak ada tugas lain untuknya.
Telegram Bot Raw (@RawDataBot) adalah cara yang disarankan dokumentasi n8n: undang bot ini ke grup, dan bot membalas dengan JSON mentah dari update, tempat id di dalam chat adalah ID grup.
Di Telegram Web
- Buka Telegram versi WebA di web.telegram.org/a/ lalu masuk ke akun Anda.
- Buka grupnya.
- Lihat bilah alamat. Semua yang ada setelah
#adalah chat ID, misalnyaweb.telegram.org/a/#-1001234567890.
WebA menyusun alamat itu dari ID yang sama dengan yang dipakai Bot API, jadi tanda minus dan -100 sudah terpasang. Jika tutorial menyuruh Anda menyalin angka setelah huruf "g" lalu menambahkan minus, tutorial itu menjelaskan tampilan web versi lama. Di grup bertopik, alamat topik yang sedang dibuka diakhiri garis bawah dan ID topik: #-1001234567890_42.
Di Telegram Desktop
Telegram Desktop untuk Windows, macOS, dan Linux (bukan aplikasi terpisah Telegram untuk macOS) bisa menampilkan ID di profil:
- Buka Pengaturan > Lanjutan > Pengaturan eksperimental.
- Aktifkan Show Peer IDs in Profile. Opsi ini tetap berbahasa Inggris apa pun bahasa aplikasinya.
- Buka profil grup. Di bawah deskripsi akan muncul
id:dan sebuah angka; klik angkanya untuk menyalin.
Desktop menampilkan nomor internal Telegram tanpa tanda dan awalan Bot API: tambahkan -100 di depan untuk supergrup atau channel, atau tanda minus untuk grup biasa. Jika Anda tidak yakin jenis grupnya, ambil ID dari WebA atau dari bot, yang sudah siap pakai. Telegram sendiri memperingatkan bahwa pengaturan eksperimental bisa rusak atau hilang di versi berikutnya.
Bagaimana cara mengetahui ID channel Telegram?
Channel publik sering tidak butuh angka, karena Bot API menerima @username channel sebagai chat_id. Channel privat tidak punya username, jadi Anda perlu ID-nya:
- Buka channel lalu pilih Teruskan pada postingan mana saja.
- Kirim postingan itu ke User Info Bot (@userinfobot) atau GetIDs Bot (@GetIDsBot).
- Balasannya memuat ID channel.
JsonBOT (@JsonBot) membalas pesan yang diteruskan dengan seluruh data mentah yang dilampirkan Telegram, termasuk pengenalnya. Bot ini berguna jika Anda ingin melihat strukturnya secara lengkap.
Jika channel mengaktifkan Batasi penyimpanan konten, postingannya tidak bisa diteruskan. Masih ada dua cara:
- Tautan postingan. Ketuk Salin Tautan pada postingan (Salin Tautan Postingan di Telegram Desktop). Tautan channel privat berbentuk
t.me/c/1987654321/15: angka pertama adalah channel, angka kedua adalah postingan. Tambahkan -100 di depan nomor channel sehingga menjadi-1001987654321. Supergrup privat memakai bentuk tautan yang sama (Salin Tautan Pesan di Desktop). - WebA. Buka channel di web.telegram.org/a/ lalu baca bilah alamat, sama seperti pada grup.
Tahu ID baru separuh pekerjaan. Bot yang akan memposting juga harus ada di channel, dan Telegram hanya mengizinkan bot masuk ke channel sebagai admin.
Bagaimana cara mendapatkan chat ID lewat bot saya sendiri?
Jika token sudah ada (jika belum, baca cara membuat bot dan mendapatkan tokennya), Telegram bisa langsung memberi tahu ID chat mana pun tanpa bot pihak ketiga:
- Pastikan ada pesan dari chat itu yang sampai ke bot Anda. Di chat pribadi, ketuk Mulai. Di grup, tambahkan bot lalu kirim perintah yang ditujukan kepadanya, misalnya
/start@YourBot. Di channel, jadikan bot sebagai admin lalu terbitkan sebuah postingan. - Di browser, buka
https://api.telegram.org/bot<token>/getUpdatesdan ganti<token>dengan token bot Anda. - Cari
"chat"di respons. Nilaiiddi dalamnya adalah chat ID lengkap dengan tanda dan awalan, dantypemenunjukkan apakah chat ituprivate,group,supergroup, atauchannel.
"chat": {
"id": -1001234567890,
"title": "Notifikasi toko",
"type": "supergroup"
}
Beberapa aturan dari dokumentasi getUpdates menjelaskan sebagian besar respons yang kosong atau gagal:
- Mode privasi. Secara bawaan, bot di grup umumnya hanya melihat perintah yang ditujukan kepadanya, balasan atas pesannya, dan pesan layanan, seperti pemberitahuan bahwa bot itu baru ditambahkan. Bot yang menjadi admin melihat semuanya. Obrolan biasa tidak sampai ke bot biasa, karena itu langkah 1 memakai perintah.
- 24 jam. Telegram menyimpan update yang belum diambil paling lama satu hari. Jika daftarnya kosong, kirim pesan lagi ke bot lalu muat ulang halaman.
- Webhook. getUpdates tidak berfungsi selama bot memakai webhook, dan Telegram Trigger di n8n memasang webhook. Telegram lalu menjawab dengan error
Conflict. Ambil chat ID dari output trigger, yang menurut dokumentasi n8n memuat ID tersebut, atau gunakan salah satu bot di atas. - Topik. Pesan yang dikirim di topik juga membawa
message_thread_id. Sertakan nilai itu bersamachat_idagar pesan masuk ke topik tersebut.
Alamat di langkah 2 memuat token Anda, dan token adalah kunci bot Anda. Jangan tempel tautan itu di chat, tangkapan layar, atau dokumen bersama, dan jika bocor, buat token baru di @BotFather.
Bagaimana jika chat ID tidak berfungsi?
Saat permintaan gagal, Bot API membalas dengan deskripsi error singkat dalam bahasa Inggris. Yang paling sering muncul:
- "chat not found". Cocokkan formatnya dengan tabel: supergrup dan channel butuh -100, grup biasa butuh tanda minus. Pastikan juga token itu milik bot yang benar-benar ada di chat tersebut.
- "bot is not a member of the channel chat" (atau "supergroup chat"). Tambahkan bot ke chat, dan ke channel sebagai admin.
- "bot can't initiate conversation with a user". Orang tersebut belum mengetuk Mulai di bot Anda.
- "group chat was upgraded to a supergroup chat". Grup kini punya ID baru dengan -100, dan Telegram menyertakannya di error yang sama sebagai
migrate_to_chat_id. Ganti ID lama di pengaturan Anda. Aplikasi Telegram otomatis meningkatkan grup biasa saat admin memakai fitur yang hanya dimiliki supergrup, seperti tautan publik atau topik. - Bot tidak menampilkan ID untuk pesan yang diteruskan. Pengirimnya menyembunyikan akun lewat pengaturan privasi Pesan Terusan. Minta dia membuka bot itu sendiri.
- Pesan masuk ke topik umum, bukan ke topik yang dituju. Tambahkan
message_thread_idberisi ID topik. - ID rusak saat masuk ke kode. Angka negatif 13 digit melampaui batas integer 32-bit. Simpan sebagai integer 64-bit atau sebagai teks.
Langkah berikutnya
Jika Anda sedang memilih alat lain untuk mengurus bot, seperti pemformat JSON atau encoder Base64, bandingkan pilihannya di peringkat alat untuk developer. Jika botnya sendiri masih disiapkan, BotFather vs User Info Bot menunjukkan mana yang Anda perlukan di setiap tahap.



