Dokumentasi Bot Telegram – Part 1

Dokumentasi ini bukan tutorial, tapi bisa dipakai untuk belajar juga. Jadi, aku hanya akan menjelaskan yang penting dan langsung skip bagian yang (aku rasa) sudah jelas.

Sebelumnya, jika Anda mengira Bot Telegram sama dengan OA Line atau Channel Telegram, bisa jadi salah besar. Jika mengira membuat Bot ini semudah menulis “if”, bisa jadi benar, tapi mungkin Anda kecewa. Tapi engga ada salahnya membaca.

Info lengkap mengenai bot dari Telegram ada di sini. Trus aku juga banyak belajar dari situs Cinta Programming, jadi boleh juga belajar dari sana.

Mendaftarkan Akun Bot di BotFather03b57814e13713da37.png

BotFather bisa di-add di sini.

BotFather ini digunakan untuk mendaftarkan bot di telegram. Description, About, Commands, Ava, dan sebagainya bisa diatur di sini juga. Buatnya cukup simpel dengan command /newbot dan ikuti instruksi selanjutnya.

Sedikit saran, hati-hati dalam memilih username. Nama, profile pic, desc, semuanya bisa diganti, kecuali username.

Mengakses Bot

Kemudian, BotFather akan memberikan token. Token adalah serentetan karakter yang nantinya akan digunakan untuk mengakses bot. Untuk selanjutnya, ini adalah token yang akan digunakan sebagai contoh:

110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
*Token ini didapat dari situs Telegram dan tidak terdaftar.

Token ini rahasia, sebab bot bisa dibajak kalau token tersebar. Contohnya, berikut link untuk mengecek bot:

https://api.telegram.org/bot110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw/getme

Jadi, tulis https://api.telegram.org/bot , lanjutkan dengan token, lalu beri “/getme” di akhir. Kalau masih sama, seharusnya muncul seperti ini:

{"ok":false,"error_code":401,"description":"Unauthorized"}

Sebab, token itu tidak valid. Silakan coba dengan token Anda sendiri. Seharusnya, “ok” bernilai true. Kembalian yang diberikan diencode dalam bentuk json.

Untuk selanjutnya, silakan berkreasi dengan membaca Bot API Manual.

Pada link tadi, method yang digunakan adalah “getMe”. Method ini berfungsi untuk mengakses info general dari bot kita. Pada dasarnya, kembalian akan berisi id, nama bot, dan username.

Mengenai id, id adalah nomor unik. Setiap user telegram pasti memiliki 1 id yang berbeda dengan user lain. Begitu pula dengan grup, supergroup, dan bot. Nanti, id ini akan menjadi esensial.

Ada banyak sekali method. Daftar lengkapnya ada di Bot API Manual, bagian “Available methods“.

Memperoleh Updates

Hal paling penting sebelum masuk ke method adalah mengambil updates. buka link tadi, tapi ganti getme menjadi getUpdates.

https://api.telegram.org/bot110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw/getUpdates

Hasilnya seperti ini:

{"ok":true,"result":[]}

Index “ok” menandakan updates berhasil diambil dan “result” akan memberikan updates yang masuk ke bot kita. Updates ini bisa berasal dari chat private atau chat di group/supergroup. Namun, apabila setting /setprivacy di BotFather adalah “ENABLED”, maka chat group yang masuk hanya chat yang mengandung “/” (command). Jika DISABLED, maka semua chat di grup akan masuk ke update bot kita.

Hal ini menjadi esensial ketika server bot kurang mampu memproses banyak sekali updates. Misal dalam 10 detik ada 100 chat yang masuk di grup, tapi hanya 1 yang menggunakan command. Maka, setting ENABLED hanya memroses 1 update dan DISABLED memroses 100 updates.

Misal ada chat masuk berisi “tes”. Hasilnya akan seperti ini:

{"ok":true,"result":[{"update_id":199461956,
"message":{"message_id":1239,"from":{"id":216910856,"first_name":"YA_","username":"yonasadiel"},"chat":{"id":216910856,"first_name":"YA_","username":"yonasadiel","type":"private"},"date":1468465813,"text":"tes"}}]}

Jadi, updates ok (berhasil diambil), dan update-nya ada di index “result”. Index “result” berisi 1 update dengan nomor update 199461956, berisi “message” dengan tipe data Messages. Pesan ini bernomor 1239, informasi user pengirim dengan tipe data User, informasi chat dengan tipe data Chat, date yang dikemas dalam Integer, dan text pesan nya dengan tipe data String.

Method Lain

Salah satu method terpenting adalah sendMessage. Selama ada id dari user/ group / supergroup / bot yang ingin kita kirimi pesan, kita bisa mengirim pesan ke user tersebut menggunakan method ini.  Caranya, dengan mengakses url ini:

https://api.telegram.org/bot110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw/sendMessage?chat_id=NOMORID&text=PESAN

Capture.PNG
Bot API List of Method

Cukup ganti token bot, ganti NOMORID dengan ID user yang ingin dikirimi pesan, dan ganti PESAN dengan isi pesan. PESAN harus bisa dibaca dalam url, sehingga pastikan semua karakter khusus diganti UTF-8.

Semua method sudah lengkap di Bot API Manual, bagian Available methods sehingga semua bisa dipelajari sendiri. Cukup tulis https://api.telegram.org/bot , diikuti TOKEN bot, lalu “/”, lanjutkan dengan method. Jika ada data tambahan, beri “?”, diikuti parameternya, diikuti “=” dan disambung dengan isi parameter. Jika lebih dari satu, sambung dengan “&”. Sebagai contoh, link di atas menggunakan method “sendMessage”, serta mengirim 2 parameter, yakni chat_id berisi NOMORID dan text berisi PESAN.

Sejauh ini, semua yang dibahas hanya teknik dasarnya. Mengenai bagaimana proses data dan membuat automatic bot, bisa menggunakan PHP, Python, Java, C#, atau pemrograman lain yang dirasa nyaman. Namun pada postingan selanjutnya akan diberikan dokumentasi untuk PHP.

Iklan

Satu pemikiran pada “Dokumentasi Bot Telegram – Part 1

  1. Artikel ini saya tulis kembali di halaman gitbook saya agar bisa di baca oleh beberapa orang
    tak lupa mengingat artikel ini berasal dari web ini maka saya tuliskan sumber artikel aslinya !
    Terima kasih
    Semoga ilmunya bermanfaat bagi orang lain

    Suka

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s