Anda di halaman 1dari 17

Dasar Bot Telegram

Mendaftarkan bot ke @Botfather


Pilih menu pencarian dan ketikan “Botfather” atau “@Botfather”.
Lalu klik START untuk memulai interaksi dengan @Botfather. Kita akan disuguhkan

menu pilihan. Karena


tujuan kita membuat bot maka kirim: /newbot. Jawab pertanyaan-pertanyaan dari
Botfather.

 Nama bot, sebagai contoh saya mengisinya: Pandeglang City


 Username bot, wajib menggunakan akhiran kata “bot”. Saya isi:
badakcula1Bot
Jika username tersedia, saat itu juga kita akan mendapatkan TOKEN yang
merupakan identifier dari bot itu sendiri.

Catat baik-baik TOKEN yang didapat dari BotFather. Pada contoh ini TOKEN
adalah: 544281852:AAHwMNdly2g51D4C0ructywSeBzhRUzE3HM.
NOTE : TOKEN ini bersifat rahasia, hanya kita sendiri selaku pemilik (creator) bot
yang boleh mengetahuinya, jika diperlukan kita dapat melakukan revoke TOKEN,
untuk memperbaruinya.

Merubah deskripsi, tentang dan bot picture


Meski terlihat sepele, namun alangkah baiknya jika bot yang kita buat memiliki
identitas yang jelas. Maksudnya, bot ini kegunaannya apa, untuk apa dan
sebagainya.

Deskripsi bot: kirim /setdescription > pilih bot > isi deskripsi.

Tentang bot, kirim: /setabouttext > pilih bot > isi about text yang menggambarkan bot
tersebut, atau apapun terserah anda.
Profile picture bot, kirim: /setuserpic > pilih bot > pilih gambar (upload).
Baiklah, sekarang bot sudah mempunyai akses TOKEN dan identitas, kita lanjut ke
tahap berikutnya..

1) Membuat bot Telegram tanpa coding


Agar lebih terstruktur, kita mulai dari membuat bot telegram tanpa coding, yakni
menggunakan bantuan bot pihak ketiga: @Manybot.
Seperti biasa, untuk memulai interaksi dengan bot API klik START. Tambahkan bot
baru dengan cara mengirimkan pesan: /addbot atau klik pada tombol Create a New
Bot.
Langkah-langkahnya adalah sebagai berikut:

1. kirim /addbot atau klik “Create a New Bot“


2. klik “I’ve copied the API token“, karena kita sudah mendapatkan TOKEN
pada langkah di atas
3. Copy TOKEN yang tadi kita dapat dari BotFather, paste dan kirimkan pada
Manybot
4. Selanjutnya, pilih /skip
Sampai pada tahap ini, bot sudah siap digunakan (sudah terpasang Manybot).
Selanjutnya adalah memulai interaksi dengan bot yang tadi kita buat dengan cara
klik link https://telegram.me/badakcula1Bot atau pada menu pencarian ketikan
“@badakcula1Bot”. Lalu klik START (sesuaikan nama botnya).

Beberapa fitur yang tersedia pada Manybot diantaranya:

1. Broadcast ke user (subscribers) atau channel


2. Autoposting
3. RSS feed
4. Custom commands
5. Form replies
6. yang lainnya silahkan lihat sendiri …

Pada artikel kali ini, saya hanya akan membahas fitur “Custom Commands”.
Tujuannya yaitu untuk membuat bot interaktif.
Klik pada tombol “Custom Commands“. Setelah mendapat balasan pilih “Create
Command“.
Masukan command baru sesuai dengan format diatas. Sebagai contoh, saya
membuat command: /hello.

Setelah mendapat balasan, isikan kembali pesan teks yang akan digunakan untuk
membalas command: /hello. Disini saya isi: “Hello Guys!”.
Kemudian pilih Save.
Sekarang pilih menu “Back” sampai kembali pada menu utama.

Mari kita coba untuk memeriksa apakah custom command berjalan dengan baik.
Kirim: /hello.

Jika bot membalas “Hello Guys!” sesuai dengan apa yang telah kita setting
sebelumnya, maka custom commands berhasil.

Cukup mudah kan? tanpa perlu menguasai bahasa pemrograman sekalipun kita
bisa membuat bot telegram. Hanya saja fiturnya terbatas, dan availability nya
tergantung dari server Manybot itu sendiri.

Oiya jika ingin menambahkan command, caranya sama seperti diatas.


Dalam artikel ini saya hanya membuat satu custom command yaitu: /hello.

Selain itu, kita juga bisa mengatur pesan balasan agar tidak hanya berupa teks, bisa
gambar, sticker, dokumen, file dan sebagainya. Silahkan disesuaikan dengan
kebutuhan.

2) Coding dengan Framework


Sebelum masuk ke tahap coding, ada baiknya anda memahami dulu metode-
metode pada bot API. Jika sudah membaca artikel tersebut, bagaimana, apakah
masih mau melanjutkan membuat bot Telegram sendiri? 😀

Itu semua tergantung anda, kalo memang jago programming dan punya banyak
waktu silahkan..

Saya sendiri lebih menyarankan untuk menggunakan framework (kerangka kerja),


karena lebih cepat dan menghemat waktu pengembangan tanpa dipusingkan
mengenai masalah UPDATE, OFFSET dan lain sebagainya.

Dengan framework kita bisa fokus pada tujuan, maksudnya mau difungsikan untuk
apa botnya.

Salah satu framework yang cukup populer yaitu Telegraf, “Modern Telegram bot
framework for Node js”.

Sebelum memasang telegraf, kita pasang terlebih dahulu Node.js dengan mengacu
pada alamat berikut ini.

Oiya, disini saya menggunakan sistem operasi Linux, tepatnya Ubuntu MATE 16.04,
jika memakai sistem operasi lain silahkan disesuaikan.
Buka terminal CTRL+ALT+T dan buat sebuah folder dimana proyek kita akan
diletakkan, disini saya menamai folder tersebut telegraf_bot.
1 mkdir telegraf_bot
Masuk ke folder proyek.
1 cd telegraf_bot
Seperti biasa dalam sebuah proyek NodeJS pada tahap awal kita harus melakukan
inisiasi (init) terlebih dahulu.

1 npm init
Kita akan disuguhkan dengan beberapa pertanyaan, silahkan disesuaikan dengan
proyek yang akan kita buat. Setelahnya akan didapati file baru
bernama package.json, kurang lebih isinya sebagai berikut.

1 {
2 "name": "telegraf_bot",
3 "version": "1.0.0",
4 "description": "bot telegam dengan framework telegraf",
5 "main": "index.js",
6 "scripts": {
7 "start": "node index.js"
8 },
9 "author": "Rizky",
10 "dependencies": {
11 "telegraf": "^3.17.0"
12 }
13 }
Perhatikan contoh diatas pada bagian main dan scripts, nama filenya
adalah index.js. Jadi nanti kita harus membuat file dengan nama yang sama
yakni index.js.

Memasang Telegraf

1 npm i telegraf
Setelah terpasang, saatnya kita membuat file baru dengan nama index.js, lalu
buka file tersebut dengan teks editor kesayangan anda.

Salin skrip berikut ini.

1 /*-------------------------------
2 Membuat bot Telegram sederhana
3 dengan Telegraf Framework ~ NodeJS
4 --------------------------------*/
5
6 const Telegraf = require('telegraf')
7 const bot = new Telegraf('ISI TOKEN')
8
9 bot.on('text', (ctx) => {
10 console.log(ctx.message)
11
12 if (ctx.message.text == '/start') {
13 ctx.replyWithHTML(
14 '<i>Welcome</i> <b>'+ ctx.from.first_name +'</b>',
15 {'reply_to_message_id':ctx.message.message_id})}
16
17 if (ctx.message.text == '/hey') {
18 ctx.replyWithMarkdown(
19 'Hey *'+ ctx.from.first_name +'*',
20 {'reply_to_message_id':ctx.message.message_id})}
21
22 })
23
24 bot.startPolling()
Berikut penjelasan dari skrip diatas.

 const : mendefinisikan sebuah variable yang nilainya tetap, sama halnya


dengan define pada bahasa pemrograman PHP.
 const Telegraf : konstanta Telegraf dari framework telegraf.
 const bot : konstanta bot, yang akan kita isi dengan TOKEN yang didapat
dari BotFather. Silahkan copy kembali TOKEN yang tadi kita gunakan di atas.
 ctx : context, dokumentasinya selengkapnya http://telegraf.js.org/context.html
 bot.on(‘text’ : merupakan listener jika pesan yang masuk adalah text.
 console.log(ctx.message) : digunakan untuk debug incoming message ke
terminal atau console.
 ctx.reply : ini sudah jelas yaitu mengirimkan atau membalas pesan yang
masuk. Pada contoh diatas lihat ctx.replyWithHTML, berarti mengirimkan
balasan kepada user dengan gaya HTML selengkapnya lihat #html-style.
Sedangkan ctx.replyWithMarkdown, berarti mengirimkan balasan kepada
user dengan gaya Markdown selengkapnya lihat #markdown-style.
 bot.startPolling() : menggunakan metode long polling, karena saya
menjalankannya secara lokal, akan berbeda jika menggunakan
metode webhook.

Saya rasa penjelasan diatas sudah cukup, sekarang mari kita lihat hasilnya pada
gambar berikut ini.

Catatan: Jika TOKEN tidak dapat digunakan karena bentrok dengan Manybot,
silahkan lakukan salah satu opsi berikut ini:

1. Pilih /deletebot pada Manybot


2. Revoke TOKEN melalui BotFather

Kesimpulannya: cara coding tentunya lebih baik, dikarenakan tidak tergantung pada
bot pihak ketiga. Kita dapat leluasa mengekspresikan kode program sesuai
keinginan dengan tetap memperhatikan aturan framework.

Anda mungkin juga menyukai