Home / Programming / Cara Membangun Bot Telegram Dasar Dengan Python 3

Cara Membangun Bot Telegram Dasar Dengan Python 3

Jika Anda adalah pengguna Telegram, Anda pasti pernah melakukan ‘percakapan’ dengan chatbot di beberapa titik. Dengan kemampuan penyesuaiannya yang luar biasa, bot Telegram menawarkan berbagai keuntungan — baik itu untuk mengotomatiskan tugas atau hanya bersenang-senang dengan game di grup obrolan Anda.

Meskipun beberapa orang mungkin menganggap mengembangkan bot sebagai tugas yang menakutkan, sebenarnya tidak. Dengan perencanaan yang tepat, Anda dapat memiliki bot Telegram dan berjalan dalam waktu kurang dari satu jam! Berikut cara membuat bot Telegram sederhana yang menghasilkan gambar lucu kucing internet saat diminta.

Mulai

Untuk tutorial ini, kita akan menggunakan Python 3, python-telegram-bot and request library, dan TheCatAPI.

Setiap bot di Telegram memiliki token unik yang membantunya berkomunikasi dengan Bot API untuk menggunakan antarmuka perpesanan aplikasi. Bot API, salah satu fitur Telegram paling populer di kalangan pengembang, memungkinkan Anda menggunakan pesannya sebagai antarmuka.

telegram-messenger-people-love

Untuk mendapatkan token, mulailah percakapan dengan @BotFather yang, seperti namanya, adalah bot resmi yang memungkinkan Anda membuat dan menyesuaikan bot Anda sendiri. Anda dapat mengakses bot menggunakan tautan yang diberikan atau sebagai alternatif mencari ‘@botfather’ di Telegram.

Setelah berada di obrolan, buat bot Anda dengan mengetik / newbot perintah. Lanjutkan untuk mengatur nama dan nama pengguna bot Anda (kami memutuskan untuk menamai kami @pawsomebot). Setelah ini, Anda akan mendapatkan token unik untuk bot Anda.

Sekarang setelah kita memiliki semua prasyarat, saatnya untuk beralih ke bagian yang menarik!

Menginstal Perpustakaan

Jika Anda menggunakan Windows, buka command prompt dan ketik perintah berikut:

pip install python-telegram-bot
pip install requests

Jika Anda menggunakan macOS atau Linux, gunakan perintah berikut di terminal Anda. Selain itu di Linux, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo.

pip3 install python-telegram-bot
pip3 install requests

Menulis Program

Buat folder baru di komputer Anda dan buka di editor favorit Anda. Buat file baru dan beri nama main.py. File ini akan berisi kode sumber untuk bot Anda.

Sekarang, mari impor pustaka yang kita pasang sebelumnya bersama dengan beberapa fungsi bawaannya.

from telegram.ext import Updater, CommandHandler
import requests
import re

Alur program mulai sekarang adalah mengakses TheCatAPI, mendapatkan URL gambar acak, dan mengirim gambar itu ke obrolan pengguna.

Mari kita mulai dengan sebuah fungsi untuk mendapatkan URL gambar, yang bisa dilakukan dengan menggunakan modul request. Dalam fungsi ini, kami memuat data JSON dari file acak yang disediakan oleh TheCatAPI dan mengekstrak URL-nya untuk digunakan nanti. Untuk melihat format objek JSON, buka https://api.thecatapi.com/v1/images/search di browser Anda. Anda akan melihat sesuatu seperti ini:

[{"breeds":[],"id":"a8c","url":"url.jpg","width":800,"height":533}]

Perhatikan bahwa objek JSON adalah larik yang menyimpan kamus. Kamus ini berisi URL dengan kunci ‘url’. Untuk mengekstrak URL, kita perlu mereferensikan elemen pertama dari array, dan kemudian kunci yang relevan.

def getUrl():
#obtain a json object with image details
#extract image url from the json object
contents = requests.get('https://api.thecatapi.com/v1/images/search')
url = contents[0]['url']
return url

Selanjutnya, kita perlu mengirim gambar ini ke obrolan pengguna. Untuk ini, kami memerlukan URL gambar serta ID unik obrolan pengguna. Mari buat fungsi pembungkus untuk melakukan ini. Pertama, kami menyebutnya getUrl (). berfungsi untuk mendapatkan URL gambar acak — URL ini berubah setiap kali program Anda melakukan iterasi melalui fungsi tersebut.

Ini kemudian diikuti dengan mendapatkan ID obrolan pengguna penerima, yang menentukan lokasi target bot untuk pesan dan mengurai URL melalui API bawaan yang ada di Bot API. send_photo () fungsi.

def sendImage(bot, update):
url = getUrl()
chat_id = update.message.chat_id
bot.send_photo(chat_id=chat_id, image=url)

Untuk mengetahui lebih lanjut tentang berbagai fungsi bawaan Bot API dan cara kerjanya, silakan lihat dokumentasi resmi Telegram setelah tutorial ini.

Terakhir, mari buat fungsi yang mengontrol keseluruhan kerja bot. Fungsi ini — secara konvensional disebut main () — adalah tempat kami mengirim permintaan HTTP ke Bot API menggunakan token yang kami peroleh di awal tutorial dan kemudian menentukan seperti apa interaksi pengguna bot itu. Dalam kasus yang sederhana seperti milik kita, ini pada dasarnya berarti memulai bot dan memanggil sendImage () berfungsi saat diminta oleh pengguna.

def main():
updater = Updater("1190888035:AAGeJ9316R95NqJLFefV5vQA-UL4np11V2c")
#call sendImage() when the user types a command in the telegram chat
updater.dispatcher.add_handler(CommandHandler('meow',sendImage))
#start the bot
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()

Program terakhir Anda akan terlihat seperti ini:

from telegram.ext import Updater, CommandHandler
import requests
import re
def getUrl():
#obtain a json object with image details
#extract image url from the json object
contents = requests.get('https://api.thecatapi.com/v1/images/search')
url = contents[0]['url']
return url
def sendImage(bot, update):
url = getUrl()
chat_id = update.message.chat_id
bot.send_photo(chat_id=chat_id, image=url)
def main():
updater = Updater("1190888035:AAGeJ9316R95NqJLFefV5vQA-UL4np11V2c")
#call sendImage() when the user types a command in the telegram chat
updater.dispatcher.add_handler(CommandHandler('meow',sendImage))
#start the bot
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()

Bot Telegram Anda Sendiri

Selamat! Anda telah membuat bot penghilang stres Anda sendiri yang mengirimkan gambar open-source dari kucing internet paling lucu saat diminta. Coba jalankan program dan ketik Anda /meong di obrolan bot Anda untuk mengaktifkannya.

Meskipun ini mungkin bot sederhana dengan fungsionalitas terbatas, ini menunjukkan betapa kuatnya ekosistem pengembangan bot Telegram. Anda dapat menambahkan sejumlah subrutin dan fitur kompleks untuk meningkatkan fungsionalitas bot Anda — langit adalah batasnya. Untuk mengetahui lebih lanjut tentang bot Telegram luar biasa yang telah dibuat kontributor selama bertahun-tahun, lihat daftar bot Telegram kami yang berguna.

Anda juga dapat menemukan berbagai program berlisensi sumber terbuka untuk bot Telegram di platform seperti GitHub. Kebanyakan lisensi sumber terbuka memungkinkan Anda menggunakan, mempelajari, mengunduh, atau memodifikasi kode sumber suatu program.

Host Telegram Bot Anda Secara Online

Sekarang setelah bot Anda aktif dan berjalan, coba tutup main.py di PC Anda dan gunakan bot di aplikasi messenger Telegram Anda. Apakah itu masih menanggapi /meong perintah? Tidak, tidak.

Sebagai pemula, Anda mungkin bingung mengapa main.py di PC Anda perlu aktif dan berjalan ketika Anda sudah membuat bot yang berjalan di internet. Alasannya adalah karena program tersebut menggunakan PC Anda sebagai server lokal untuk mengirim permintaan HTTP ke API yang digunakan dalam program ini.

Dengan demikian, harus menjalankan program setiap kali Anda ingin menggunakan aplikasi bukanlah hal yang mungkin dan tidak nyaman. Untuk mengatasi masalah ini, kami perlu menghapus ketergantungan bot pada perangkat Anda

Salah satu cara untuk melakukannya adalah dengan menggunakan papan sirkuit cetak (PCB) berbiaya rendah, seperti Raspberry Pi, untuk menyiapkan server web Anda sendiri dan menggunakannya untuk menjalankan program Anda. Ini memiliki manfaat yang sama seperti menjalankan program di PC Anda tanpa biaya untuk menyimpannya sepanjang hari dan malam karena PCB cenderung memiliki jejak energi yang jauh lebih rendah.

Atau, Anda juga dapat menerapkan program Anda ke cloud. Buka platform hosting aplikasi web seperti Heroku, AWS, Google Cloud, atau Microsoft Azure dan pilih langganan yang paling sesuai dengan kebutuhan Anda. Sebaiknya pilih uji coba atau langganan gratis dan tingkatkan versinya saat Anda meningkatkan skala atau cakupan program Anda.

Coding di laptop
10 Pekerjaan yang Tidak Pernah Anda Ketahui Dilakukan oleh AI

Kecerdasan buatan ada dimana-mana. Berikut adalah 10 contoh pekerjaan yang dilakukan oleh AI — banyak yang mungkin pernah Anda temui.


Tentang Penulis

.

About nomund

Check Also

Cara Membuat Repositori Pertama Anda di Github

Situs Github yang populer bersama dengan alat git menjadikannya sumber yang sangat baik untuk tidak …