Telegram Bot API
🌐 Bahasa Indonesia

Chat ID Telegram Dimana? Cara Mendapatkan Chat ID User, Grup, dan Channel

· 7 menit baca

Chat id telegram adalah angka unik untuk setiap chat (pribadi, grup, supergroup, atau channel) yang dipakai sebagai parameter chat_id saat bot mengirim pesan. Aplikasi Telegram biasanya tidak menampilkannya. Cara paling andal untuk mendapatkannya: kirim pesan ke bot, panggil getUpdates, lalu baca message.chat.id.

Apa itu chat id telegram dan formatnya

Bentuk chat id langsung menunjukkan jenis chatnya:

Jenis chatContoh chat_idCiri
Pengguna (chat pribadi)123456789angka positif
Grup biasa-123456789angka negatif
Supergroup-1001234567890diawali -100
Channel-1001234567890diawali -100

Simpan chat id sebagai integer 64-bit (misalnya BIGINT), karena nilainya bisa melebihi 32 bit. Jangan membuang tanda minus atau awalan -100. Itu penyebab paling umum error chat not found.

Cara 1: chat id pribadi lewat getUpdates

  1. Buka bot kamu di Telegram dan kirim pesan apa saja, misalnya /start.
  2. Panggil getUpdates dengan token bot kamu, lewat terminal atau langsung di getUpdates di Bot API Tester:
    curl https://api.telegram.org/bot123456789:AAEexampleTokenReplaceWithYours/getUpdates
  3. Cari message.chat.id di hasilnya:
{
  "ok": true,
  "result": [
    {
      "update_id": 100000001,
      "message": {
        "message_id": 5,
        "from": {"id": 123456789, "is_bot": false, "first_name": "Budi"},
        "chat": {"id": 123456789, "first_name": "Budi", "type": "private"},
        "date": 1793232000,
        "text": "/start"
      }
    }
  ]
}

Di chat pribadi, chat.id sama dengan from.id, yaitu ID pengguna. Belum punya bot atau token? Ikuti dulu panduan token bot Telegram.

Kalau hasilnya panjang, skrip Python kecil ini menampilkan semua chat id yang ada di update, termasuk grup dan channel:

import os
import requests

TOKEN = os.environ["BOT_TOKEN"]
url = f"https://api.telegram.org/bot{TOKEN}/getUpdates"
data = requests.get(url, timeout=10).json()

for upd in data["result"]:
    msg = upd.get("message") or upd.get("channel_post")
    if msg:
        chat = msg["chat"]
        print(chat["id"], chat["type"], chat.get("title", ""))

Cara 2: chat id telegram group dan supergroup

  1. Tambahkan bot ke grup sebagai anggota.
  2. Kirim /start@username_bot di grup (ganti dengan username bot kamu).
  3. Panggil getUpdates dan baca message.chat.id. Nilainya negatif, dan chat.type berisi group atau supergroup.

Kenapa harus perintah dengan @username_bot? Secara default bot memakai privacy mode: di grup, bot hanya menerima perintah yang ditujukan kepadanya, balasan ke pesannya, pesan yang dikirim lewat bot, dan pesan layanan. Pesan biasa seperti "halo" tidak akan muncul di getUpdates. Privacy mode bisa dimatikan dengan /setprivacy di @BotFather (bot harus dikeluarkan lalu ditambahkan lagi ke grup), atau jadikan bot admin.

Saat bot ditambahkan ke grup, biasanya juga muncul update my_chat_member yang berisi chat.id grup tersebut.

Perhatian: jika grup biasa diupgrade menjadi supergroup, chat id berubah. Request ke ID lama akan gagal dengan error 400, dan parameters.migrate_to_chat_id di respons berisi ID baru.

Cara 3: chat id channel

Channel publik. Kamu bisa langsung memakai username channel sebagai chat_id, misalnya @infopromo. Bot tetap harus menjadi admin channel agar bisa memposting.

Channel privat. Username tidak ada, jadi ambil ID numeriknya:

  1. Tambahkan bot sebagai admin channel.
  2. Publikasikan satu postingan di channel.
  3. Panggil getUpdates dan cari channel_post.chat.id:
"channel_post": {
  "message_id": 12,
  "chat": {"id": -1001234567890, "title": "Info Promo", "type": "channel"},
  "date": 1793232000,
  "text": "Tes"
}

Topik forum: message_thread_id

Di supergroup dengan fitur topik, setiap topik punya message_thread_id. Chat id tetap milik supergroup, sedangkan topik ditentukan oleh parameter terpisah. Kirim pesan di topik yang diinginkan, lalu baca message.message_thread_id dari update. Untuk mengirim ke topik itu:

curl -X POST "https://api.telegram.org/bot123456789:AAEexampleTokenReplaceWithYours/sendMessage" \
  -H "Content-Type: application/json" \
  -d '{"chat_id": -1001234567890, "message_thread_id": 42, "text": "Halo, topik!"}'

Kenapa getUpdates kosong? Troubleshooting

Dipakai di mana: notifikasi, n8n, dan AI assistant

Pasangan token bot dan chat id adalah dua hal yang hampir selalu diminta saat menghubungkan sesuatu ke Telegram:

Setelah chat id didapat, uji langsung dengan sendMessage. Contoh kode lengkap ada di panduan kirim pesan bot Telegram, atau coba di sendMessage di Bot API Tester.

Pertanyaan umum

Chat id telegram dimana?

Aplikasi Telegram biasanya tidak menampilkan chat id. Kirim pesan ke bot kamu, panggil getUpdates, lalu baca nilai message.chat.id dari hasilnya.

Bagaimana cara mendapatkan chat id telegram group?

Tambahkan bot ke grup, kirim /start@username_bot di grup, lalu panggil getUpdates. Chat id grup berupa angka negatif; supergroup diawali -100.

Kenapa chat id grup diawali -100?

Itu format chat id supergroup dan channel, misalnya -1001234567890. Grup biasa memakai angka negatif tanpa -100. Jika grup biasa diupgrade menjadi supergroup, chat id-nya berubah.

Apakah username bisa dipakai sebagai chat_id?

Bisa untuk channel dan supergroup publik dengan format @username. Untuk chat pribadi dengan pengguna, gunakan chat id berupa angka.

Kenapa getUpdates mengembalikan result kosong?

Biasanya belum ada pesan baru ke bot, update sudah lebih dari 24 jam, atau update sudah dikonfirmasi lewat offset. Jika muncul 409 Conflict, bot masih memakai webhook; panggil deleteWebhook.

Cara Membuat Bot Telegram: dari BotFather sampai Pesan Pertama

Cara membuat bot telegram langkah demi langkah: daftar di @BotFather, simpan token, cek dengan getMe, lalu kirim pesan pertama lewat curl dan Python.

Kirim Pesan Bot Telegram dengan Telegram Bot API (sendMessage)

Kirim pesan bot telegram lewat Bot API: contoh sendMessage dengan curl, Python, dan JavaScript, format HTML/MarkdownV2, tombol inline, dan solusi error.

Telegram Bot Token: Cara Mendapatkan, Mengecek, dan Mencabut Token

Cara mendapatkan token bot telegram dari @BotFather, melihat token bot lama, mengecek dengan getMe, dan me-revoke token yang bocor. Lengkap dengan contoh.

Webhook Telegram Bot: Cara Setting setWebhook, Secret Token, dan Mengatasi Error

Panduan webhook telegram bot: syarat HTTPS dan port, setWebhook dengan secret_token, cek getWebhookInfo, deleteWebhook, serta solusi error 409 dan n8n.