Paano Bumuo ng isang Pangunahing Telegram Bot Sa Python 3

Paano Bumuo ng isang Pangunahing Telegram Bot Sa Python 3

Kung ikaw ay isang gumagamit ng Telegram, tiyak na nagkaroon ka ng isang 'pag-uusap' sa isang chatbot sa ilang mga punto. Sa kanilang kamangha-manghang pagiging napapasadyang, ang mga bot ng Telegram ay nag-aalok ng iba't ibang mga pakinabang --- maging para sa pag-automate ng mga gawain o pagkakaroon lamang ng kaunting kasiyahan sa mga laro sa iyong chat group.





Habang ang ilan ay maaaring makahanap ng pagbuo ng isang bot na maging isang nakakatakot na gawain, hindi talaga. Gamit ang tamang pagpaplano, maaari kang magkaroon ng isang Telegram bot up at tumatakbo nang mas mababa sa isang oras! Narito kung paano lumikha ng isang simpleng bot ng Telegram na naglalabas ng mga magagandang larawan ng mga pusa sa internet kapag na-prompt.





Nagsisimula

Para sa tutorial na ito, gagamitin namin ang Python 3, ang python-telegram-bot at mga hiling silid-aklatan, at TheCatAPI .





Ang bawat bot sa Telegram ay may natatanging token na makakatulong sa pakikipag-usap nito Bot API upang magamit ang interface ng pagmemensahe ng app. Ang Bot API, isa sa pinakatanyag na tampok ng Telegram sa mga developer, ay nagbibigay-daan sa iyo upang gamitin ang mga mensahe nito bilang isang interface.

mag-log out sa netflix sa roku

Upang makuha ang token, magsimula ng isang pag-uusap kasama @BotFather na, tulad ng ipinahihiwatig ng pangalan, ay isang opisyal na bot na nagbibigay-daan sa iyong lumikha at ipasadya ang iyong sariling mga bot. Maaari mong ma-access ang bot gamit ang ibinigay na link o halili na maghanap sa '@botfather' sa Telegram.



Kapag nasa chat, likhain ang iyong bot sa pamamagitan ng pagta-type ng / newbot utos Patuloy na itakda ang pangalan at username ng iyong bot (nagpasya kaming pangalanan ang amin @pawsomebot). Kasunod nito, makakakuha ka ng isang token na natatangi sa iyong bot.

Ngayon na mayroon kaming lahat ng mga kinakailangan, oras na upang makapunta sa kapanapanabik na bahagi!





Pag-install ng Mga Aklatan

Kung gumagamit ka ng Windows, buksan ang prompt ng utos at i-type ang mga sumusunod na utos:

pip install python-telegram-bot
pip install requests

Kung gumagamit ka ng macOS o Linux, sa halip gamitin ang mga sumusunod na utos. Bilang karagdagan sa Linux, tiyaking naka-log in ka bilang isang gumagamit na may mga pribilehiyong sudo.





pip3 install python-telegram-bot
pip3 install requests

Pagsulat ng Programa

Lumikha ng isang bagong folder sa iyong computer at buksan ito sa iyong paboritong editor. Lumikha ng isang bagong file at pangalanan ito main.py. Maglalaman ang file na ito ng source code para sa iyong bot.

Ngayon, i-import natin ang mga aklatan na na-install natin nang mas maaga kasama ang ilan sa kanilang mga built-in na pagpapaandar.

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

Ang daloy ng programa mula rito upang ma-access ang TheCatAPI, makuha ang URL ng isang random na imahe, at ipadala ang imaheng iyon sa chat ng gumagamit.

Magsimula tayo sa isang pagpapaandar upang makuha ang URL ng imahe, na maaaring gawin gamit ang module ng mga kahilingan. Sa pagpapaandar na ito, ikinakarga namin ang data ng JSON ng isang random na file na ibinigay ng TheCatAPI at kinukuha ang URL nito upang magamit sa paglaon. Upang tingnan ang format ng object ng JSON, magtungo sa https://api.thecatapi.com/v1/images/search sa iyong browser. Mapapansin mo ang isang bagay tulad nito:

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

Pansinin na ang object na JSON ay isang array na nagtataglay ng isang diksyunaryo. Naglalaman ang diksyunaryong ito ng URL na may susi na 'url'. Upang makuha ang URL, kailangan naming sanggunian ang unang elemento ng array, at pagkatapos ang nauugnay na key.

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

Susunod, kailangan naming ipadala ang imaheng ito sa chat ng isang gumagamit. Para dito, kailangan namin ng isang URL ng imahe pati na rin ang natatanging ID ng chat ng gumagamit. Lumikha tayo ng isang pagpapaandar ng pambalot upang magawa ito. Una, tinawag namin ang getUrl () . pagpapaandar upang makuha ang URL ng isang random na imahe --- nagbabago ang URL na ito sa tuwing umuulit ang iyong programa sa pamamagitan ng pagpapaandar.

Pagkatapos ay sinusundan ito ng pagkuha ng chat ID ng gumagamit ng tatanggap, na tumutukoy sa lokasyon ng target na bot para sa mga mensahe at pag-parse ng URL sa pamamagitan ng inbuilt na Bot API send_photo () pagpapaandar

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

Upang malaman ang higit pa tungkol sa iba't ibang mga inbuilt na pag-andar ng Bot API at kung paano ito gumagana, huwag mag-atubiling suriin ang Telegram's opisyal na dokumentasyon pagkatapos ng tutorial na ito

Panghuli, gumawa tayo ng isang pagpapaandar na kumokontrol sa pangkalahatang pagtatrabaho ng bot. Ang pagpapaandar na ito --- ayon sa kombensyon na tinatawag na pangunahing () --- ay kung saan nagpapadala kami ng isang kahilingan sa HTTP sa Bot API gamit ang token na nakuha namin sa simula ng tutorial at pagkatapos ay tukuyin kung ano ang magiging hitsura ng pakikipag-ugnay ng gumagamit ng bot. Sa isang kaso kasing simple ng amin, mahalagang nangangahulugan ito ng pagpapasimula ng bot at pagtawag sa sendImage () pag-andar kapag sinenyasan ng gumagamit.

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()

Ang iyong panghuling programa ay dapat magmukhang ganito:

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()

Ang Iyong Sariling Telegram Bot

Binabati kita! Nakapagtayo ka ng iyong sariling bot na nakakapagpahinga ng stress na nagpapadala ng mga open-source na imahe ng mga pinakamagagalit na pusa sa internet nang ma-prompt. Subukang patakbuhin ang iyong programa at i-type /meow sa chat ng iyong bot upang maisaaktibo ito.

Habang maaaring ito ay isang simpleng bot na may limitadong pag-andar, ipinapakita nito kung gaano kalakas ang ecosystem ng pag-unlad ng Telegram. Maaari kang magdagdag sa anumang bilang ng mga kumplikadong subroutine at tampok upang mapahusay ang pagpapaandar ng iyong bot --- ang langit ang limitasyon. Upang malaman ang higit pa tungkol sa kahanga-hangang mga bot ng Telegram na nagawa ng mga nag-ambag sa mga nakaraang taon, tingnan ang aming listahan ng mga kapaki-pakinabang na bot ng Telegram .

Maaari ka ring makahanap ng iba't ibang mga open-source na lisensyadong programa para sa mga bot ng Telegram sa mga platform tulad ng GitHub. Karamihan sa mga lisensyang open-source ay nagbibigay-daan sa iyo upang magamit, mag-aral, mag-download, o baguhin ang source code ng isang programa.

Host ng Iyong Telegram Bot Online

Ngayon na mayroon ka nang pagpapatakbo ng iyong bot, subukang isara ang main.py sa iyong PC at gamitin ang bot sa iyong Telegram messenger app. Tumutugon pa ba ito sa /meow utos Hindi, hindi.

Bilang isang nagsisimula, maaaring malito ka kung bakit ang pangunahing.py sa iyong PC ay kailangang ma-up at tumatakbo kung nakalikha ka na ng isang bot na tumatakbo sa internet. Ang dahilan para dito ay ginagamit ng programa ang iyong PC bilang isang lokal na server upang magpadala ng mga kahilingan sa HTTP sa mga API na ginamit sa program na ito.

Tulad ng naturan, pagkakaroon upang patakbuhin ang programa sa bawat oras na nais mong gamitin ang app ay alinman sa magagawa o maginhawa. Upang malutas ang isyung ito, kailangan naming alisin ang pagtitiwala ng bot sa iyong aparato

Ang isang paraan upang magawa ito ay ang paggamit ng isang murang naka-print na circuit board (PCB), tulad ng Raspberry Pi, upang mai-set up ang iyong sariling web server at gamitin ito upang patakbuhin ang iyong programa. Ito ay may parehong mga benepisyo tulad ng pagpapatakbo ng programa sa iyong PC nang walang mga gastos sa pagpapanatili nito sa buong araw at gabi dahil ang mga PCB ay may posibilidad na magkaroon ng isang makabuluhang mas mababang footprint ng enerhiya.

Bilang kahalili, maaari mo ring i-deploy ang iyong programa sa cloud. Tumungo sa isang web-app hosting platform tulad ng Heroku, AWS, Google Cloud, o Microsoft Azure at pumili ng isang subscription na pinakaangkop sa iyong mga pangangailangan. Inirerekumenda namin ang pagpili ng isang libreng pagsubok o subscription at pag-upgrade ito sa iyong pagtaas ng sukat o saklaw ng iyong programa.

Magbahagi Magbahagi Mag-tweet Email Paano Mag-host ng Iyong Website ng Python nang Libre sa Heroku

Kailangang mag-host ng isang maliit na website nang walang gastos? Ang Heroku ay maaaring kung ano ang iyong hinahanap.

Basahin Susunod
Mga Kaugnay na Paksa
  • Programming
  • Sawa
  • Telegram
  • Chatbot
  • Mga Bot ng Social Media
Tungkol sa May-akda Yash Chellani(10 Mga Artikulo Na-publish)

Si Yash ay isang naghahangad na mag-aaral ng computer science na gustong bumuo ng mga bagay at magsulat tungkol sa lahat ng mga bagay na tech. Sa kanyang libreng oras, gusto niyang maglaro ng Squash, basahin ang isang kopya ng pinakabagong Murakami, at manghuli ng mga dragon sa Skyrim.

Higit pa Mula kay Yash Chellani

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe