Bot sederhana dengan menggunakan python! – Telegram Group

Buat Telegram Bot pertamamu menggunakan Python

Memulai

Ketika kamu bergabung ke sebuah grup telegram, dalam beberapa kasus kamu akan menemukan seorang member grup yang langsung menyambutmu. Member tersebut biasanya adalah admin yang akan memantau percakapan grup, menyaring spam sampai mengeluarkan anggota grup yang melanggar aturan. Pekerjaan tersebut biasanya akan diautomasi dengan menggunakan bot yang berjalan sesuai dengan aturan yang sudah ditentukan. Bot juga biasa digunakan sebagai pemantau dan pengurus sebuah channel. Jika pemilik channel atau grup mempunyai update baru, maka bot akan secara otomatis mengabari subscriber channel tersebut.

Sesuai dengan judul, saya akan berbagi pengalaman saya tentang bagaimana cara membuat Bot Telegram menggunakan Python dan sebuah library.

Buat Bot Service melalui Bot Father

Sebelum kita bisa melakukan automasi terhadap bot, kita membutuhkan sebuah Bot Service yang akan menghubungkan program kita dengan telegram, yang dapat diakses melalui bot API yang disediakan oleh telegram. Proses ini merupakan proses paling pertama, karena telegram mengharuskan untuk membuat bot, harus melalui Bot Father.

Kunjungilah Bot Father untuk memulai proses pembuatan Bot.

Ketikkan /start untuk melihat daftar layanan. Bot akan mengirimkan sejumlah perintah yang didukung untuk mengelola bot kamu atau hal lainnya.

Perintah /start untuk melihat daftar layanan

Ketikkan /newbot untuk membuat Bot Baru.

Perintah /newbot untuk membuat bot baru

Sekarang kamu akan diminta memasukkan nama bot yang kamu mau. Masukkan nama yang menarik.

Masukkan nama bot

Masukkan username untuk bot kamu, username yang valid harus diakhiri dengan ‘bot’ contoh: botpertamasaya_bot, coba masukkan username yang unik yang belum pernah digunakan pada bot lain.

Selesai, bot sudah selesai dibuat! Simpan Token yang diberikan baik-baik, token tersebut digunakan untuk mengakses API bot yang bersangkutan.

Jangan expose token tersebut ke orang lain, jika kalian tidak ingin orang lain mengotak atik bot kalian!

Sekarang apa lagi?

Masih banyak! Ini adalah langkah awal untuk memulai projek telegram bot kamu. Untuk saat ini, bot belum bisa melakukan apapun.

Kita harus menjalankan program pada server atau komputer pribadi yang akan mengahandle setiap pesan yang masuk untuk kemudian diproses. Sekarang kita akan mencoba secara manual menjalankan bot dengan mencari chat id lalu mengirimkan pesan kepada pengguna dengan chat id tersebut.

Testing

Untuk mengirim sebuah pesan kepada seorang user telegram, kita harus tahu dulu chat id-nya! Saya menemukan sebuah diskusi yang menarik di Stack Overflow.

Untuk mendapatkan chat id dari sebuah percakapan, salah satu cara yang dapat dilakukan adalah seperti ini:

  1. Kunjungi bot yang sudah dibuat dengan mengunjungi url t.me/ username_bot lalu kirim sebuah pesan, apapun itu.

2. Kunjungi URL berikut:

https://api.telegram.org/botXXX:YYY/getUpdates

Ganti XXX:YYY dengan token bot kamu, lalu kunjungi, maka server akan memberikan sebuah json yang berisi informasi seperti pesan dan chat id. Jika kamu melewatkan langkah pertama, maka tidak akan ada update untuk user yang bersangkutan.

Agar mudah menemukan chat id dari sebuah percakapan, saran saya gunakan json beautifier.

Cari ‘“chat”:{“id”:xxxxxxx,…’ yang berasal dari user yang bersangkutan

Oke, sekarang kamu sudah mendapatkan id chat user.

Untuk melakukan testing, kamu bisa melakukan method post dengan parameter chat_id dan text:

Ganti XXX:YYY dengan token bot, zzzzzzzzzz dengan chat id.

Untuk bersenang-senang, saya membuat sebuah program kecil untuk mengirim dari bot ke spesifik user:

POST Request

Bot ini bisa dipakai dalam banyak hal! Saya paling suka menggunakan bot telegram ini sebagai UI dari aplikasi, misalnya sebuah perangkat IoT.

Menggunakan Library Python

Bot yang sudah kita buat sebenarnya belum bisa dikatakan bot. Tahap yang sudah kita lakukan tadi merupakan tahap pengintegrasiannya. Kali ini kita akan mencoba membuat bot tersebut benar-benar menjadi bot yang interaktif, programmable, mudah (tidak perlu mencari chat id secara manual) digunakan sehingga bisa merespon secara otomatis sesuai dengan aturan yang telah kita tetapkan.

Pengembangan pada libary ini lumayan aktif dan telah digunakan lebih dari 28 Ribu pengguna (2021). Wikinya juga sangat membantu dan sangat mudah diikuti bahkan bagi pemula.

Langkah pertama, install library python berikut menggunakan PIP dalam terminal di mac atau cmd di windows.

Perintah penginstalan

Jika sudah selesai, kira-kira outputnya akan seperti dibawah

Output Terminal

Setelah library telah terinstal, ujilah apakah sudah benar-benar terinstal, dengan cara jalankan perintah dibawah di dalam shellnya python

Uji Library

Jika baris kode berjalan dengan aman tanpa memunculkan pesan apapun, bisa dikatakan library berhasil terinstall.

Selanjutnya kita akan mencoba membuat interaksi dasar bot ini bekerja atau ‘Hello World’ nya sendiri jika kalian menyebutnya.

Tulislah potongan kode dibawah lalu tukarlah ‘TOKEN’ dengan token bot kalian yang sudah kita lakukan di awal.

Potongan kode dibawah pada dasarnya adalah mengimport library, lalu membuat objek Updater. Kalian bisa mempelajari lebih jauh mengenai class Updater.

Updater

Selanjutnya kita akan akan menambahkan fitur logging yang akan berguna untuk melakukan debug nantinya jika bot tidak berjalan sesuai harapan. Jika terjadi error pada saat memproses pesan yang masuk, pesan error akan ditampilkan pada terminal atau CMD:

Exception Handling

Sekarang kita masuk ke method intinya (function dan method sama saja). Method ini akan kita sambungkan dengan perintah /start pada bot.

Jika user mengirimkan perintah tersebut, atau mengklik tombol start pada bot, maka dia akan membalas dengan pesan “I’m a bot, please talk to me!”.

Start Handler

Lalu kita akan menyambungkan method diatas dengan perintah /start, sehingga setiap kali user mengirimkan itu, program akan memanggil method start(). Kamu bisa mengubah kata perintahnya sesuka hati.

Untuk menjalankan bot, tambahkanlah kode dibawah ini:

Start the Bot

Bot akan berjalan terus menerus, mendengarkan pesan yang masuk dari pengguna telegram yang membuka percakapan dengannya.

Berikut keseluruhan kodingan:

Seluruh Kode

Tambahkan fungsi dibawah, maka bot akan mengulang setiap percakapan dan meneriaki kamu:)

Echo Handler

Buat bot pura-pura mengetik sehingga terlihat lebih organik dengan manambahkan kodingan berikut sebelum bot mengirimkan balasan (jangan lupa mengimport package telegram dulu sebelum menambahkan fitur ini):

Chat Action: Typing

Jika bot menerima pesan yang tidak dikenalinya (A.K.A tidak kamu programkan untuk itu), maka method berikut berguna untuk menanganinya dengan mengirimkan pesan balik ke pengguna, sehingga pengguna mengetahui bahwa perintah yang dimasukkannya tidak didukung:

Sekali lagi, untuk keseluruhan kodingannya adalah:

Seluruh Kode

Perlu diingat, baris dibawah harus berada pada baris paling terakhir

Start the Bot

Untuk menjalankan program ini, cukup ketikkan perintah python namafile.py jika kalian menggunakan python shell. Bot akan berjalan dan jika ada sesuatu yang penting (seperti error) maka outputnya akan ditampilan pada layar terminal.

Agar bot bekerja secara berkelanjutan, kamu harus menjalankan bot secara terus menerus di komputer kamu. Artinya kamu harus menghidupkan komputer kamu selama 24 jam tiap hari dalam seminggu agar bot tetap bisa mendengar pesan yang masuk lalu memprosesnya. Tetapi cara ini tidak disarankan 🙂 alangkah baiknya sediakan satu server untuk menjalankan bot ini didalamnya, sehingga kamu tidak repot-repot harus menghidupkan komputer 24 jam terus-menerus mengabiskan banyak listrik.

Jika kamu sudah selesai bermain-main, hentikan bot dengan menambahkan kode ini:

Stop the Bot
Demo

Masih banyak fitur-fitur penting dan menarik lainnya dapat kamu cobakan dan kamu tambahkan ke dalam bot, seperti mengaktifkan inline mode untuk menampilkan perintah apa saja yang didukung bot, membuat poll, membuat menu interaktif, menangani pembayaran dll.

Bacalah lebih lanjut github wiki dari github resminya untuk mempelajari mengenai fitur-fitur lainnya.

python-telegram-bot/python-telegram-bot

The telegram.ext submodule is built on top of the pure API implementation. It provides an easy-to-use interface and…

github.com

Demikianlah postingan saya, silahkan bereksperimen dengan bot sekreatif dan inovatif mungkin!

Sekian dan Terima Kasih!

10118277 — Mirza My Humayung

Program Studi Teknik Informatika

Fakultas Teknik dan Ilmu Komputer

Universitas Komputer Indonesia

Ten articles before and after

python Telegram bot pytelegrambotapi telegram bot simple – Telegram Group

How I Connected with 10,000 people over a couple of weeks – Telegram Group

Written in collaboration with Sushil Shaw – Telegram Group

Stream Tweets to a Telegram channel – Telegram Group

Django Telegram Bot. В данной статье я расскажу о том как… – Telegram Group

Telegram Secret Chat — Enable Now to be Secure – Telegram Group

Create Telegram Chatbot. In January 2022, Telegram announced… – Telegram Group

How to Write a Quick and Easy Telegram Bot that Posts Messages with Python – Telegram Group

Membuat MJPEG Stream Camera Menggunakan ESP32-CAM — Part 2 – Telegram Group

Snap-It Find-It: Your Shopping Companion Bot – Telegram Group