Cara Membuat Bot Telegram Dasar Dengan Python 3

Cara Membuat Bot Telegram Dasar Dengan Python 3

Jika Anda pengguna Telegram, Anda pasti pernah melakukan 'percakapan' dengan chatbot di beberapa titik. Dengan kemampuan penyesuaian yang luar biasa, bot Telegram menawarkan berbagai keuntungan---baik itu untuk mengotomatisasi tugas atau hanya bersenang-senang dengan permainan di grup obrolan Anda.





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





Mulai

Untuk tutorial ini, kita akan menggunakan Python 3, the python-telegram-bot dan permintaan perpustakaan, dan API Kucing .





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

kenapa saya tidak mendapatkan notifikasi

Untuk mendapatkan token, mulailah percakapan dengan @BotAyah 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 dalam obrolan, buat bot Anda dengan mengetik /newbot memerintah. Lanjutkan untuk mengatur nama dan nama pengguna bot Anda (kami memutuskan untuk memberi nama kami @pawsomebot). Setelah ini, Anda akan mendapatkan token unik untuk bot Anda.

Sekarang kita memiliki semua prasyarat, saatnya untuk sampai 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 library yang kita instal 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 fungsi untuk mendapatkan URL gambar, yang dapat dilakukan dengan menggunakan modul permintaan. 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, kunjungi https://api.thecatapi.com/v1/images/search di peramban 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 dari obrolan pengguna. Mari buat fungsi pembungkus untuk melakukan ini. Pertama, kita sebut dapatkanUrl() . fungsi untuk mendapatkan URL gambar acak---URL ini berubah setiap kali program Anda mengulangi fungsi tersebut.

Ini kemudian diikuti dengan mendapatkan ID obrolan pengguna penerima, yang menentukan lokasi target bot untuk pesan dan mem-parsing URL melalui inbuilt Bot API. kirim_foto() 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 Telegram dokumentasi resmi setelah tutorial ini.

Terakhir, mari buat fungsi yang mengontrol kerja bot secara keseluruhan. Fungsi ini---biasanya 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 tersebut. Dalam kasus yang sederhana seperti kita, ini pada dasarnya berarti memulai bot dan memanggil kirimGambar () 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 kucing internet lucu saat diminta. Coba jalankan program Anda dan ketik /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 oleh kontributor selama bertahun-tahun, lihat daftar bot Telegram yang berguna .

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

Host Bot Telegram 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 memerintah? Tidak.

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

Karena itu, menjalankan program setiap kali Anda ingin menggunakan aplikasi ini tidak layak 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 pada PC Anda tanpa biaya untuk tetap menyala sepanjang hari dan malam karena PCB cenderung memiliki jejak energi yang jauh lebih rendah.

Atau, Anda juga dapat menyebarkan 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. Kami merekomendasikan untuk memilih uji coba atau langganan gratis dan meningkatkannya saat Anda meningkatkan skala atau cakupan program Anda.

Membagikan Membagikan Menciak Surel Cara Meng-host Situs Web Python Anda Secara Gratis di Heroku

Perlu meng-host situs web kecil tanpa biaya? Heroku mungkin yang Anda cari.

Baca Selanjutnya
Topik-topik yang berkaitan
  • Pemrograman
  • Python
  • Telegram
  • bot obrolan
  • Bot Media Sosial
Tentang Penulis Yash Chellani(10 Artikel Diterbitkan)

Yash adalah calon mahasiswa ilmu komputer yang suka membangun sesuatu dan menulis tentang segala hal tentang teknologi. Di waktu luangnya, dia suka bermain Squash, membaca salinan Murakami terbaru, dan berburu naga di Skyrim.

More From Yash Chellani

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan