Cum să adăugați un bot la telegram. Flibusta, Anton și alți roboți pe telegramă - recenzie

Telegram este un mesager gratuit care a fost creat de CEO-ul rețelei de socializare VKontakte Pavel Durov, care a prezentat oamenilor posibilitatea de a schimba mesaje în formă criptată, oferind anonimat și securitate maximă atunci când comunică. Astăzi, messengerul prezentat este complet adaptat pentru toate sistemele de operare și este disponibil pentru instalare și utilizare de către oricine.

Inițial, programul a fost conceput pentru a transmite mesaje instantanee, fotografii, videoclipuri și fișiere la viteză mare, dar, în practică, echipa de dezvoltare a mesajelor i-a adăugat posibilitatea de a crea și utiliza diverși boți, despre care vom vorbi.

Ce sunt boții în Telegram?

Boții sunt programe speciale care îndeplinesc diverse funcții și simplifică viața utilizatorilor lor. Scrise pentru platforma Telegram, acestea sunt concepute pentru a îndeplini o varietate de funcții: de la primirea de știri la căutarea de informații și chiar tranzacționarea acțiunilor. Sarcina principală a botului este să răspundă automat după o comandă introdusă de utilizator. În același timp, lucrând direct prin interfața Telegram, programul imită acțiunile unui utilizator live, făcând utilizarea unui astfel de bot mult mai convenabilă și mai ușor de înțeles.

Acesta este motivul pentru care multe companii care dezvoltă afaceri prin Internet folosesc capacitățile roboților din mai multe motive:

  1. Ele vă permit să utilizați un alt canal de comunicare cu publicul țintă (aproximativ 10 milioane de oameni folosesc Telegram în Rusia)
  2. Ei efectuează rapid muncă monotonă, permițându-vă să ușurați volumul de muncă al angajaților angajați, economisind astfel banii companiei;

Tipuri de roboți în Telegram

Telegram folosește un tip general de bot, care se distinge de utilizatorii obișnuiți doar prin prezența prefixului „bot” în nume. Boții înșiși sunt împărțiți în mai multe zone:

  • Chatbots. Sunt un simplu chat care imită comunicarea pe un subiect specificat de utilizator.
  • Boti informatori. Un tip separat de roboți, al cărui scop principal este de a informa utilizatorul despre anumite evenimente (știri, evenimente, publicații etc.).
  • Boti de jocuri. Boți în care puteți juca diverse jocuri. În cea mai mare parte, acestea sunt versiuni text ale diferitelor jocuri de pe vremea Combats.ru
  • Boti asistenți. Boți dezvoltați de diverse servicii online ca o completare la versiunea web principală.

De fapt, nu există o divizare clară, pentru că Unii roboți conțin mai multe mecanici simultan și efectuează cu succes multe sarcini ale utilizatorului. Cu ajutorul lor, puteți traduce, studia, testa, căuta informații, juca jocuri și chiar folosi alte servicii și interacționa cu lucruri care au acces la rețeaua globală (acum popularul „Internet of Things”). Toți roboții din Telegram sunt gratuiti, dar în 2017 Pavel Durov a anunțat posibilitatea de a configura utilizarea plătită a unor astfel de programe.

Datorită acestui fapt, boții au devenit asistenți de buzunar pe care îi puteți folosi fără să părăsiți măcar messengerul. Acestea oferă posibilitatea de a rezolva probleme de bază folosind comenzi instantanee, toate aceste programe nu necesită instalare și nu ocupă un spațiu separat în memoria dispozitivului dvs.

Cum funcționează botul?

Mecanismul modului în care funcționează boții în Telegram este mai ușor de înțeles pentru programatori, dar vom încerca să vi-l explicăm. Deci, un bot este, de fapt, doar o „mușcă și pârghii” prin care un program separat, scris în diferite limbaje de programare, rulează pe serverul tău separat. Prin urmare, mai corect ar fi să spunem că un astfel de program este controlat printr-un bot.

Interacțiunea dintre utilizator și bot arată astfel:

Utilizatorul bot îi dă o comandă -> Botul trimite comanda către serverul dvs -> Programul de pe serverul dumneavoastră procesează cererea primită de la bot -> Serverul trimite un răspuns către bot -> Botul afișează răspunsul la ecranul aplicației utilizatorului.

Și acest ciclu se repetă iar și iar când dați clic pe butoane și interacționați cu orice bot telegram.

Cum se creează un bot în Telegram

Puteți chiar să scrieți un bot în Telegram. Pentru a face acest lucru, decideți ce scopuri va servi programul: să răspundeți la mesaje, să convertiți moneda sau să efectuați alte funcții. Dacă nu vorbești limbaje de programare, nu contează. Roboții simpli pot fi scrieți chiar și fără ei. Pentru a începe, abonați-vă la botul @BotFather și lansați-l, apoi urmați instrucțiunile:

  1. Scrieți /newbot pe linia de comandă (va crea un bot nou).
  2. Așteptați ca BotFather să sugereze un nume pentru creația dvs. Vino cu orice nume, dar reține că trebuie să se termine cu „bot”.
  3. Aici puteți adăuga fața (avatarul) botului dvs. și o puteți descrie.
  4. Primiți un jeton unic de la BotFather.
  5. Copiați-l în orice fișier text și salvați-l într-un loc sigur, astfel încât să nu se piardă (nu vă așteptați să vă amintiți simbolul, deoarece acest lucru este imposibil).

Acești pași vă vor ajuta să vă creați botul, dar pentru a-l antrena să îndeplinească orice funcție, va trebui deja să scrieți cod într-un limbaj de programare sau să utilizați capacitățile unor programe speciale, de exemplu, Paquebot. Acest serviciu vă ajută să creați roboți funcționali fără probleme.

Salutare tuturor, dragii mei prieteni și invitați ai blogului meu. Astăzi vreau să continui subiectul nostru neterminat, așa că am decis să vă spun cum să folosiți boții într-o telegramă și să vă explic despre ce este vorba. Permiteți-mi să spun doar că acesta este pur și simplu un lucru uimitor care ne va simplifica viața atunci când folosim acest messenger. Totuși, să trecem la subiectul în sine.

Ce este un bot telegram?

În primul rând, un bot este un program automatizat specializat care a fost creat pentru a simplifica și automatiza diverse funcții care sunt în mare parte inaccesibile utilizatorilor. De exemplu, cu această funcție puteți programa articole pentru o altă zi, ceea ce nu se poate face manual (cu siguranță voi vorbi despre asta cândva) sau vă puteți oferi posibilitatea de a vă da like postărilor. De asemenea, putem căuta diverse informații, descărca sau instala ceva (de exemplu, autocolante noi), află vremea etc.

Apropo, dacă ați citit articolele mele anterioare, atunci într-unul dintre ele am vorbit deja despre... Pentru ca deja acolo să-l poți încerca în acțiune. Dar, deoarece astăzi am un articol separat pregătit pe acest subiect, vă voi arăta cum să faceți totul de la început până la sfârșit.

Cum să găsiți și să adăugați un bot?

Cunoscând numele funcției automate de care aveți nevoie, o puteți apela și adăugați-o. Pentru a face acest lucru, introduceți chiar acest nume în linia de căutare, de exemplu @delorean_botși faceți clic pe el pentru a scrie o conversație cu el. Dacă ați vizionat filmul „Înapoi în viitor”, probabil ați înțeles referința, de ce se numea așa).

  1. Când începeți să comunicați, faceți clic pe butonul „Start”, după care robotul însuși vă va întreba de ce aveți nevoie.
  2. Dar, deoarece cel mai probabil nu știți cum să lucrați în mod specific cu acest lucru, tastați pictograma bară oblică ( / ). După aceasta, programul vă va arăta câteva indicii. Dar vă recomand să formați comanda /Ajutor. Aici toate comenzile disponibile vă vor spune, în special, cum să setați corect formatul. Pentru a face acest lucru, tastați un mesaj /formate.
  3. După ce te-ai uitat la toate comenzile, apoi intră /început pentru a începe să utilizați bot. În partea de jos veți vedea inscripția „Adăugați o notificare”. Faceți clic pe el.
  4. Să presupunem că vreau să mi se reamintească pe 12 noiembrie la ora 15.00 că trebuie să urmăresc webinarul la ora 17.00, apoi scriu un mesaj „Webinar” și îl trimit. Apoi mi se va cere să scriu ora de memento, iar apoi voi scrie în oricare dintre modurile sugerate, de exemplu „11/12/2017 15:00”. Toate! Programul își va aminti alegerea dvs. și vă va trimite un mesaj la ora stabilită. Și dacă scrieți „webinar 15:00” o dată, va seta automat un memento pentru azi sau mâine (în funcție de faptul că este deja 15:00 sau nu).
  5. Ei bine, dacă vă răzgândiți brusc și nu doriți să vi se reamintească o anumită oră, atunci faceți clic pe „Lista 1” sau pe lista sub care aveți un memento. Și când botul vă cere să introduceți numărul listei, apoi apăsați 1 sau 2, sau 3... ați înțeles ideea.

Alți roboți funcționează aproximativ în același mod. Îl găsiți doar în căutare și vedeți comenzile pe care le poate efectua. În plus, în cele mai multe cazuri, au deja butoane active încorporate.

Ei bine, dacă doriți să ștergeți botul, dar nu știți cum să o faceți, atunci acest lucru se face în același mod ca și în cazul canalelor și chaturilor obișnuite. Țineți degetul pe acest chat și faceți clic pe „Ieșiți din conversație” dacă sunteți la telefon. Ei bine, dacă utilizați versiunea pentru computer, atunci utilizați butonul drept al mouse-ului în loc de degetul.

Încercați să experimentați singur cu delorean_bot. Sunt sigur că veți fi mulțumit de această funcție. Ei bine, printre altele, ți-am pregătit niște roboți interesanți pentru telegramă.

@MyCookBot - rețete pentru orice fel de mâncare. Tot ce trebuie să faceți este să introduceți un cuvânt general și acesta vă va oferi câteva exemple precum „Pui”, „Prăjitură”, etc.

@imagebot - caută cereri. La început, scrieți comanda /get și apoi ceea ce doriți să găsiți, de exemplu, „Black Cat”. Desigur, programul este în engleză, dar caută cu ușurință imagini folosind cuvinte rusești.

@ivideobot - permite . Modul original).

@Instasave_bot - nu a fost niciodată atât de ușor

@topdf_bot - convertește fișierele în format PDF fără probleme (funcționează în principal cu documente și imagini Word)

@PandaQuizBot - nu ai nimic de-a face cu tine? Faceți testul online. La început vi se vor pune întrebări ușoare, iar apoi va deveni din ce în ce mai dificil. Obține toate cele 25.000 de puncte.

@andyrobot - Acest bot de telegramă util vă va ajuta să învățați engleza. În plus, nu există doar text, astfel încât să poți stăpâni cu ușurință pronunția.

@voiceru_bot - poate sintetiza orice discurs în text. Este oferit și efectul opus. Din păcate, este încă în reconstrucție, dar sunt sigur că va începe să funcționeze din nou în curând.

@pollbot - ajută la crearea unui sondaj de chat cu opțiunile date. În plus, afișează statistici despre câți oameni au votat pentru ce.

@radiusbot - îți găsește interlocutorul într-o anumită rază de tine. Cu setări minime, botul caută oameni pe o rază de 10 metri, iar cu setări maxime afectează întreaga planetă. În general, așa ceva va fi util la convenții mari, sau pentru a face cunoștințe într-o cafenea3 sau restaurant. De asemenea, puteți discuta despre film cu un străin în timp ce îl vizionați la cinema. Din păcate, această caracteristică nu este încă disponibilă pentru versiunea pentru computer, dar cred că nu este chiar așa de rău.

Desigur, aceasta nu este întreaga listă de roboți de telegramă, dar cred că va fi suficient pentru a vă familiariza. Dacă acest subiect este interesant pentru dvs., atunci voi publica topul meu roboți pentru telegramă în viitorul apropiat. Crede-mă, sunt multe de rătăcit pe aici.

Ei bine, aici închei articolul meu de astăzi. Sper că v-a plăcut și l-ați găsit util. Dacă acesta este într-adevăr cazul, atunci asigurați-vă că vă abonați la actualizările blogului meu, precum și la pagina mea publică de pe VK și canal telegram. Nu voi trimite spam, dar vă voi furniza întotdeauna informații utile. Mult noroc pentru tine. Pa! Pa!

Cu stima, Dmitri Kostin.

Cum să adăugați și să găsiți un bot în Telegram? După ce ați citit articolul, veți învăța cum să căutați și să conectați Bots în Telegram. Deci haideți să începem!

S-a discutat despre ce sunt roboții și cum pot fi folosiți. Rămâne de văzut. De asemenea, este important să adăugați informații despre elementele de bază ale utilizării acestor algoritmi.

Cum să căutați și să conectați roboți în Telegram

De fapt, un utilizator experimentat fără prea multe dificultăți. Din fericire, dezvoltatorii de mesagerie au oferit această oportunitate tuturor. Dar pentru cei care nu vor să înțeleagă astfel de subtilități, există o opțiune mai simplă.

Există două moduri cele mai simple și mai accesibile de a căuta boți în Telegram:

  1. Printr-un robot special @StoreBot
  2. Utilizați catalogul pe orice resursă de pe Internet

Pentru a utiliza robotul de căutare, procedați în felul următor:


O modalitate și mai simplă este de a găsi robotul de care aveți nevoie pe Internet:

  • Acesta este motivul pentru care îl alegem pe cel potrivit;
  • După aceea, trebuie doar să-i introduceți numele în bara de căutare din aplicație și să lansați robotul.

Asta e tot, primim o listă cu cei mai noi și mai populari roboți (îi poți adăuga imediat la tine), împărțită pe categorii. Căutarea roboților Telegram este ușor de făcut în cadrul acestui robo-contact.

Așadar, ne-am dat seama cum să adăugăm roboți la Telegram. Încercați să vă puneți cunoștințele în practică conectând, de exemplu, @ImageBot. Acest algoritm vă va permite să căutați imagini pe subiectele preferate, de bună calitate și în formatul necesar.

Să vă reamintim că lista celor mai interesante și, cel mai important, a programelor care funcționează adecvat poate fi găsită pe pagina de catalog. Puteți adăuga link-uri la constatările dvs. care merită cu adevărat atenție în comentarii. Să facem lumea noastră puțin mai convenabilă și mai favorabilă comunicării active.

Telegram este unul dintre cele mai populare mesagerie instant din lume. Această stare de lucruri se datorează vitezei, funcționalității, ușurinței de utilizare și securității. Aplicația a fost dezvoltată de echipa lui Pavel Durov.

Pe lângă schimbul de mesaje cu cei dragi și trimiterea de fișiere media, Telegram oferă utilizatorului o listă mare de opțiuni. În primul rând, aceasta este crearea de canale cu informații utile la care o persoană se poate abona. Și una dintre principalele caracteristici ale aplicației este funcționalitatea roboților. Acest articol vorbește despre capacitățile lor și despre cum să adăugați un bot la Telegram.

Plus

În primul rând, trebuie să înțelegeți ce se numește un bot în aplicația Telegram. Aceștia sunt roboți speciali programați pentru anumite acțiuni cu care utilizatorul interacționează prin chat. Funcțiile și capacitățile lor variază în funcție de scopul lor. Fiecare are propriile comenzi la care răspunde. Telegram Messenger are un număr mare de astfel de programe. Multe resurse le oferă pentru confortul utilizatorilor.

Adăugarea unui cont în messenger este destul de simplă. Trebuie să-i cunoști contul, începând cu simbolul @. Numele este introdus în căutarea aplicației, trebuie să îl selectați pe cel potrivit dintre opțiunile propuse. Se va deschide o fereastră pentru interacțiunea cu botul, care conține un buton Start sau „Start” dacă aveți instalată localizarea în limba rusă. Trebuie să-l apăsați, apoi modul de dialog este activat. Multe conturi au capacitatea de a controla butoanele din partea de jos a ecranului, și nu doar prin comenzi.

Atașarea unui bot la un grup

Această secțiune este dedicată modului de a adăuga un bot Telegram la un grup. În acest grup mesagerii sunt implementați ca chat-uri la care participă simultan mai mulți utilizatori. La ei pot fi adăugați roboți automati. Să luăm în considerare algoritmul general pentru această acțiune:

  • Găsiți contul necesar în căutare;
  • Trimite-i informațiile tale de contact;
  • Invită-l în grup.

O nuanță importantă - nu toate grupurile au capacitatea de a adăuga un chatbot. Acest parametru este setat de către creator. Procesul în sine este destul de simplu, durează literalmente câteva minute pentru a te familiariza. Este destinat să umple rapid chat-ul cu conținut și utilizatori.

Î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ă reușește, BotFather returnează jetonul bot și un link pentru a adăuga rapid botul la contactele dvs., altfel 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 de comenzi 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!" % message["from"].get("first_name"), "\rPot accepta numai aceste comenzi:"] pentru comanda din CMD: result.append(command) response["text"] = "\n\t" .join(rezultat) returnează răspuns

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 puteți vedea, Telegram trimite întregul mesaj, nu împărțit, iar restricția conform căreia comenzile încep cu o bară oblică este doar pentru confortul utilizatorilor 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 botul 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 „method” „: „sendMessage” (sau orice altă metodă folosită de bot).

Etichete:

  • telegramă
  • introducere
  • python3
Adăugați etichete
  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva