Perbedaan Long Polling dengan Webhook bot telegram, Mana Yang Cocok ?

Long polling dan webhook adalah metode untuk mengambil/mengirimkan sebuah event yang terjadi pada suatu sevice api .api  teleram mempunyai 2 metode untuk mendapatkan sebuah event dari api bot telegram yaitu secara polling GetUpdates dan menggunakan webhook SetWebhook.

Perbedaan Long Polling dengan Webhook bot telegram,  Mana Yang Cocok ?

Long polling dan webhook adalah metode untuk mengambil/mengirimkan sebuah event yang terjadi pada suatu sevice api .api  teleram mempunyai 2 metode untuk mendapatkan sebuah event dari api bot telegram yaitu secara polling GetUpdates dan menggunakan webhook SetWebhook.

Long Polling Metode ini sangat sederhana, Kita harus melakukan atau meminta update secara terus menerus setiap N detik ke server Telegram untuk memeriksa apakah ada pesan yang masuk? Metode ini cocok bagi kita yg baru belajar bot atau sekedar iseng ingin membuat bot, karena cukup praktis bisa digunakan secara lokal, tidak perlu punya hosting ataupun layanan web service online lainnya untuk membuat mesin  bot. longpolling membutuhkan pemeriksaan terus menerus dan menciptakan lebih banyak penundaan antara permintaan dan respons bot.
Selain itu, jika koneksi internet tidak stabil, penjadwal Anda dapat menumpuk dan membuat beban berat ke server.

Dengan metode long-polling, maka server akan mengecek secara periodik ke Bot apakah ada pesan yang masuk. Jika ada pesan yang masuk maka server akan melakukan eksekusi berdasarkan pesan request yang dikirim pengguna. Jika tidak ada pesan maka kondisi serve idle. Dalam membuat Bot Telegram dengan menggunakan long-polling maka akan agar Bot kita bisa diakses akan menggunakan Laptop sendiri sebagai server dan databasenya seperti pada Gambar 1. Berbeda jika kita menggunakan Webhook maka server akan berada pada hosting dan wajib memakai https. Sehingga bot yang berada di server bisa diakses oleh user lain. Hal ini karena API Telegram Bot yang mengijinkan developer untuk membuat sebuah bot berdasarkan ‘bot’ yang mereka inginkan. Sehingga ada Input - Proses - Output yang terjadi pada bot telegram.Tekknik LongPolling membutuhkan local server untuk proses bot telegram dan kita juga menggunakan PHP untuk bisa membuat Bot Telegram tersebut 

Ada beberapa hal yang perlu dipertimbangkan saat menggunakan long polling untuk membangun interaktivitas realtime dalam bot Anda, baik dalam hal pengembangan dan operasi / prosses

  1. Seiring bertambahnya penggunaan,  artinya akan ada antrian jika pengguna / update banyak tentu akan membuiat respon bot akan lama
  2. Ketika server  kehilangan koneksi / tidak stabil, dan alamat IP berubah, long polling lama tidak dapat membangun kembali koneksi jika anda terputus dari koneksi internet long poling ini tidak dapat membangun kembali koneksi lama anda perlu merestart ulang long poling.
  3. Dengan polling yang lama, Anda tidak dapat mengelola antrian pesan dan menangkap pesan yang terlewat.
  4. polling panjang tidak  memberikan dukungan load balancing atau failover di beberapa server.
  5. Saat membuat aplikasi realtime dengan long polling bot telegram, Anda harus mengembangkan sistem pengelolaan komunikasi Anda sendiri. Artinya, Anda akan bertanggung jawab untuk memperbarui, memelihara, dan menskalakan infrastruktur Anda.

Polling adalah metode yang praktis untuk pengembangan dan pembuatan bot telegram, tetapi jika Anda mulai menerima lalu lintas yang lebih padat, Anda mungkin ingin beralih ke Webhook.
Ingatlah, ini juga mengurangi panggilan Anda per detik ke API sehingga Anda mendapatkan kembali beberapa panggilan tambahan sebelum mencapai batas API.

Webhook Dalam metode ini kita tidak harus melakukan update secara terus menerus karena bot ditanam pada sebuah URL, jadi ketika ada pesan masuk, pesan tersebut akan diposting atau diteruskan ke URL yang telah kita setting untuk selanjutnya diproses oleh bot. Telegram mengharuskan URL ini HTTPS.
Tentunya untuk menggunakan metode ini kita harus mempunyai layanan VPS atau web service

Ada beberapa hal yang wajib di penuhi untuk mengunkan metode webhook ini :

  1. Wajib memiliki sebuah domain
  2. Wajib memiliki SSL / HTTPS valid
  3. bisa menggunakan vps / hosting
  4. bahasa pemograman terserah (php,nodejs.python dll)

Kelebihan Webhook yang menonjol dari longpolling adalah kelebihan menghandle pesan masuk , termasuk kecepatan menerima dan mengirimkan pesan balik ke pengguna, tidak memerlukan resource yang tinggi . sangat disarankan jika anda membuat sebuah project dengan itensitas pengguna tinggi