Pengertian Dan Cara kerja bot telegram
Telegram bot adalah sebuah bot atau robot virtual yang diprogram secara khusus dengan
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 :
- 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
- 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)
- 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.
- 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 :
- getMe
- sendMessage
- Formatting options
- forwardMessage
- sendPhoto
- sendAudio
- sendDocument
- sendVideo
- sendAnimation
- sendVoice
- sendVideoNote
- sendMediaGroup
- sendLocation
- editMessageLiveLocation
- stopMessageLiveLocation
- sendVenue
- sendContact
- sendPoll
- sendChatAction
- getUserProfilePhotos
- getFile
- kickChatMember
- unbanChatMember
- restrictChatMember
- promoteChatMember
- setChatAdministratorCustomTitle
- setChatPermissions
- exportChatInviteLink
- setChatPhoto
- deleteChatPhoto
- setChatTitle
- setChatDescription
- pinChatMessage
- unpinChatMessage
- leaveChat
- getChat
- getChatAdministrators
- getChatMembersCount
- getChatMember
- setChatStickerSet
- deleteChatStickerSet
- answerCallbackQuery
- Inline mode methods
Dan ada beberapa type dari data yang di peroleh oleh bot yang nantinya akan di teruskan ke mesin bot diantaranya :
- User
- Chat
- Message
- MessageEntity
- PhotoSize
- Audio
- Document
- Video
- Animation
- Voice
- VideoNote
- Contact
- Location
- Venue
- PollOption
- PollAnswer
- Poll
- UserProfilePhotos
- File
- ReplyKeyboardMarkup
- KeyboardButton
- KeyboardButtonPollType
- ReplyKeyboardRemove
- InlineKeyboardMarkup
- InlineKeyboardButton
- LoginUrl
- CallbackQuery
- ForceReply
- ChatPhoto
- ChatMember
- ChatPermissions
- ResponseParameters
- InputMedia
- InputMediaPhoto
- InputMediaVideo
- InputMediaAnimation
- InputMediaAudio
- InputMediaDocument
- InputFile
- Sending files
- 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.