Cum se configurează smartphone-uri și PC-uri. Portal informativ

Cum se scrie un bot telegram. Boti utili pentru afaceri

Buna ziua! Misto mașini virtuale, care au inteligență artificială primitivă, dar amuzantă, sunt o caracteristică unică a mesagerului. Boții Telegram sunt echipați cu un API convenabil și sunt scrisi în PHP - acest lucru vă permite să-i creați ca obstrucționari, descărcarea de pe site-ul web al creatorului cărții și organizarea unei căutări convenabile. Astăzi ne vom concentra asupra ei și vom vorbi și despre alte creații ale utilizatorilor talentați de mesagerie.

Ce sunt boții în telegramă, lista și catalogul de roboți

Mai întâi, să ne dăm seama ce sunt robotii de chat. De fapt, acestea sunt programe unice care interacționează cu utilizatorul prin trimiterea de mesaje. Adică, o persoană scrie un fel de comandă, iar robotul efectuează un lanț de acțiuni asociate cu aceasta. Pentru a fi mai clar, accesați catalogul nostru situat sub articolul în sine și priviți roboții cu ochii tăi.

Le puteți găsi într-un magazin specializat (Bot store, storebot.me). Cu toate acestea, rețineți că puteți cumpăra publicitate în cataloagele lor și astfel deveniți „Popular”.

Acum să ne uităm la acest subiect mai detaliat.

Cum funcționează roboții în Telegram și cum să îi folosească

Algoritmii majorității programelor pentru utilizator sunt teribil de simpli. Din anumite motive, mulți oameni cred că trebuie să descarce ceva, apoi să îl instaleze și numai după toate acestea pot începe să lucreze. Dar asta nu este adevărat.

Algoritmul pentru majoritatea este următorul:

  • Găsiți-l în messenger (mai multe despre asta mai jos).
  • Dați o comandă chatului, de exemplu, „obțineți imagine” sau folosiți meniul grafic cu butoane convenabile.
  • Obțineți rezultatul.

După cum puteți vedea, nimic supranatural.

Cum să găsești un bot în telegram

Dacă te-ai uitat prin unele TOP și ai găsit un asistent convenabil pentru, de exemplu, vânzările de mașini, tot ce trebuie să faci este să-l găsești în sistem. De fapt, nici asta nu este nimic complicat.

Ar trebui să cauți roboți după numele lor. Condu-l înăuntru bara de căutare chiar deasupra listei de chat-uri. Dacă există și nu este ascuns, îl vei găsi imediat.

Puteți găsi inteligența artificială folosind un link special pe care ți-l va oferi proprietarul acesteia.

Cum să adăugați (conectați) un bot la telegramă

Nu întotdeauna liste ca „ cei mai buni roboți mileniu" vă poate satisface. Atunci vine conștientizarea: „Da, pot să-mi fac singur!” Voi câștiga și bani din publicitate.” Mai jos veți găsi chiar instrucțiuni în acest sens, dar rețineți că configurarea și programarea vă vor necesita mult timp și efort.

Veți învăța cum să adăugați unul personal mai jos.

Dacă despre care vorbim despre „adăugați la lista de chat” - faceți clic pe numele lui în linia cu rezultatele căutării, apoi faceți clic pe „Start” de mai jos.

Cum să exportați și să importați o listă de roboți în telegram

Dar o astfel de posibilitate nu este încă în planuri.

Cum pot șterge un bot din Telegram?

Uneori, creatorii reușesc să-și facă creația prea intruzivă. Un astfel de robot scrie constant pe chat, fie cerând atenție, fie împărtășind știri repetate de multe ori. Pur și simplu ștergerea chatului nu ajută aici.

Pentru a scăpa de abonament, urmați acest algoritm:

  • Intră în chat cu robotul.
  • Faceți clic pe pictograma acesteia din partea de sus.
  • Găsiți butonul Stop and Block.
  • Clic tasta dreapta A vorbi.
  • Selectați Ștergeți istoricul și Ștergeți conversația.

Cum se configurează un bot în telegram - parametri de comandă

Așadar, dacă îți apar din ce în ce mai multe idei noi, iar robotul dorit este planificat să nu fie mai rău decât botul Yandex, atunci de ce să nu-l creezi? În orice caz, îl puteți elimina pur și simplu dacă lucrurile merg prost.

Pentru a-l crea, mai întâi aveți nevoie de comenzi precum „sendmessage”. Și trebuie să fie trimiși la... tatăl tuturor roboților.

Urmează următoarele instrucțiuni:

  • Căutați @BotFather.
  • Scrie-i/începe.
  • Tastați /newbot, apoi numele viitorului program.

Pentru a nu mări articolul la dimensiuni incredibile, vom lăsa comenzile rămase cu o imagine. Acest lucru vă va ajuta să înțelegeți ce puteți crea folosind constructorul încorporat. Ei bine, dacă nu știți engleza, nu ar trebui să abordați această problemă.

De ce bot-ul nu se conectează la serverul Telegram?

Dar chiar dacă ați reușit să vă creați propriul robot, programarea nu este posibilă folosind exemple gata făcute, sau pe cont propriu - o ambuscadă poate aștepta aici. Serverul de mesagerie pur și simplu nu răspunde.

În capul meu se strecoară deja diverse gânduri paranoice: ce se întâmplă dacă te lași înșelat? Ce se întâmplă dacă ai fi cumva blocat și privat de dreptul de a crea? Totuși, botul listei se atârnă într-un loc vizibil, există grupuri întregi acolo rulează programe, dar nimic nu merge pentru tine...

Dar nu vă faceți griji - aceasta este doar o problemă temporară. Încearcă mai târziu, vei reuși.

De ce poate fi blocat un bot telegram?

Este o altă chestiune dacă robotul este blocat. Da, chiar și într-o rețea atât de democratică pot efectua curățări periodice. Dar nu-ți face griji: dacă ai creat un companion drăguț pentru femei, nimeni nu te va atinge.

Boții de propagandă ai statului islamic, extremismul și, uneori, încălcarea drepturilor de autor pot fi eliminate. Adevărat, acesta din urmă duce cel mai adesea nu la o blocare generală, ci la o blocare regională.

De ce robotul telegram nu răspunde?

Probabil că toată lumea este familiarizată cu acest tip de situație. Să ne imaginăm că, de exemplu, compania 1c și-a lansat botul. După ce te-ai hotărât să-l testezi, mergi la chat dorit, scrie ceva și... Dai peste totală ignoranță.

Pot exista mai multe motive pentru aceasta: un server deconectat, parametrii robotului configurați incorect, erori în sintaxa comenzilor dvs. Pentru orice eventualitate, recitiți din nou textul și, dacă totul este corect, așteptați puțin. Totul se va îmbunătăți foarte curând.

Botul poate fi, de asemenea, pur și simplu blocat.

Ce este telegram bot api

Misteriosul „id-ul fișierului api curl” este un set anumite comenzi, ca să spunem așa, o platformă pentru scris inteligenţă artificială. Fără el, scrierea unui robot ca Antonca ar fi fost imposibil.

De fapt, puteți scrie comenzi în robot folosind link-ul și puteți utiliza metodele încorporate pentru introducerea și ieșirea informațiilor în program. Dacă APi nu ar exista, ai scrie aceste comenzi în codul mașinii de zerouri și unu.

Este posibil să piratați un bot telegram?

Desigur, roboții buni precum Avinfobot provoacă întotdeauna o mulțime de suspine invidioase. Oamenii care nu pot scrie în C plus doar suspină trist când se uită la popularitatea altor creații și visează în secret să le fure.

Dar acest lucru este pur și simplu imposibil - dacă nu ți se oferă link unic pentru un robot, desigur. Deci nu ar trebui să faci lucruri atât de rele. Ia un manual, mergi la Habra, învață programare. Nici o alta cale!

Cum să dezvoltați și să creați un bot în telegramă - îl scriem singuri sau în designer

Crearea unui astfel de program este un proces destul de complex și confuz. Nu o vom descrie în întregime, deoarece este pur informatii profesionale. Mai întâi, citiți despre API pe site-ul oficial, studiați xml și câteva limbaje de programare, abia apoi creați „yourerobot”.

Desigur, puteți folosi unul dintre numeroșii constructori, dar un astfel de robot nu va câștiga abonați, având o funcționalitate destul de limitată.

Cum să scrii cu ușurință un bot pentru telegramă

Vrem să vă avertizăm din timp: nu va fi ușor. Nu. În primul rând, să vă spunem principiile de bază ale creației. Iată cum arată: vi se oferă un link către robot. Tu scrii o anumită parte program folosind o metodă specială prin simpla trimitere prin acest link.

Vă rugăm să rețineți: o persoană obișnuită nu poate face acest lucru, așa că este mai bine să creați un portofoliu într-un mod diferit.

Încă interesat? Apoi mergeți la bibliotecă și forumuri pentru manechini pentru a obține cunoștințe.

Scrierea unui bot pentru telegramă în python - exemple

Deci, mai întâi, să încercăm să scriem un robot simplu în Python. Un limbaj atât de versatil și destul de flexibil poate ajuta cu ușurință la crearea unui robot precum Belg, dar pentru asta trebuie să-l cunoașteți bine.

Dacă doriți să exersați, faceți botul privat. Îl poți posta doar după ce ai învățat platforma python. Următorul exemplu codul din imagine.

Această creație pur și simplu copiază mesajul utilizatorului și îl trimite înapoi.

Scrierea unui bot în telegramă în php - exemple gata făcute

Această limbă este aleasă cel mai des, așa că majoritatea boților sunt scrise în ea. Functionalitatea este destul de larga, de fapt, cu ajutor php poți conecta orice la orice.

Dar este destul de dificil de învățat: este bazat pe server și necesită găzduire dedicată. Prin urmare, pregătește-te pentru o cale destul de dificilă și spinoasă. Principiile de bază ale „chicului” cu roboții sunt subliniate în imagine.

Acest script este potrivit pentru trimiterea oricăror mesaje cu text la comandă.

Scrierea unui bot pentru telegramă în C# - exemple

În cele din urmă, să trecem la programarea în cel mai popular limbaj. Aici aveți nevoie de comenzi precum create și method. În general, dacă chiar te hotărăști să faci un robot, îți recomand această limbă de studiat.

Este destul de simplu și de înțeles și există suficientă literatură metodologică pe această temă pe Internet. Și, în același timp, posibilitățile sale sunt pur și simplu enorme.

Puteți vedea un exemplu de interacțiune cu robotul aici - github.com/MrRoundRobin/telegram.bot. Acesta este un bot cu drepturi depline cu o grămadă de fișiere și sursa deschisa. Recomandat pentru studiu.

Scrierea unui robot telegram în java

În sfârșit, să vorbim despre programele JS. În general, este destul de ușor și limbaj clar, dar funcționalitatea sa este semnificativ limitată. Adică, nu poți crea ceva teribil de uimitor.

Dar ceva simplu pentru a începe este bine. Pentru tine, am găsit chiar din nou un exemplu de robot bun cu un deschis cod sursa(github.com/rubenlagus/TelegramBots).

Flibusta bot în telegramă - recenzie

Robotul numit „me flibustamirrorbot” a fost un prieten minunat de carte. Cu el a fost la fel de ușor ca decojirea perelor: setați o comandă, atribuiți sortarea după autor și descărcați lucrările care vă plac.

Acest program a existat pe baza depozitului destul de popular Flibusta.

De ce flibusta bot nu funcționează în telegramă

De ce este scris la timpul trecut? Da, pentru că pentru o încălcare atât de flagrantă a drepturilor de autor, ea a fost pur și simplu interzisă în CSI. Desigur, îl vei putea găsi în continuare pe listă. Poți chiar să-i scrii – nimeni nu te va opri să faci asta.

Dar nu vei mai aștepta niciodată un răspuns: el îți va răspunde doar cu tăcere rece.

Robot Anton în Telegram - recenzie

Ei bine, toată lumea știe cu siguranță despre acest robot. A lui functie principala- Rusificați programul. Cu toate acestea, acesta nu este singurul lucru pe care îl poate face Antoshka. De asemenea, poate verifica vremea și trimite știri sarcastice de pe site-ul Lenta.ru.

Boți interziși în telegramă - recenzie

Și acum vă vom spune despre... Dar nu vă vom spune despre nimic. Boții interziși sunt interziși pentru că nu poți vorbi despre ei. Fără porno, fără sloganuri extremiste.

În cele din urmă, toate acestea le poți găsi singur. Dar nu putem garanta consecințele.

Bot muzical în telegramă - recenzie

Mulți oameni ascultă muzică, mai ales dacă nu trebuie să-și părăsească mesagerul la fel de preferat. Un bot numit @Get Music Bot vă va ajuta să realizați acest vis.

Este capabil să descarce piese de la diferite schimbătoare la cerere și să le trimită prietenilor tăi.

Vk bot pentru telegrame - recenzie

În cele din urmă, să vorbim despre popularul bot rețea socială„În contact cu”. Acest robot este încă în stadiul de dezvoltare, așa că nu vă așteptați la prea multe funcționalități de la el. După cum a fost planificat, el va putea să-și prezinte prietenii, să scrie mesaje prin messenger și să deruleze prin grupuri.

Cu toate acestea, nu va fi complet terminat pentru foarte mult timp.

Boți utili, populari și cei mai interesanți pentru telegramă

Ei bine, la final, vă vom oferi propriul set personal de roboți. Sunt destul de complexe, folosesc nu numai comandă simplă„sendmessage” sau întrerupere de linie și, de asemenea, o mulțime de algoritmi complexi. Astfel de roboți sunt inteligență virtuală cu drepturi depline, scrise în Delphi, Wordpress, Perl sau în alte limbi. Și constructorul nodejs încorporat nu a fost folosit pentru a le scrie.

Un astfel de bot poate posta pentru un canal prin RSS, poate descărca torrente, cum ar fi ru tracker sau poate fi asistent și jurnal. Unii pot interacționa chiar și cu zmeura. Adesea, astfel de roboți folosesc webhook - sistem convenabil notificări, în timp ce alții folosesc adesea asp net.

Unii dintre acești roboți chiar închiriază găzduire ca Heroku. Prin urmare, să le creați singur este destul de dificil, chiar și financiar. Desigur, nu puteți crea un podbot pentru un joc - un jucător cu drepturi depline - aici, dar unii roboți au depășit toate așteptările.

Iată topul nostru (când căutați, eliminați toate spațiile și adăugați @ la început):

  • ImageSearchBot este un bot de la yandex. Poate căuta gif sau fotografie la cerere. Și Google, apropo, nu are asta. Și degeaba: gmail ar fi foarte util.
  • ru_tracker_bot - torrent lansat de rutracker. Acesta, apropo, este un alt plus pentru site: torent rutor nu are asta.
  • FreeBooksBot - vă permite să căutați cărți pe binecunoscutul Flibust. Adevărat, nu există cărți audio.
  • transnow_bot este un traducător capabil să producă mai multe variante de cuvinte în engleză și rusă simultan.
  • Weatherman _bot - arată vremea în funcție de regiune pentru următoarele cinci zile.
  • autocolante - vă vor ajuta să găsiți multe autocolante interesante. De fapt, acesta este un inline - adică un bot construit de către creator.
  • telerobot este același Anton despre care am vorbit deja.
  • uzb_telegram_bot este un așa-numit robot botlar uzbec cu știri actuale.
  • GitHub Bot este un robot resursă, oarecum similar cu un forum de programare cu bucăți interesante de cod, scrise cu rubin.
  • Superhrbot - conceput pentru căutare convenabilă posturi vacante în diferite orașe și țări.
  • Nnmclub _bot este un alt dispozitiv de urmărire a torrentului al cărui site a fost închis nu cu mult timp în urmă.
  • Qiwi _bot este un Qiwi care vă ajută să vă verificați soldul contului sau să transferați fonduri într-un alt portofel.
  • Weatherbot este un alt bot destul de convenabil cu o prognoză meteo pentru următoarele zile.
  • Bottather - nu, deci ce? Nu o veți găsi mai populară.
  • Planetside 2_bot - diverse știri despre jocul popular.
  • Economika _bot - partajează tot felul de informații din lumea economiei.
  • Pikabu bestbot - trimite cele mai bune postări dintr-o resursă cunoscută.
  • Newlovebot modelează de fapt secțiunea „Întâlniri”.
  • kinomanbot - selectați un film sau un serial, găsiți unde este difuzat și comandați bilete.
  • strictmother_bot - o mamă strictă va refuza totul, dar îți va mărturisi dragostea ei. Dacă l-ar fi făcut pe unchiul Fiodor în acest stil...
  • pushkin_bot - la cerere, găsește o mulțime de poezii blânde din clasici.
  • russianpdd_bot - pddbot, care vă permite să vă pregătiți pentru examenul de poliție rutieră.

Nu vă vom arăta pe cei „răi” cu porno și alte obscenități - nu visați.

concluzii

Nu este nimic complicat la acest subiect. Adevărat, le poți scrie doar dacă ai abilitățile unui programator, dar le poți folosi oricând. Și dacă te plictisești, amintește-ți selecțiile noastre și distrează-te puțin.

Avantajele și dezavantajele roboților

  • Îți permit să faci ceva fără a închide telegramele.
  • Ele sunt adesea mai convenabile decât motoarele de căutare sau site-urile web obișnuite.
  • Sunt echipate cu funcționalități bogate.
  • Le poți crea singur.
  • Ele vă permit să automatizați multe acțiuni.
  • Trimiterea lor poate fi intruzivă.
  • Este destul de dificil să le creezi.

Recenzie video

Îi scriem / începem și obținem o listă cu toate comenzile lui.
Primul și principal - /newbot - i-l trimitem și botul îi cere să vină cu un nume pentru noul nostru bot. Singura restricție asupra numelui este că trebuie să se termine în „bot”. Dacă are succes, BotFather returnează un token bot și un link pentru adăugare rapidă bot la contacte, în caz contrar va trebui să vă puneți mintea peste nume.

Acest lucru este deja suficient pentru a începe. Cei care sunt deosebit de pedanți pot deja atribui un avatar, o descriere și un mesaj de bun venit botului aici.

Nu uitați să verificați jetonul primit folosind link-ul api.telegram.org/bot /getMe, spun ei, nu funcționează întotdeauna prima dată.

2. Programare

Voi crea botul în Python3, însă, datorită adecvării acestui limbaj, algoritmii pot fi transferați cu ușurință în oricare altul.

Telegram vă permite să nu încărcați mesaje manual, ci să instalați un webHook, iar apoi vor trimite ei înșiși fiecare mesaj. Pentru Python, pentru a nu te deranja cu cgi și fire, este convenabil să folosești un fel de reactor, așa că am ales tornado.web pentru implementare. (pentru GAE este convenabil să utilizați combinația Python2+Flask)

Cadru bot:

URL = "https://api.telegram.org/bot%s/" % BOT_TOKEN MyURL = "https://example.com/hook" api = requests.Session() application = tornado.web.Application([ ( r"/", Handler), ]) dacă __name__ == "__main__": signal.signal(signal.SIGTERM, signal_term_handler) încercați: set_hook = api.get(URL + "setWebhook?url=%s" % MyURL) dacă set_hook.status_code != 200: logging.error("Nu se poate seta hook: %s. Ieșire." % set_hook.text) exit(1) application.listen(8888) tornado.ioloop.IOLoop.current().start () cu excepția KeyboardInterrupt: signal_term_handler(signal.SIGTERM, None)
Aici, la pornirea botului, instalăm un webhook la adresa noastră și prindem semnalul de ieșire pentru a reveni la comportamentul cu descărcarea manuală a evenimentelor.

Aplicația tornado pentru procesarea cererilor acceptă clasa tornado.web.RequestHandler, care va conține logica bot.

Administrator de clasă (tornado.web.RequestHandler): post def (self): încercați: logging.debug(„Solicitare primită: %s” % self.request.body) actualizare = tornado.escape.json_decode(self.request.body) mesaj = update["mesaj"] text = message.get("text") if text: logging.info("MESAJ\t%s\t%s" % (mesaj["chat"]["id"], text)) if text == "/": comandă, *argumente = text.split(" ", 1) răspuns = CMD.get(comandă, not_found)(argumente, mesaj) logging.info("REPLY\t%s \t%s" % (mesaj["chat"]["id"], răspuns)) send_reply(răspuns) cu excepția excepției ca e: logging.warning(str(e))
Aici CMD este un dicționar comenzile disponibile, iar send_reply este o funcție pentru trimiterea unui răspuns, care ia ca intrare un obiect Message deja generat.

De fapt, codul său este destul de simplu:

Def send_reply(response): if "text" în răspuns: api.post(URL + "sendMessage", data=response)

Acum că toată logica botului este descrisă, puteți începe să veniți cu comenzi pentru acesta.

3. Echipe

În primul rând, trebuie să urmați convenția Telegram și să învățați botului două comenzi: /start și /help:

Def help_message(argumente, mesaj): răspuns = ("chat_id": mesaj["chat"]["id"]) rezultat = ["Hei, %s!" % mesaj["de la"].get("nume"), "\rPot accepta doar aceste comenzi:"] pentru comandăîn CMD: result.append(command) response["text"] = "\n\t".join(result) return response

Structura mesaj["de la"] este un obiect de tip User , oferă botului informații atât despre id-ul utilizatorului, cât și despre numele acestuia. Pentru răspunsuri, este mai util să folosiți mesaj["chat"]["id"] - în cazul comunicării personale va exista un Utilizator, iar în cazul unui chat - id-ul de chat. În caz contrar, puteți obține o situație în care utilizatorul scrie în chat, iar botul răspunde printr-un mesaj personal.

Comanda /start fără parametri are scopul de a afișa informații despre bot, iar cu parametri este destinată identificării. Este util să îl utilizați pentru acțiuni care necesită autorizare.

După aceasta, puteți adăuga unele dintre propriile comenzi, de exemplu /base64:

Def base64_decode(argumente, mesaj): răspuns = ("chat_id": mesaj["chat"]["id"]) încercați: răspuns["text"] = b64decode(" ".join(argumente).encode("utf8) ")) except: response["text"] = "Nu se poate decoda" în final: returnează răspunsul

Pentru utilizatorii Telegram de telefonie mobilă, va fi util să îi spuneți lui @BotFather ce comenzi acceptă botul nostru:
I: /setcommands
BotFather: alegeți un bot pentru a schimba lista de comenzi.
Eu: @*****_bot
BotFather: OK. Trimite-mi o listă de comenzi pentru botul tău. Vă rugăm să utilizați acest format:

Command1 - Descriere
command2 - O altă descriere
eu:
whoisyourdaddy - Informații despre autor
base64 - decodare Base64
BotFather: Succes! Lista de comenzi a fost actualizată. /Ajutor

Cu această descriere, dacă utilizatorul tasta /, Telegram va afișa util o listă cu toate comenzile disponibile.

4. Libertatea

După cum probabil ați observat, Telegram trimite întregul mesaj, nu împărțit, iar restricția conform căreia comenzile încep cu o bară oblică este doar pentru comoditate utilizatorii de telefonie mobilă. Datorită acestui lucru, puteți învăța botul să vorbească puțin uman.

UPD: După cum au sugerat corect, acest lucru se va întâmpla doar prin comunicare personală. În chat-uri, numai mesajele care încep cu comanda (/ ) (https://core.telegram.org/bots#privacy-mode)

Pentru ca botul să primească toate mesajele în grupuri, scrieți comanda @BotFather /setprivacyși dezactivați confidențialitatea.

Mai întâi, adăugați un handler la Handler:

Dacă text == "/": ... else: răspuns = CMD[" "](mesaj) logging.info("REPLY\t%s\t%s" % (mesaj["chat"]["id"], răspuns)) send_reply(răspuns)
Și apoi adăugăm pseudo-vorbire la lista de comenzi:

RĂSPUNSURI = ( „Bună ziua”: [„Bună ziua!”, „Bună!”, „Bine ați venit!”, „Bună ziua, (nume)!”], „Bună ziua”: [„Bună ziua!”, „Bună ziua, (nume) ) )!", "Bună!", "Bun venit!"], "Bună!": ["Bună ziua!", "Bună, (nume)!", "Bun venit!", "Bună ziua!"], "Bun venit! " : ["Bună!", "Bună!", "Bună!", "Bună ziua, (nume)!",], ) def human_response(mesaj): leven = fuzzywuzzy.process.extract(message.get(" text ", ""), RESPONSES.keys(), limit=1) răspuns = ("chat_id": mesaj["chat"]["id"]) dacă leven< 75: response["text"] = "I can not understand you" else: response["text"] = random.choice(RESPONSES.get(leven)).format_map({"name": message["from"].get("first_name", "")}) return response
Aici, constanta empirică 75 reflectă relativ bine probabilitatea pe care utilizatorul a vrut de fapt să o spună. Și format_map este convenabil pentru aceeași descriere a șirurilor de caractere care necesită înlocuire și fără ea. Acum botul va răspunde la salutări și uneori chiar vă va chema pe nume.

5. Nu text.

Boții, ca orice utilizator normal de Telegram, nu pot doar să scrie mesaje, ci și să partajeze imagini, muzică și autocolante.

De exemplu, să extindem dicționarul RĂSPUNSURI:

RĂSPUNSURI[„Cât este ceasul?”] = [” ", "(data) UTC"]
Și vom prinde textul :

Dacă răspuns["text"] == " ": response["sticker"] = "BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC" din răspuns["text"]
Se poate observa că acum structura Mesaj nu mai conține text, așa că este necesar să modificați send_reply:

Def send_reply(răspuns): if "sticker" ca răspuns: api.post(URL + "sendSticker", data=response) elif "text" ca răspuns: api.post(URL + "sendMessage", data=response)
Și asta este tot, acum bot-ul va trimite ocazional un autocolant în loc de ora:

6. Oportunități

Datorită comodității API-ului și a pornirii rapide, roboții Telegram pot deveni o platformă bună pentru automatizarea acțiunilor lor, configurarea notificărilor, crearea de chestionare și competiții bazate pe sarcini (CTF, DozoR și altele).

Privind în urmă, pot spune că acum sunt mai puține perversiuni, iar munca este mai transparentă.

7. Limitări

Din păcate, în acest moment există o limitare a utilizării webHook - funcționează doar pe https și doar cu un certificat valabil, care, de exemplu, este încă critic pentru mine din cauza lipsei de suport pentru DNS dinamic de către autoritățile de certificare.

Din fericire, Telegram poate funcționa și cu actualizări manuale, așa că fără a modifica codul, puteți crea un alt serviciu Puller care le va descărca și le va trimite la o adresă locală:

În timp ce este adevărat: r = requests.get(URL + "?offset=%s" % (ultimul + 1)) dacă r.status_code == 200: pentru mesaj în r.json()["rezultat"]: ultimul = int (message["update_id"]) requests.post("http://localhost:8888/", data=json.dumps(message), headers=("Content-type": "application/json", "Accept" : "text/plain")) else: logging.warning("FAIL " + r.text) time.sleep(3)

P.S. În ceea ce privește punctul 7, am găsit o soluție convenabilă - găzduirea botului nu acasă, ci pe Heroku, deoarece toate nume precum *.herokuapp.com sunt protejate de propriul certificat.

UPD: Telegram a îmbunătățit Bot Api, motiv pentru care nu mai este necesar să aveți o funcție separată pentru trimiterea mesajelor atunci când este instalat un webhook, iar ca răspuns la o solicitare POST puteți răspunde cu același JSON generat cu un mesaj de răspuns , unde unul dintre câmpuri este setat ca h "method ": "sendMessage" (sau orice altă metodă folosită de bot).

Etichete: Adăugați etichete

Facem un bot simplu pentru publicarea de știri pe un canal și pentru a răspunde automat la întrebări în 6 pași.

La marcaje

Material pregătit cu sprijinul

După discuții aprinse din presa IT despre eficiența chatbot-urilor, aceștia și-au găsit nișa în ecosistemul utilizatorilor și companiilor. De exemplu, proiectele implementează adesea boți pentru a notifica anumite evenimente, iar serviciile de asistență îi folosesc pentru a răspunde rapid la întrebările frecvente ale clienților.

În acest tutorial, vom analiza cel mai simplu mod de a crea un bot cu propriile mâini și vom explica cum funcționează.

Să începem cu dezvoltarea unui bot care poate trimite automat știrile companiei publicate pe site sau Facebook către canalul Telegram.

Pasul 1. Creați un bot în Telegram

Un bot Telegram este creat folosind un alt bot numit BotFather. Îi trimitem comanda /newbot, selectăm numele care va fi afișat în lista de contacte și adresa. De exemplu, „Bot pentru DTF” cu adresa „dtf_news_bot”.

Dacă adresa nu este ocupată și numele este introdus corect, BotFather va răspunde cu un mesaj cu un simbol - „cheia” pentru acces la botul creat. Trebuie păstrat și nu arătat nimănui.

Prin BotFather poți adăuga și un avatar pentru bot, o descriere etc.

Pasul 2. Creați un canal în Telegram

Acum creăm un canal cu orice nume și adresă și mergem la setările acestuia. Tot ce este necesar este să adăugați bot-ul creat de noi pe lista de administratori - acesta va fi cel care va publica note pe canal.

Pentru a căuta un bot, puteți folosi adresa acestuia. De exemplu, „dtf_news_bot”.

Pasul 3: Creați o condiție

Următoarea etapă este să înveți botul să trimită știri de pe site către canalul creat. Pentru aceasta vom folosi serviciu popular pentru automatizarea IFTTT.

Cu ajutorul acestuia, puteți crea instrucțiuni pentru ca botul să funcționeze. În cazul nostru, arată astfel: de fiecare dată când apare o nouă intrare în fluxul RSS al site-ului, aceasta trebuie să trimită un mesaj către canalul Telegram.

IFTTT înseamnă If This Then That

Accesați secțiunea „Appletele mele” IFTTT, faceți clic pe butonul „Applet nou” și apoi pe linkul „Acest”. Găsiți declanșatorul Feed, Nou element de feed din lista de funcții și indicați adresa URL a fluxului nostru RSS. De exemplu, pentru site-urile Wordpress se află de obicei la example.com/feed/.

În loc de un flux RSS, puteți urmări apariția postărilor noi în contul dvs. de Twitter sau Facebook - IFTTT are module separate pentru fiecare funcție.

Acum să trecem la al doilea pas - selectați acțiunea care va fi efectuată atunci când va fi detectată intrare nouăîn RSS. Faceți clic pe „Aceasta” și căutați Maker Webhook, „Efectuați o solicitare web” - folosind acest modul puteți trimite cereri către orice serviciu. În cazul nostru - către un bot în Telegram.

În formularul care se deschide, în câmpul URL trebuie să specificați linkul https://api.telegram.org/bot JETON/sendMessage, înlocuind jetonul generat în primul pas în acesta. Metodă: POST, tip de conținut: application/json.

Corp - câmp pentru șablonul de solicitare care va fi trimis către Telegram. În el indicăm la ce canal trebuie trimis mesajul și ce ar trebui să fie scris în el:

("chat_id":"@channel_address", "text":"((EntryTitle)) ((FeedUrl))")

  • chat_id- adresa canalului către care trebuie trimis mesajul. Astfel, un bot poate fi conectat la mai multe canale simultan. De asemenea, puteți specifica ca destinatar utilizator specific. În acest caz, în locul adresei canalului, trebuie să specificați ID-ul acestuia (poate fi obținut folosind un bot).
  • text- continutul mesajului. De exemplu, titlul materialului din RSS (EntryTitle), conținutul acestuia (EntryContent) și linkul (FeedUrl). Listă Optiuni Disponibile poate fi vizualizat făcând clic pe butonul Ingrediente.

Dacă totul este configurat corect, botul va trimite un mesaj din fluxul RSS către canal. Declanșatorul în IFTTT are o întârziere, așa că un mesaj care apare în fluxul RSS nu va fi trimis la Telegram imediat, ci după 30-60 de minute.

Puteți selecta orice alt scenariu disponibil pe IFTTT ca condiție pentru trimiterea unui mesaj. De exemplu, Weather Underground poate trimite un mesaj în fiecare zi cu o prognoză meteo pentru mâine. Declanșatorul Acțiuni poate fi configurat pentru a trimite prețurile acțiunilor la închiderea tranzacției.

Acum să rezolvăm mai multe sarcină dificilă- vom învăța botul creat să răspundă la mesajele utilizatorului. De exemplu, trimiteți o listă de prețuri, contacte sau răspundeți la întrebările frecvente ale clienților.

Pasul 4. Conectați serverul

În această etapă veți avea nevoie de găzduire web și Certificat SSL, care poate fi obținut gratuit folosind serviciul Let's Encrypt.

Cel mai convenabil mod este să creați un subdomeniu separat pentru bot - de exemplu, bot.example.com - și să plasați un fișier index.php pe acesta. În interiorul fișierului plasăm codul unui robot simplu de pe site-ul Telegram.

Trebuie doar să faceți două modificări codului bot:

  • în linie define("BOT_TOKEN", "12345678:inlocuieste-ma-cu-token-real");în loc de 12345678:replace-me-with-real-token scrieți jetonul obținut în primul pas;
  • în linie define("WEBHOOK_URL", "https://my-site.example.com/secret-path-for-webhooks/");În loc de https://my-site.example.com/secret-path-for-webhooks/, specificați adresa URL a fișierului cu codul pentru bot: https://bot.example.com/index.php.

Pasul 5. Conectarea botului Telegram și a serverului

Acum trebuie să conectăm Telegram și fișierul de pe server, astfel încât cererile trimise către bot în messenger să fie procesate de scriptul nostru.

Veți avea nevoie de o consolă pentru asta. Pentru diferiți furnizori de găzduire, acesta poate fi localizat în diferite secțiuni ale interfeței de gestionare a site-ului. De asemenea, puteți utiliza programul Terminal pe macOS introducând comanda ssh nume utilizator@adresadomeniu.

După introducerea parolei, imprimăm o comandă simplă pentru subdomeniul nostru :

php -f /var/www/bot.example.com/index.php

Încântat de cunoștință - răspunsul botului la un mesaj trimis de utilizator.

Mai jos în cod adăugăm răspunsuri suplimentare. De exemplu, astfel încât în ​​funcție de cuvântul trimis, botul trimite informatie necesara utilizator (ca în

Boții (uneori numiți roboți) sunt conturi speciale în Telegram messenger care efectuează prelucrare automatăși trimiterea de mesaje.
Nu numai programatorii le pot crea, ci și utilizatori obișnuiți care doresc să se familiarizeze cu caracteristicile acestor roboți.

Frumusețea roboților este că pot îndeplini aproape orice sarcină pe care le spuneți să o facă. Roboții pot înregistra utilizatori pe o resursă, pot trimite știri, pot răspunde la întrebări și așa mai departe. După cum puteți vedea, domeniul de aplicare al acestora este literalmente nelimitat.

La creați un bot Telegram, veți avea nevoie în mod natural de un cont în acest messenger. Nu ar trebui să credeți că pentru a lucra cu ei trebuie să aveți cunoștințe fenomenale, deoarece toate procesele au loc pe serverul pe care rulează botul.

Deci, acum să trecem direct la procesul de dezvoltare. Mai întâi, trebuie să lansați aplicația și să introduceți „Manybot” în căutare. Reprezintă un anumit Designer de bot Telegram, așa că cu siguranță nu veți întâmpina dificultăți în acest proces:

Apoi începeți să urmați instrucțiunile robotului și faceți clic pe Start:

După aceasta, Manybot va începe să vă ofere indicii despre dvs limba maternăși va oferi mai multe opțiuni de acțiune. În cazul nostru, trebuie să selectați „Adăugați un bot nou”:

Apoi vi se va cere să adăugați BotFather la contactele dvs., care este cunoscut în cercurile de aplicații ca fondatorul tuturor roboților care au fost creați vreodată în messenger. Începeți un dialog cu el este destul de ușor. Doar tastați și trimiteți /newbot:

Din acest moment imediat dezvoltarea de boți pentru Telegram. În primul rând, dă un nume robotului tău. Vino cu unul și trimite un text cu numele la chat. Amintiți-vă că numele botului trebuie să se termine cu „bot”:

Vi se va da imediat cod special bot care trebuie copiat și trimis într-un dialog cu Manybot:

În principiu, acest pas este deja considerat final, deci instrucțiunile cum să creezi un bot în Telegram, ajunge la final. Robotul este practic creat și poate începe să funcționeze independent. Acum doar dă-i o descriere:

A mers totul bine? Atunci asta înseamnă că am avut succes scriind un bot pentru Telegram. CU în acest moment vei lucra în mod special cu botul tău. Dialogurile străine nu vor mai fi necesare:

Apoi încercați să faceți clic pe butonul „Setări”, astfel încât să puteți seta obiectivul de viață al robotului. Dacă aveți nevoie de difuzarea automată a actualizărilor pe site, selectați funcția „Autoposting”:

Difuzarea se poate face de pe YouTube, VK, Twitter și RSS:

Dacă doriți să trimiteți un flux RSS de la o resursă la un chat, trebuie doar să selectați linia corespunzătoare. Acum va fi mult mai ușor pentru abonații tăi să urmărească cele mai recente materiale ale site-ului:

Deci întrebarea este cum se scrie un bot pentru Telegram, poate fi considerat închis. Tu însuți ai putut să vezi că nu există nimic supranatural în acest proces. Cel mai important lucru este că utilizatorii tăi vor rămâne mereu la curent.

Hai sa facem un simplu bot pentru a publica știri pe canal și a răspunde automat la întrebări în 6 pași.

La marcaje

Material pregătit cu sprijinul

După discuții aprinse din presa IT despre eficiența chatbot-urilor, aceștia și-au găsit nișa în ecosistemul utilizatorilor și companiilor. De exemplu, proiectele implementează adesea boți pentru a notifica anumite evenimente, iar serviciile de asistență îi folosesc pentru a răspunde rapid la întrebările frecvente ale clienților.

În această instrucțiune vom analiza cel mai simplu mod de a crea un bot cu propriile mele mâiniși explicați cum funcționează.

Să începem cu dezvoltarea unui bot care poate trimite automat știrile companiei publicate pe site sau Facebook către canalul Telegram.

Pasul 1. Creați un bot în Telegram

Un bot Telegram este creat folosind un alt bot numit BotFather. Îi trimitem comanda /newbot, selectăm numele care va fi afișat în lista de contacte și adresa. De exemplu, „Bot pentru DTF” cu adresa „dtf_news_bot”.

Dacă adresa nu este ocupată și numele este introdus corect, BotFather va răspunde cu un mesaj cu un simbol - „cheia” pentru acces la botul creat. Trebuie păstrat și nu arătat nimănui.

Prin BotFather poți adăuga și un avatar pentru bot, o descriere etc.

Pasul 2. Creați un canal în Telegram

Acum creăm un canal cu orice nume și adresă și mergem la setările acestuia. Tot ce este necesar este să adăugați bot-ul creat de noi pe lista de administratori - acesta va fi cel care va publica note pe canal.

Pentru a căuta un bot, puteți folosi adresa acestuia. De exemplu, „dtf_news_bot”.

Pasul 3: Creați o condiție

Următoarea etapă este să înveți botul să trimită știri de pe site către canalul creat. Pentru a face acest lucru, vom folosi popularul serviciu de automatizare IFTTT.

Cu ajutorul acestuia, puteți crea instrucțiuni pentru ca botul să funcționeze. În cazul nostru, arată astfel: de fiecare dată când apare o nouă intrare în fluxul RSS al site-ului, aceasta trebuie să trimită un mesaj către canalul Telegram.

IFTTT înseamnă If This Then That

Accesați secțiunea „Appletele mele” IFTTT, faceți clic pe butonul „Applet nou” și apoi pe linkul „Acest”. Găsiți declanșatorul Feed, Nou element de feed din lista de funcții și indicați adresa URL a fluxului nostru RSS. De exemplu, pentru site-urile Wordpress se află de obicei la example.com/feed/.

În loc de un flux RSS, puteți urmări apariția postărilor noi în contul dvs. de Twitter sau Facebook - IFTTT are module separate pentru fiecare funcție.

Acum să trecem la pasul al doilea - selectați acțiunea care va fi efectuată atunci când este detectată o nouă intrare în RSS. Faceți clic pe „Aceasta” și căutați Maker Webhook, „Efectuați o solicitare web” - folosind acest modul puteți trimite cereri către orice serviciu. În cazul nostru - către un bot în Telegram.

În formularul care se deschide, în câmpul URL trebuie să specificați linkul https://api.telegram.org/bot JETON/sendMessage, înlocuind jetonul generat în primul pas în acesta. Metodă: POST, tip de conținut: application/json.

Corp - câmp pentru șablonul de solicitare care va fi trimis către Telegram. În el indicăm la ce canal trebuie trimis mesajul și ce ar trebui să fie scris în el:

("chat_id":"@channel_address", "text":"((EntryTitle)) ((FeedUrl))")

  • chat_id- adresa canalului către care trebuie trimis mesajul. Astfel, un bot poate fi conectat la mai multe canale simultan. De asemenea, puteți specifica un anumit utilizator ca destinatar. În acest caz, în locul adresei canalului, trebuie să specificați ID-ul acestuia (poate fi obținut folosind un bot).
  • text- continutul mesajului. De exemplu, titlul materialului din RSS (EntryTitle), conținutul acestuia (EntryContent) și linkul (FeedUrl). Lista opțiunilor disponibile poate fi vizualizată făcând clic pe butonul Ingredient.

Dacă totul este configurat corect, botul va trimite un mesaj din fluxul RSS către canal. Declanșatorul în IFTTT are o întârziere, așa că un mesaj care apare în fluxul RSS nu va fi trimis la Telegram imediat, ci după 30-60 de minute.

Puteți selecta orice alt scenariu disponibil pe IFTTT ca condiție pentru trimiterea unui mesaj. De exemplu, Weather Underground poate trimite un mesaj în fiecare zi cu o prognoză meteo pentru mâine. Declanșatorul Acțiuni poate fi configurat pentru a trimite prețurile acțiunilor la închiderea tranzacției.

Acum vom rezolva o problemă mai complexă - vom învăța botul creat să răspundă la mesajele utilizatorului. De exemplu, trimiteți o listă de prețuri, contacte sau răspundeți la întrebările frecvente ale clienților.

Pasul 4. Conectați serverul

În această etapă, veți avea nevoie de găzduire web și de un certificat SSL, care poate fi obținut gratuit folosind serviciul Let's Encrypt.

Cel mai convenabil mod este să creați un subdomeniu separat pentru bot - de exemplu, bot.example.com - și să plasați un fișier index.php pe acesta. În interiorul fișierului plasăm codul unui robot simplu de pe site-ul Telegram.

Trebuie doar să faceți două modificări codului bot:

  • în linie define("BOT_TOKEN", "12345678:inlocuieste-ma-cu-token-real");în loc de 12345678:replace-me-with-real-token scrieți jetonul obținut în primul pas;
  • în linie define("WEBHOOK_URL", "https://my-site.example.com/secret-path-for-webhooks/");În loc de https://my-site.example.com/secret-path-for-webhooks/, specificați adresa URL a fișierului cu codul pentru bot: https://bot.example.com/index.php.

Pasul 5. Conectarea botului Telegram și a serverului

Acum trebuie să conectăm Telegram și fișierul de pe server, astfel încât cererile trimise către bot în messenger să fie procesate de scriptul nostru.

Veți avea nevoie de o consolă pentru asta. Pentru diferiți furnizori de găzduire, acesta poate fi localizat în diferite secțiuni ale interfeței de gestionare a site-ului. De asemenea, puteți utiliza programul Terminal pe macOS introducând comanda ssh nume utilizator@adresadomeniu.

După introducerea parolei, imprimăm o comandă simplă pentru subdomeniul nostru :

php -f /var/www/bot.example.com/index.php

Încântat de cunoștință - răspunsul botului la un mesaj trimis de utilizator.

Mai jos în cod adăugăm răspunsuri suplimentare. De exemplu, astfel încât, în funcție de cuvântul trimis, botul să trimită informațiile necesare utilizatorului (ca în

Cele mai bune articole pe această temă