Pengertian Dan Cara kerja bot telegram

Telegram bot adalah sebuah bot atau robot virtual yang diprogram secara khusus dengan

Pengertian Dan Cara kerja bot telegram

Apa itu Telegram Bot?

              Telegram bot adalah sebuah bot atau robot virtual chat yang diprogram secara khusus dengan berbagai perintah untuk menjalankan serangkaian instruksi yang diberikan oleh pengguna.  bot telegram termasuk bot masa kini yang relatif paling mudah dibuat. memang telegram tidak sepopuler whastapp,BBM, facebook messeger di kalangan masyarakat, namun bisa jadi suatu saat akan menjadi aplikasi secondry yang wajib dimiliki.

Apa saja Jenis bot telegram?

      Ada dua jenis bot telegram yang saya ketahui :

  1. Bot api 
    adalah bot resmi yang disediakan oleh developer telegram yang merupakan entity tersendiri bot dengan api ini mempunyai kelebihan menerima dan menjalankan perintah dengan batasan yang sudah di tentukan oleh telegram, apa saja batasannya? bot telegram harus dimulai oleh user orang terlebih dahulu jika user itu belum pernah melakukan aksi ke bot tsb maka bot tidak akan bisa mengirimkan pesan private ke user,
    Sesama bot api tidak bisa saling berkomunikasi artinya bot tidak dapat menerima respon dari bot lain meskipun dalam 1 grub pengguna, bot telegram tidak bisa seleluasa user biasa/manusia bisa dalam segala fitur 
     
  2. Bot ProtoType
    adalah bot yang tidak disupport oleh pihak telegram bot ini di jalankan menggunakan aplikasi client telegram/ apliaksi telegram yang sering kita pakai dan menggunakan user resmi pada umumnya seperti akun telegram kita yang dimodifikasi sedemikian rupa sehingga seolah-olah bot tersebut adalah sebuah user biasa , bot proto ini tidak diperbolehkan oleh telegram bahkan jika ketahuan maka akun user telegram bisa terkena banned dari pihak telegram, system bot ini sama seperti kita sebagai user telegram pada umumnya mampu memiliki fitur semua hal yang ada pada user contohnya bot proto dapat melakukan spam ke akun/user lain tanpa harus user itu melakukan chat terlebih dahulu ke bot, bot ini bisa leluasa keluar masuk grub tanpa ada yang mengundang atau mengeluarkan tentu  ini sangat bertentangan dengan sytem bot api .namun saat ini pengembang dari program ini sudah terhenti

      Perlu di ketahui setelah user membuat bot dan user tsb mencoba untuk mengirimkan pesan ke bot , maka bot tersebut tidak akan memberikan respon apapun keuser, ini dikarenakan bot tersebut hanyalah sebuah bot kosong tidak memiliki sebuah mesin . User perlu memberikan bot tersebut ke sebuah action dengan metode GET ,Longpoling, webhook.

      Jika user membuat sebuah bot hanya di gunakan untuk monitoring / komunikasi 1 arah  artinya bot dapat mengirimkan pesan namun tidak dapat memprosses pesan kita ke bot, maka cukup menggunakan GET melalui URL yang sudah diberikan action di Url bot api tersebut. Contoh Permintaan mengirimkan pesan ke user dengan metode GET ke url bot .

https://api.telegram.org/botTokenBotAnda/sendMessage?chat_id=xxxx&text=textuser

Perlu diinggat user hanya membuat komunikasi dengan bot 1 arah jika kita mengginkan 2 arah user perlu membuat sebuah mesin untuk memproses panggil baik dari hasil respon tersebut .

        Secara default bot telegram yang user buat dapat menerima entitis dari pengguna bot tsb , artinya begini jika user tersebut berinteraksi dengan bot maka bot tersebut akan menerima pesan tersebut dan pesan tersebut dapat diakses untuk keperluan entits / mengubahnya menjadi sebuah perintah untuk mesin dari bot tersebut , user dapat mengetahui pesan tersebut dengan dua metode : Webhook (https) dan Polling (GetUpdate)

Polling  (GetUpdate)

  1. Long poling
    Yakni dimana kita harus selalu request setiap N detik untuk mendapatkan data baru dari bot, jika disetiap request perdetiknya tidak ada perubahan data, maka kita tidak akan mendapatkan informasi terbaru, jadi intinya metode ini akan selalu menggirimkan permintaan ke telegram jika data sama maka tidak  akan diteruskan ke mesin bot yang dibuat.
    Jika terdapat perubahan data dari sebelumnya maka akan di teruskan ke mesin  bot dan  akan memproses informasi atau data yang di peroleh dari hasil request. jika terdapat kecocokan data yang di minta oleh mesin maka selanjutnya mesin akan mengirimkan kembali ke telegram sesuai dengan data yang di terima sebelumnya.
    Kelebihan dari metode ini : Tidak membutuhkan hosting dapat dijalankan di server lokal misalkan komputer yang terhubung internet,di raspi, atau mungkin di dalam router atau perangkat lain yang mendukung prosses long polling  untuk kekurangan dari metode ini adalah proses membaca  data baru akan terdapat delay yang di sebabkan oleh  koneksi antara perangkat dengan telegram , ketika tidak samaan prosses request data dengan pesan / action baru yang di terima bot akan mengakibatkan perbedan waktu meskipun hanya beberapa detik atau mungkin beberapa menit tergantung dari koneksi ke telegram, dan jika mengginginkan bot 24 jam bisa di gunakan maka harus melakukan long poling terus menerus tidak boleh mati atau mengalami kendala di internet.
     
  2. Webhook (https)
    Dalam metode ini user tidak harus melakukan  request data secara terus menerus karena bot api ditanam pada sebuah URL, jadi ketika ada pesan  / action baru  masuk, pesan / action baru tersebut akan diposting atau diteruskan ke URL mesin bot  yang telah kita setting untuk selanjutnya diproses oleh mesin bot. dan Telegram mengharuskan URL ini HTTPS. Tentunya untuk menggunakan metode ini user harus mempunyai layanan VPS atau web service untuk tempat mesin  bot. atau kita memiliki sebuah SSL untuk mengindentifikasi HTTPS server user , kelebihan dari metode ini : Respon akan lebih cepat karena telegram lah yang akan menggirimkan data ke mesin bot jika terdapat pesan  / action baru . menurut pengalaman penulis mikbotam lebih baik menggunakan server di luar negeri atau yang lebih dekat dengan sever telegram ini akan membuat prosses post ke mesin bot jauh lebih cepat  hampir 0.3 detik dan  jika kita menggunakan server lokal indonesia (vps,hosting) sekitar 1-2 detik di disebabkan karena letak sever pusat telegram yang amat jauh dari indonesia dan jika kita melakukan ping test koneksi ke telegram bisa sampai 3 digit ,jika anda tidak mementingkan soal kecepatan respon bot tidak menjadi masalah.

 

setelah mengetahui prosses panggilan balik ke telegram mari kita ketahui apa saja fitur metode dari data yang bisa kita minta dan kita terima,

 Ada beberapa fitur / metode yang dapat digunakan untuk merancang sebuah Bot di Telegram Beberapa diantaranya adalah :

  1. getMe
  2. sendMessage
  3. Formatting options
  4. forwardMessage
  5. sendPhoto
  6. sendAudio
  7. sendDocument
  8. sendVideo
  9. sendAnimation
  10. sendVoice
  11. sendVideoNote
  12. sendMediaGroup
  13. sendLocation
  14. editMessageLiveLocation
  15. stopMessageLiveLocation
  16. sendVenue
  17. sendContact
  18. sendPoll
  19. sendChatAction
  20. getUserProfilePhotos
  21. getFile
  22. kickChatMember
  23. unbanChatMember
  24. restrictChatMember
  25. promoteChatMember
  26. setChatAdministratorCustomTitle
  27. setChatPermissions
  28. exportChatInviteLink
  29. setChatPhoto
  30. deleteChatPhoto
  31. setChatTitle
  32. setChatDescription
  33. pinChatMessage
  34. unpinChatMessage
  35. leaveChat
  36. getChat
  37. getChatAdministrators
  38. getChatMembersCount
  39. getChatMember
  40. setChatStickerSet
  41. deleteChatStickerSet
  42. answerCallbackQuery
  43. Inline mode methods

Dan ada beberapa type dari data yang di peroleh oleh bot yang nantinya akan di teruskan ke mesin bot  diantaranya :

  1. User
  2. Chat
  3. Message
  4. MessageEntity
  5. PhotoSize
  6. Audio
  7. Document
  8. Video
  9. Animation
  10. Voice
  11. VideoNote
  12. Contact
  13. Location
  14. Venue
  15. PollOption
  16. PollAnswer
  17. Poll
  18. UserProfilePhotos
  19. File
  20. ReplyKeyboardMarkup
  21. KeyboardButton
  22. KeyboardButtonPollType
  23. ReplyKeyboardRemove
  24. InlineKeyboardMarkup
  25. InlineKeyboardButton
  26. LoginUrl
  27. CallbackQuery
  28. ForceReply
  29. ChatPhoto
  30. ChatMember
  31. ChatPermissions
  32. ResponseParameters
  33. InputMedia
  34. InputMediaPhoto
  35. InputMediaVideo
  36. InputMediaAnimation
  37. InputMediaAudio
  38. InputMediaDocument
  39. InputFile
  40. Sending files
  41. Inline mode objects

        Bagaimana banyak juga kan nah sebagai mesin bot, mesin tersebut perlu memfilter data type dan metode mana yang cocok untuk di prosses dan di gunakan untuk panggil balik ke telegram.
     Misalkan mesin bot menerima type data Message (lihat daftar diatas). didalam data Message terdapat perintah program dimesin bot, maka mesin bot akan merespon dengan cepat sesuai dengan data Message tersebut dan akan memilih jenis metode yang akan di kirimkan balik ke telegram Contoh mesin bot menerima pesan dari data Message  berupa perintah /hello, mesin bot akan memprosses sesuai dengan perintah /hello yang ada di program mesin tersebut dan akan mengirimkan kembali ke telegram dengan metode yang dipilih yakni sendMessage (lihat daftar diatas) Maka nanti bot api telegram tersebut akan menggirimkan balik ke user yang mengirimkan permintaan ke bot  berupa Message text karena metode yang di pilih yakni sendMessage , mesin bot bisa memilih metode apa yang akan di berikan sesuai daftar diatas jika mesin bot merespon dengan mengirimkan gambar /foto maka metode yang dipilih adalah sendPhoto begitu juga jika inggin merespon dalam bentuk audio metode yang di pilih untuk sendAudio.

Sekian dulu lain waktu kita sambung lagi.