Telegram Bot API
🌐 Bahasa Indonesia

Cara Membuat Bot Telegram: dari BotFather sampai Pesan Pertama

· 7 menit baca

Cara membuat bot telegram cukup singkat: buka @BotFather, kirim perintah /newbot, isi nama dan username, lalu simpan token yang diberikan. Dengan token itu kamu sudah bisa memanggil Telegram Bot API, gratis dan tanpa server. Panduan ini membahas semua langkahnya, dari membuat bot sampai mengirim pesan pertama dengan curl dan Python.

Yang kamu butuhkan

Langkah 1: membuat bot telegram di @BotFather

@BotFather adalah bot resmi Telegram untuk membuat dan mengelola bot. Pastikan kamu membuka akun yang benar: @BotFather dengan centang biru.

  1. Buka @BotFather lalu tekan Start.
  2. Kirim /newbot.
  3. Masukkan nama bot, misalnya Toko Kopi. Nama boleh memakai spasi dan bisa diganti kapan saja dengan /setname.
  4. Masukkan username: 5–32 karakter, hanya huruf Latin, angka, dan underscore, serta wajib diakhiri bot, contohnya tokokopi_bot atau TokoKopiBot. Username tidak bisa diubah nanti, jadi pilih dengan hati-hati. Kalau sudah dipakai orang lain, BotFather akan meminta username lain.
  5. BotFather membalas dengan link ke bot kamu dan token untuk mengakses HTTP API.

Langkah 2: simpan token bot

Token bentuknya seperti 123456789:AAEexampleTokenReplaceWithYours: angka ID bot, titik dua, lalu bagian rahasia. Siapa pun yang memegang token bisa mengendalikan bot kamu, jadi jangan unggah token ke repositori publik atau kode frontend. Simpan di environment variable atau file .env. Cara melihat token lagi, mengeceknya, dan mencabutnya ada di panduan token bot Telegram.

Langkah 3: cek token dengan getMe

Metode getMe adalah cara paling cepat untuk memastikan token valid. Semua request ke Bot API memakai format https://api.telegram.org/bot<token>/NAMA_METODE. Perhatikan awalan bot sebelum token.

curl https://api.telegram.org/bot123456789:AAEexampleTokenReplaceWithYours/getMe

Kalau token benar, hasilnya "ok": true beserta data bot:

{
  "ok": true,
  "result": {
    "id": 123456789,
    "is_bot": true,
    "first_name": "Toko Kopi",
    "username": "tokokopi_bot"
  }
}

Kalau token salah atau sudah dicabut, API membalas 401 Unauthorized. Tidak punya terminal? Buka getMe di Bot API Tester, tempel token, lalu jalankan.

Langkah 4: kirim pesan pertama

Bot tidak bisa memulai obrolan lebih dulu. Karena itu kamu perlu mengirim pesan ke bot, lalu mengambil chat id dari update yang masuk.

  1. Buka bot kamu di Telegram (cari username-nya) dan tekan Start, atau kirim /start.
  2. Panggil getUpdates untuk melihat pesan tersebut:
    curl https://api.telegram.org/bot123456789:AAEexampleTokenReplaceWithYours/getUpdates
  3. Cari nilai message.chat.id di hasilnya, misalnya 123456789. Itulah chat_id kamu. Bisa juga dicek di getUpdates di Bot API Tester.
  4. Kirim pesan dengan sendMessage:
curl -X POST "https://api.telegram.org/bot123456789:AAEexampleTokenReplaceWithYours/sendMessage" \
  -H "Content-Type: application/json" \
  -d '{"chat_id": 123456789, "text": "Halo, ini pesan pertama dari bot"}'

Versi Python dengan requests (pip install requests):

import os
import requests

TOKEN = os.environ["BOT_TOKEN"]  # jangan tulis token langsung di kode
CHAT_ID = 123456789

resp = requests.post(
    f"https://api.telegram.org/bot{TOKEN}/sendMessage",
    json={"chat_id": CHAT_ID, "text": "Halo dari Python"},
    timeout=10,
)
print(resp.json())

Kalau pesan muncul di Telegram, bot kamu sudah jalan. Format teks, tombol inline, dan pengiriman ke grup dibahas di panduan kirim pesan bot Telegram.

Opsional: deskripsi dan daftar perintah

Daftar perintah juga bisa diatur dari kode dengan metode setMyCommands (maksimal 100 perintah):

curl -X POST "https://api.telegram.org/bot123456789:AAEexampleTokenReplaceWithYours/setMyCommands" \
  -H "Content-Type: application/json" \
  -d '{"commands": [{"command": "start", "description": "Mulai bot"}, {"command": "help", "description": "Bantuan"}]}'

Langkah berikutnya: polling, webhook, dan library

Agar bot bisa membalas otomatis, program kamu harus menerima update terus-menerus. Ada dua cara yang tidak bisa dipakai bersamaan:

Untuk bot sungguhan, gunakan library yang sudah menangani polling, webhook, dan routing perintah:

BahasaLibrary populer
Pythonpython-telegram-bot, aiogram, pyTelegramBotAPI
Node.jsgrammY, Telegraf
Gotelebot, go-telegram-bot-api

Kalau bot kamu butuh antarmuka web penuh di dalam Telegram, pelajari Mini Apps dan uji halamannya dengan Mini App Tester.

Masalah yang sering muncul

Referensi lengkap ada di dokumentasi resmi BotFather dan Telegram Bot API.

Pertanyaan umum

Apakah membuat bot Telegram harus bisa coding?

Mendaftarkan bot di @BotFather tidak butuh coding. Tapi agar bot bisa membalas pesan, harus ada program atau tool otomasi yang memanggil Bot API dengan token bot tersebut.

Apakah username bot Telegram bisa diganti?

Tidak. Username bot tidak bisa diubah setelah dibuat. Yang bisa diganti adalah nama tampilan lewat /setname. Kalau butuh username lain, buat bot baru.

Bagaimana cara membuat bot telegram dengan Python?

Buat bot di @BotFather, simpan token di environment variable, lalu panggil Bot API dengan library requests atau gunakan library khusus seperti python-telegram-bot, aiogram, atau pyTelegramBotAPI.

Kenapa bot saya tidak membalas pesan?

Bot baru di @BotFather hanyalah akun. Bot baru membalas jika ada program yang berjalan: menerima update lewat getUpdates atau webhook, lalu memanggil sendMessage.

Bagaimana cara menghapus bot Telegram?

Kirim /deletebot ke @BotFather dan pilih botnya. Bot dihapus dan username-nya bisa dipakai lagi. Tindakan ini tidak bisa dibatalkan.

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.

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

Chat id telegram dimana? Cara mendapatkan chat id user, grup, supergroup, dan channel lewat getUpdates, plus solusi saat result kosong atau error 409.