Membuat Bot Telegram dengan Framework Telegraf


Membuat Bot Telegram dengan Framework Telegraf

Framework atau kerangka kerja pada dasarnya dibuat untuk memudahkan atau mempersingkat suatu pekerjaan karena semuanya telah tersedia dan terstruktur jadi kita tidak perlu membuatnya dari nol. Tugas kita tinggal rajin-rajin saja membaca dokumentasi yang telah disediakan pada framework tersebut.

Dalam kaitannya dengan telegram bot, banyak sekali framework-framework yang tersedia dengan beragam bahasa pemrograman, tinggal pilih saja mana yang cocok untuk kita.
Sesuai judul postingan, kali ini kita akan membahas salah satu dari framework telegram bot yang dibuat dengan bahasa pemrograman NodeJS, yaitu Telegraf.

Perlu diketahui, saya bukan seorang penulis kode, bukan developer dan juga bukan orang yang berlatar belakang IT. Saya hanya seorang end user yang gemar ngoprek 😀.

Oke mungkin cukup ngalor ngidulnya sekarang langsung saja. Sebelum kita memasang telegraf pastikan NodeJS nya telah terpasang pada PC atau laptop yang kita gunakan, cara memasangnya bisa dilihat disini jika kita akan menggunakannya secara lokal. Jika mau pakai VPS (Virtual Private Server) atau layanan cloud online lainnya juga silahkan.

N E X T . .

Persiapan Project
Oiya, disini saya menggunakan sistem operasi Linux, tepatnya Ubuntu MATE 16.04, jika memakai sistem operasi lain silahkan disesuaikan sendiri 😅.
Buka terminal CTRL+ALT+T dan buat sebuah folder dimana proyek kita akan diletakkan, disini saya menamai folder tersebut telegraf_bot.
mkdir telegraf_bot
Masuk ke folder proyek.
cd telegraf_bot
Seperti biasa dalam sebuah proyek NodeJS pada tahap awal kita harus melakukan inisiasi (init) terlebih dahulu.
npm init
Kita akan disuguhkan dengan beberapa pertanyaan, silahkan disesuaikan dengan proyek yang akan kita buat. Setelahnya akan didapati berkas baru bernama package.json, kurang lebih isinya yaitu sebagai berikut.
{
  "name": "telegraf_bot",
  "version": "1.0.0",
  "description": "bot telegam dengan framework telegraf",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "Rizky",
  "dependencies": {
    "telegraf": "^3.17.0"
  }
}

Perhatikan contoh diatas pada bagian main dan scripts, nama berkasnya adalah index.js. Jadi nanti kita harus membuat berkasnya dengan nama index.js.

Memasang Telegraf
npm i telegraf

Menulis Skrip
Seperti telah dijelaskan diatas, saatnya kita membuat berkas baru dengan nama index.js, lalu buka berkas tersebut dengan penyunting teks kesayangan Anda dan salinlah skrip berikut ini.
/*----------------------------------
Create Simple Telegram bot 
with Telegraf Framework ~ NodeJS
-----------------------------------*/

const Telegraf = require('telegraf')
const bot = new Telegraf('ISI TOKEN')

bot.on('text', (ctx) => {
 console.log(ctx.message)

 if (ctx.message.text == '/start') {
    ctx.replyWithHTML(
     '<i>Welcome</i> <b>'+ ctx.from.first_name +'</b>',
  {'reply_to_message_id':ctx.message.message_id})}

 if (ctx.message.text == '/hey') {
    ctx.replyWithMarkdown(
     'Hey *'+ ctx.from.first_name +'*',
  {'reply_to_message_id':ctx.message.message_id})}

 })

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 agar bisa diproses oleh framework telegrafCara mendapatkan TOKEN bisa dilihat pada postingan sebelumnya yaitu "Membuat Bot Telegram untuk Personal Notifikasi".
  • ctx : contextdokumentasinya 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.replyWithMarkdownberarti 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 webhook.
Oke saya rasa penjelasan diatas sudah cukup, sekarang mari kita lihat hasilnya pada gambar berikut ini. 

Membuat Bot Telegram dengan Framework Telegraf

Sedangkan di terminal atau console yaitu sebagai berikut.

Membuat Bot Telegram dengan Framework Telegraf


Demikianlah gambaran mengenai cara membuat bot telegram degan framework Telegraf. Untuk skripnya silahkan dikustomisasi dan diexplore lebih lanjut. Jangan lupa untuk membaca dokumentasinya. Selamat berkreatifitas!

No comments:

Post a Comment