Pada artikel sebelumnya, saya telah menyinggung sedikit mengenai cara membuat bot Telegram tanpa menguasai bahasa pemrograman (coding).
Disini mari kita bahas secara lengkap 2 cara membuat bot Telegram.
Tutorial ini diperuntukkan bagi pemula atau bagi yang belum familiar dengan bot telegram.
Apa sih fungsinya bot Telegram? “Banyak”. Salah satu contohnya yang paling umum adalah sebagai server pulsa.
Pernah kan membeli pulsa di konter biasa selain melalui ATM, M-banking dan sejenisnya? Saya sendiri pernah tak sengaja memperhatikan saat membeli pulsa di konter biasa, penjualnya pakai Telegram. Dalam hati saya berkata “kekinian juga”.
Format yang digunakan yakni:
<kode>.<nomor tujuan>.<pin>
Karena saya menggunakan Simpati dan pada saat itu mengisi pulsa 5rb, maka:
s5.081234567890.1234
Dalam sesaat, pulsapun masuk. Eh, kenapa jadi bahas soal pulsa ya..
Contoh tersebut hanya sedikit gambaran saja, fungsi bot Telegram ini lebih dari sekedar itu. Buktinya raksasa provider dan Bank BUMN terbesar di Indonesia juga menggunakan bot Telegram sebagai salah satu asisten virtualnya. Keren kan.
Baiklah, seperti judul artikel ini: coding dan tanpa coding berarti kita memerlukan PC / laptop sebagai alat bantu (untuk coding). Saya sarankan anda menggunakan sistem operasi Linux agar lebih mudah.
Saya bukan pengguna Linux, apakah bisa mengikuti tutorial ini? “Bisa” akan tetapi kurang maksimal (hanya opini, boleh diperdebatkan).
Daftar isi:
Mendaftarkan bot ke BotFather
Merubah deskripsi, tentang dan bot picture
Bot Telegram tanpa coding
Coding dengan Framework
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..
Bila belum jelas, silahkan tonton video ini:
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:
- kirim /addbot atau klik “Create a New Bot“
- klik “I’ve copied the API token“, karena kita sudah mendapatkan TOKEN pada langkah di atas
- Copy TOKEN yang tadi kita dapat dari BotFather, paste dan kirimkan pada Manybot
- 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:
- Broadcast ke user (subscribers) atau channel
- Autoposting
- RSS feed
- Custom commands
- Form replies
- 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.
CTRL+ALT+T
dan buat sebuah folder dimana proyek kita akan diletakkan, disini saya menamai folder tersebut telegraf_bot
.mkdir telegraf_bot
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 file baru bernama package.json
, kurang lebih isinya 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 filenya adalah index.js
. Jadi nanti kita harus membuat file dengan nama yang sama yakni index.js
.
Memasang Telegraf
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.
/*------------------------------- Membuat bot Telegram sederhana dengan 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( 'Welcome '+ ctx.from.first_name +'', {'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. 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. Sedangkanctx.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:
- Pilih /deletebot pada Manybot
- 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.
Untuk contoh bot Telegram dengan bahasa pemrograman lainnya dapat dilihat disini.
[Baca juga: Keunggulan Telegram dibanding Aplikasi Perpesanan lain]
Butuh jasa pembuatan bot telegram? Silahkan baca tulisan di bawah ini:
Features: Telegram bot: Asisten Monitoring, Pengumpulan dan Penyajian Data
Lanjut ke chapter berikutnya:
- #2: Membuat Bot Telegram untuk Auto Posting Laporan
- #3: Membuat Notifikasi Terjadwal dengan Telegram bot
- #4: Mengambil Data Google Spreadsheets dengan Python & Bot Telegram
Mau test Bot Telegram Laporan secara Live? Klik disini : Admin Dashboard Bot Telegram. Web tersebut juga menerima Jasa Pembuatan Bot Telegram bagi yang ingin membuat Bot Telegram tanpa ribet.
cara hapus mode @manybot di halaman depan bot kita bgaimana gan??
Kalo itu tidak bisa om, karna kita cuma pakai, jd tidak punya akses buat ngilangin identitas manybot nya
saya sudah bisa bikin bot pendaftaran agen pulsa.
namun, bot buatan saya tidak bisa dikirimi pesan(format pendaftaran)
sudah saya coba utak atik, tetep belum bisa.
saya lihat di bot pendaftaran punya teman bisa di kirimi pesan.
malah saya bisa dpt info apa bila ada yg daftar melalui bot teman saya tsb.
mohon bantuan.
masih newbie
trima kasih
Saya juga sama gan
Ini baru belajar bikin bot, buat daftar dan transaksi pulsa, tapi bingung cara koneksikan nya
Perintahnya dipanggil/ dikirimi melalui private chat atau group Pak?
Kalo di group silahkan lakukan setting privacy mode nya. Tujuannya adalah agar bot bisa menerima pesan selain diawali tanda “/”. Tp ini khusus di group ya.
Untuk form pendaftaran / format pendaftaran, apakah sudah disesuaikan di dalam codingannya perintahnya?
Set getproperti adminnya mas
Kang… Tutor share ti fanpage ka channel telegram atanapi kebalikanana. Punten
cara membuat tulisan bold di deskripsi begitu tekan /start gimana bang?
Tinngal dimasukkin format
markdown
atau HTMLparse_mode
nya omcara membuat bot yang menghasilkan link reffral gimana gan.
ane mau bikin bot yang mendukung sistem MLM
Kalo itu hubungannya dengan aplikasi / backendnya gan, kalo bot hanya sebagai perantara untuk menghubungkan pengguna dengan server, nah kalo aplikasi (backend) nya ya gmn kita mau ngaturnya, misalnya web base, only database dll.
Kalau coding dengan framework gitu kita harus punya server gitu gak sih gan? thanks
Perlu om, kalo metode polling kita perlu server baik itu local / VPS dan semacamnya
Lengkap sekali mang tutorna, langsung gas full. Hatur nuhun mang salam urang Pandeglang Cidahu
Sawangsulna. Salam ti Tenjolaya
Gan bisa bantu saya gak,,saya kasih imbalan
Bantu apa gan?
mantul boss saya pengen bisa coding
Makasih kang, selama kita mau belajar pasti bisa kang
Mantap , tutornya full
Thanks om , langsung gas dicoba
Sama-sama om, selamat mencoba!
Setelah saya buat terus masukin ke grup . Kok tulisannya tetep tidak mempunyai akses kepesan ya?
Seperti yang saya jelasin diatas, apakah
privacy mode
nya sudah di set?Kalo emang udah di set dan masih seperti itu, coba bot nya jadikan Administrator Group om
Gan cara ngilangin tulisan di bawah ini gimana gan ??
Congratulations! You subscribed to firman
Use /off to pause your subscription.
Kalo itu gabisa om, karna itu bawaannya ManyBot. Kalo mau tanpa itu bisa dicoba yang metode coding
Gan, cara konek kan amibroker dan bot gmn? Misal saya ketik perintah di bot
/abc
Nanti perintah abc ini diteruskan ke amibroker lalu dr amibroker kluar hasilnya kirim kembali ke bot berupa gambar
Kalo bot API tidak bisa berinteraksi dengan sesama bot API, perlu akun khusus untuk mengoneksikan antar bot, misalnya pake Telegram CLI : tdcli
Terima Kasih atas informasinya sangat bermanfaat sekali
jangan lupa kunjungi juga website saya di
atmaluhur.ac.id
Makasih Kang
hi 🙂 bross 🙂
Kang mau bikin kaya manybot gitu ada pilihan pas kita klik /start ada contohnya ?
Hello would you mind sharing which blog platform you’re working with?
I’m planning to start my own blog soon but I’m having a difficult time deciding between BlogEngine/Wordpress/B2evolution and Drupal.
The reason I ask is because your design seems different then most blogs and I’m looking for something completely unique.
P.S My apologies for getting off-topic but I had to ask!
ecological succession (Geneva)
Hello! I am using WP
Cara koneksikan INDODAX ke bot telegram gmn ya min? Misal biar bisa : view, trade, withdraw
Gimana cara bikin bot
untuk dapat kunjungan blog/channel youtube
Bahasa pemrograman apa aja bisa di pake buat itu ?
Banyak om, di dokumentasi web resminya telegram juga sudah banyak sekarang sample code nya: Bot Code Examples
Hai kak makasih untuk tutorialnnya … mau nanya kak kenapa kalau misal orang lain mau chat ke chat bot ini harus pake tanda “/”, misalkan mau blng hai hrus nulis /hai trusn send.. dan solusi buat hilangin itu ada ga kak ?
Hai, sebelumnya metode mana yg digunakan: coding/ tanpa coding?
Jika metode
coding
tentu bisa, flexible diganti sesuai selera kitaHalo gan, saya sudah yang tanpa coding dan berhasil. Saya coba tambahkan RSS Feed dan buat channel, tapi kenapa gak bisa autopost di channel ya gan?
Apakah bot nya sudah difungsikan untuk autoposting ke Channelnya?
Boleh lihat
code
nya viagithub
atau layanan paste online lainnya biar lebih jelasIzin tanya kak, kira2 bisa ngk kalo pake gambar? misal ngirim berupa gambar, ntar respon botnya berupa text. bisa ngk kak?
Bisa kak