Како изградити основни телеграм бот са Питхоном 3

Како изградити основни телеграм бот са Питхоном 3

Ако сте корисник Телеграма, сигурно сте у неком тренутку имали „разговор“ са цхатботом. Својом невероватном прилагодљивошћу, Телеграмови ботови нуде низ предности --- било да се ради о аутоматизацији задатака или само забави уз игре у вашој групи за ћаскање.





Иако ће некима развој робота бити тежак задатак, то заиста није тако. Уз правилно планирање, можете покренути Телеграм бот за мање од сат времена! Ево како да креирате једноставног Телеграм робота који приказује слатке слике интернет мачака када се то од вас затражи.





Почетак

За овај водич ћемо користити Питхон 3, питхон-телеграм-бот и захтева библиотека, и ТхеЦатАПИ .





Сваки бот у Телеграму има јединствени токен који му помаже у комуникацији Бот АПИ да бисте користили интерфејс за размену порука у апликацији. Бот АПИ, једна од најпопуларнијих функција Телеграма међу програмерима, омогућава вам да његове поруке користите као интерфејс.

како обрисати ССД уређај

Да бисте добили жетон, започните разговор са @БотФатхер који је, као што име говори, званични бот који вам омогућава да креирате и прилагодите своје ботове. Боту можете приступити помоћу дате везе или алтернативно претражити „@ботфатхер“ на Телеграму.



Када уђете у ћаскање, креирајте бота тако што ћете откуцати /невбот команда. Наставите да постављате име и корисничко име вашег бота (одлучили смо да именујемо нашег @павсомебот). Након овога, добићете жетон јединствен за вашег бота.

Сада када имамо све предуслове, време је да пређемо на узбудљив део!





Инсталирање библиотека

Ако користите Виндовс, отворите командну линију и откуцајте следеће команде:

pip install python-telegram-bot
pip install requests

Ако користите мацОС или Линук, уместо тога користите следеће команде на свом терминалу. Осим тога, у Линуку се уверите да сте пријављени као корисник са судо привилегијама.





pip3 install python-telegram-bot
pip3 install requests

Писање програма

Направите нову фасциклу на рачунару и отворите је у свом омиљеном уређивачу. Направите нову датотеку и дајте јој име маин.пи. Ова датотека ће садржати изворни код вашег бота.

Увезимо сада библиотеке које смо раније инсталирали заједно са неким од њихових уграђених функција.

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

Ток програма од сада па надаље је приступање ТхеЦатАПИ -у, добијање УРЛ -а насумичне слике и слање те слике у кориснички цхат.

Почнимо са функцијом за добијање УРЛ -а слике, што се може урадити помоћу модула за захтеве. У овој функцији учитавамо ЈСОН податке насумичне датотеке коју обезбеђује ТхеЦатАПИ и издвајамо њен УРЛ за каснију употребу. Да бисте погледали формат ЈСОН објекта, пређите на хттпс://апи.тхецатапи.цом/в1/имагес/сеарцх у вашем прегледачу. Приметићете нешто овако:

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

Приметите да је ЈСОН објекат низ који садржи речник. Овај речник садржи УРЛ са кључем „урл“. Да бисмо издвојили УРЛ, морамо референцирати први елемент низа, а затим и одговарајући кључ.

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

Ваш коначни програм би требао изгледати овако:

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

Ваш сопствени телеграм бот

Честитам! Направили сте сопственог робота за ослобађање од стреса који шаље слике отворених кодова најслађих интернет мачака након што се то од вас затражи. Покушајте да покренете програм и откуцајте /Мјау у цхату вашег бота да бисте га активирали.

Иако ово може бити једноставан бот са ограниченом функционалношћу, он показује колико је моћан Телеграмов екосистем за развој ботова. Можете додати било који број сложених потпрограма и функција како бисте побољшали функционалност свог бота --- небо је граница. Да бисте сазнали више о сјајним Телеграм роботима које су сарадници годинама стварали, погледајте наше листа корисних Телеграм ботова .

Такође можете пронаћи разне лиценцне програме отвореног кода за Телеграм ботове на платформама као што је ГитХуб. Већина лиценци отвореног кода вам омогућава да користите, проучавате, преузимате или мењате изворни код програма.

Хостирајте свој Телеграм Бот на мрежи

Сада када је ваш бот покренут, покушајте затворити маин.пи на рачунару и користите робота у апликацији Мессенгер Мессенгер. Да ли и даље реагује на /Мјау команда? Не, није.

Као почетник, можда ћете бити збуњени зашто маин.пи на вашем рачунару мора бити покренут када сте већ креирали бот који ради на интернету. Разлог за то је што програм користи ваш рачунар као локални сервер за слање ХТТП захтева АПИ -има који се користе у овом програму.

Због тога, покретање програма сваки пут када желите да користите апликацију није ни изводљиво ни згодно. Да бисмо решили овај проблем, морамо уклонити зависност бота од вашег уређаја

Један од начина да то учините је коришћење јефтине штампане плоче (ПЦБ), попут Распберри Пи, за постављање сопственог веб сервера и његово коришћење за покретање програма. Има исте предности као и покретање програма на рачунару, без трошкова одржавања даноноћно, будући да ПЦБ -и имају значајно мањи енергетски траг.

Алтернативно, можете такође да примените свој програм у облаку. Идите на платформу за хостинг веб апликација, као што су Хероку, АВС, Гоогле Цлоуд или Мицрософт Азуре и одаберите претплату која најбоље одговара вашим потребама. Препоручујемо да одаберете бесплатну пробну верзију или претплату и надоградите је како повећавате опсег или опсег свог програма.

Објави Објави Твеет Емаил Како бесплатно угостити своју Питхон веб локацију на Хероку -у

Треба да хостујете малу веб страницу без икаквих трошкова? Хероку је можда управо оно што тражите.

Прочитајте следеће
Повезане теме
  • Програмирање
  • Питхон
  • Телеграм
  • Цхатбот
  • Ботови друштвених медија
О аутору Иасх Цхеллани(10 објављених чланака)

Иасх је амбициозан студент рачунарства који воли да гради ствари и пише о свим стварима технологије. У слободно време воли да игра сквош, чита примерак најновијег Муракамија и лови змајеве у Скириму.

Више од Иасх Цхелланија

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили