Kā izveidot pamata telegrammu robotu, izmantojot Python 3

Kā izveidot pamata telegrammu robotu, izmantojot Python 3

Ja esat Telegram lietotājs, jums noteikti ir bijusi saruna ar tērzēšanas robotu. Pateicoties pārsteidzošajai pielāgojamībai, Telegram robotprogrammatūras piedāvā dažādas priekšrocības-vai nu uzdevumu automatizēšanai, vai vienkārši izklaidei ar spēlēm jūsu tērzēšanas grupā.





Lai gan dažiem robotprogrammatūras izstrāde var šķist biedējošs uzdevums, tā patiešām nav. Pareizi plānojot, jūs varat izveidot Telegram robotu mazāk nekā stundas laikā! Lūk, kā izveidot vienkāršu telegrammu robotu, kas pēc pieprasījuma izvada jaukus interneta kaķu attēlus.





Darba sākšana

Šajā apmācībā mēs izmantosim Python 3 python-telegram-bot un pieprasījumus bibliotēka, un TheCatAPI .





Katram Telegram robotam ir unikāls marķieris, kas palīdz tam sazināties Bot API lai izmantotu lietotnes ziņojumapmaiņas saskarni. Bot API, viena no Telegram populārākajām funkcijām izstrādātāju vidū, ļauj izmantot tās ziņojumus kā saskarni.

ko tbh nozīmē tekstā

Lai iegūtu marķieri, sāciet sarunu ar @BotFather kas, kā norāda nosaukums, ir oficiāls robots, kas ļauj izveidot un pielāgot savus robotus. Jūs varat piekļūt robotam, izmantojot norādīto saiti, vai arī telegrammā meklēt “@botfather”.



Tērzēšanas laikā izveidojiet savu robotu, ierakstot /newbot komandu. Turpiniet iestatīt sava robota vārdu un lietotājvārdu (mēs nolēmām nosaukt savu @pawsomebot). Pēc tam jūs saņemsiet savam robotam unikālu marķieri.

Tagad, kad mums ir visi priekšnoteikumi, ir pienācis laiks ķerties pie aizraujošās daļas!





Bibliotēku instalēšana

Ja izmantojat Windows, atveriet komandu uzvedni un ierakstiet šādas komandas:

pip install python-telegram-bot
pip install requests

Ja izmantojat macOS vai Linux, tā vietā izmantojiet šādas komandas savā terminālī. Turklāt operētājsistēmā Linux pārliecinieties, vai esat pieteicies kā lietotājs ar sudo privilēģijām.





pip3 install python-telegram-bot
pip3 install requests

Programmas rakstīšana

Datorā izveidojiet jaunu mapi un atveriet to savā iecienītākajā redaktorā. Izveidojiet jaunu failu un nosauciet to par main.py. Šajā failā būs jūsu robota avota kods.

Tagad importēsim iepriekš instalētās bibliotēkas kopā ar dažām to iebūvētajām funkcijām.

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

Programmas plūsma no šejienes ir piekļūt TheCatAPI, iegūt nejauša attēla URL un nosūtīt šo attēlu lietotāja tērzēšanai.

Sāksim ar funkciju, lai iegūtu attēla URL, ko var izdarīt, izmantojot pieprasījumu moduli. Šajā funkcijā mēs ielādējam TheCatAPI nodrošinātā nejaušā faila JSON datus un iegūstam tā URL vēlākai izmantošanai. Lai apskatītu JSON objekta formātu, dodieties uz https://api.thecatapi.com/v1/images/search pārlūkprogrammā. Jūs pamanīsit kaut ko līdzīgu:

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

Ņemiet vērā, ka JSON objekts ir masīvs, kurā ir vārdnīca. Šajā vārdnīcā ir URL ar atslēgu “url”. Lai iegūtu URL, mums ir jāatsaucas uz masīva pirmo elementu un pēc tam uz atbilstošo atslēgu.

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

Tālāk mums ir jānosūta šis attēls lietotāja tērzēšanā. Šim nolūkam mums ir nepieciešams attēla URL, kā arī lietotāja tērzēšanas unikālais ID. Lai to izdarītu, izveidosim iesaiņojuma funkciju. Pirmkārt, mēs saucam par getUrl () . funkciju, lai iegūtu nejauša attēla URL-šis URL mainās katru reizi, kad programma atkārto funkciju.

Pēc tam tiek iegūts saņēmēja lietotāja tērzēšanas ID, kas nosaka robota mērķa atrašanās vietu ziņojumiem un parsē URL, izmantojot iebūvēto Bot API send_photo () funkciju.

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

Lai uzzinātu vairāk par Bot API dažādām iebūvētajām funkcijām un to darbību, lūdzu, pārbaudiet Telegram oficiālā dokumentācija pēc šīs apmācības.

Visbeidzot, izveidosim funkciju, kas kontrolē robota vispārējo darbību. Šī funkcija, ko parasti sauc par galveno (), ir vieta, kur mēs nosūtām HTTP pieprasījumu uz Bot API, izmantojot marķieri, ko ieguvām apmācības sākumā, un pēc tam definējam, kāda būs robota lietotāju mijiedarbība. Tik vienkāršā gadījumā kā mūsu, tas būtībā nozīmē bot uzsākšanu un izsaukšanu sendImage () funkcija, kad to pieprasa lietotājs.

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

Jūsu galīgajai programmai vajadzētu izskatīties šādi:

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

Jūsu pašu telegrammu robots

Apsveicam! Jūs esat izveidojis savu stresa mazināšanas robotu, kas pēc uzaicinājuma nosūta atvērtā pirmkoda attēlus no jaukākajiem interneta kaķiem. Mēģiniet palaist programmu un ierakstīt /Mjau jūsu robota tērzēšanā, lai to aktivizētu.

Lai gan tas var būt vienkāršs robots ar ierobežotu funkcionalitāti, tas parāda, cik spēcīga ir Telegram robotu attīstības ekosistēma. Jūs varat pievienot neierobežotu skaitu sarežģītu apakšprogrammu un funkciju, lai uzlabotu sava robota funkcionalitāti-debesis ir robeža. Lai uzzinātu vairāk par lieliskajiem Telegram robotprogrammatūrām, ko ieguldītāji ir izveidojuši gadu gaitā, apskatiet mūsu noderīgu telegrammu robotu saraksts .

Jūs varat arī atrast dažādas atvērtā pirmkoda licencētās programmas Telegram robotprogrammatūrām tādās platformās kā GitHub. Lielākā daļa atvērtā pirmkoda licenču ļauj izmantot, izpētīt, lejupielādēt vai modificēt programmas avota kodu.

Mitiniet savu telegrammu robotu tiešsaistē

Tagad, kad jūsu robots ir izveidots un darbojas, mēģiniet aizvērt galveno datoru savā datorā un izmantojiet robotu savā Telegram ziņojumapmaiņas lietotnē. Vai tas joprojām reaģē uz /Mjau pavēle? Nē, nav.

Kā iesācējs, jums var rasties neskaidrības, kāpēc datoram main.py ir jāsāk darboties, ja esat jau izveidojis robotu, kas darbojas internetā. Iemesls tam ir tas, ka programma izmanto jūsu datoru kā vietējo serveri, lai nosūtītu HTTP pieprasījumus uz šajā programmā izmantotajām API.

Tādējādi programmas palaišana katru reizi, kad vēlaties izmantot lietotni, nav ne iespējama, ne ērta. Lai atrisinātu šo problēmu, mums ir jānoņem robota atkarība no jūsu ierīces

Viens veids, kā to izdarīt, ir izmantot lētu iespiedshēmas plati (PCB), piemēram, Raspberry Pi, lai iestatītu savu tīmekļa serveri un izmantotu to programmas palaišanai. Tam ir tādas pašas priekšrocības kā programmas palaišanai datorā, nemaksājot to visu dienu un nakti, jo PCB parasti ir ievērojami mazāks enerģijas nospiedums.

Varat arī izvietot savu programmu mākonī. Dodieties uz tīmekļa lietotņu mitināšanas platformu, piemēram, Heroku, AWS, Google Cloud vai Microsoft Azure, un izvēlieties abonementu, kas vislabāk atbilst jūsu vajadzībām. Mēs iesakām izvēlēties bezmaksas izmēģinājuma versiju vai abonementu un jaunināt to, palielinot savas programmas apjomu vai apjomu.

Kopīgot Kopīgot Čivināt E -pasts Kā bez maksas mitināt savu Python vietni Heroku

Nepieciešams bez maksas mitināt nelielu vietni? Heroku varētu būt tieši tas, ko jūs meklējat.

Lasīt Tālāk
Saistītās tēmas
  • Programmēšana
  • Python
  • Telegramma
  • Chatbot
  • Sociālo mediju roboti
Par autoru Jašs Čellāni(10 raksti publicēti)

Jašs ir topošais datorzinātņu students, kuram patīk būvēt lietas un rakstīt par visām tehnoloģiskajām lietām. Brīvajā laikā viņam patīk spēlēt skvošu, lasīt jaunākā Murakami eksemplāru un medīt pūķus Skyrim.

Vairāk no Yash Chellani

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu