Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • știri
  • Instrucțiuni pentru crearea unui bot într-o telegramă. Creați o comandă simplă

Instrucțiuni pentru crearea unui bot într-o telegramă. Creați o comandă simplă

Din păcate, pe acest moment nu există biblioteci bune Python2 pentru a crea rapid un chatbot. Mai jos voi arăta cât de ușor este să scrieți un bot de chat primitiv pentru VK folosind API-ul VK.


Articolul este scris pentru începători pentru a arăta că nu este nimic dificil în scrierea de roboți în Python.

Autorizare

Avem nevoie de biblioteca vk_api. Vă puteți conecta la VK în două moduri:
- Ca utilizator
- Ca o comunitate


În primul caz, va trebui să introduceți un nume de utilizator și o parolă. În al doilea caz, trebuie să activați „Postări comunitare” în grup și să creați o cheie de acces API:





timp import import vk_api vk = vk_api.VkApi(login = "login", parola = "parolă") #vk_api.VkApi(token = "a02d...e83fd") #Conectați-vă ca comunitate vk.auth()

Trimiterea mesajelor

Acum să scriem o funcție scurtă care trimite un mesaj persoanei selectate.


P.S. Comunitatea poate trimite mesaje numai utilizatorilor postați anterior.


def write_msg(user_id, s): vk.method("messages.send", ("user_id":user_id,"message":s))

În vk.method putem apela orice metodă din VK APIși transmiteți parametrii ca dicționar.


V acest caz numim metoda mesaje.trimite iar ca parametri trecem id-ul utilizatorului si textul mesajului.

Primirea mesajelor

Amenda! Am învățat cum să trimitem mesaje, rămâne să învățăm cum să le primim. Pentru aceasta avem nevoie de o metodă mesaje.get.


Câțiva parametri la care să acordați atenție:


1) out - dacă acest parametru este egal cu 1, serverul va returna mesajele trimise.
2) count - numărul de mesaje care trebuie primite.
3) time_offset - timp maxim, scurs din momentul în care mesajul a fost trimis până în momentul actual, în secunde.
4) last_message_id - identificatorul mesajului primit înaintea celui care urmează să fie returnat ultimul (presupunând că nu au fost primite mai mult de un număr de mesaje după acesta)


valori = ("out": 0,"count": 100,"time_offset": 60) vk.method("messages.get", valori)

În cazul nostru, această metodă va returna toate mesajele primite în ultimele 60 de secunde, dacă au fost mai puțin de 100 desigur, iar dacă sunt mai multe, atunci ultimele 100.


Ca rezultat, obținem o listă de articole:


(u"număr": 3441, u"articole": [(u"corp": u"\u041f\u0438\u0448\u0435\u043c \u0431\u043e\u0442\u0430 \u0434\u043b\u043b\u0434 !", u"date": 1491934484, u"id": 7387, u"out": 0, u"read_state": 0, u"title": u" ... ", u"user_id": 23107592) , (u"corp": u"\u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440!", u"data": 1491934479, u"id": 7""8 : 0, u"read_state": 0, u"title": u" ... ", u"user_id": 23107592)])

Dacă explicați in termeni simpli, atunci articolele sunt ceea ce poate fi evidențiat în dialog.



Coarda finală, facem un ciclu etern, în care vom răspunde la fiecare mesaj „Hi, Habr!”.


în timp ce True: răspuns = vk.method("messages.get", values) if response["items"]: values["last_message_id"] = response["items"]["id"] pentru elementul în răspuns["articole "]: write_msg(item,u"Salut Habr!") time.sleep(1)

Chatbot-ul este gata.


P.S. Ne amintim parametrul last_message_id pentru a procesa numai mesaje noi data viitoare.


Cod complet

# -*- codificare: utf-8 -*- import import vk_api vk = vk_api.VkApi(login = "login", parola = "parola") #vk_api.VkApi(token = "a02d...e83fd") # Conectați-vă ca valori ale comunității vk.auth() = ("out": 0,"count": 100,"time_offset": 60) def write_msg(user_id, s): vk.method("messages.send", ( "user_id ":user_id,"message":s)) în timp ce True: răspuns = vk.method("messages.get", valori) dacă răspuns["articole"]: valori["last_message_id"] = răspuns["articole" ][ "id"] pentru elementul în răspuns["items"]: write_msg(item,u"Hello Habr!") time.sleep(1)


Au rezultat 17 linii de cod. Noroc!


UPD 17/09/18:
Din pacate in versiune noua(5.80) Metoda API VK „messages.get” a fost eliminată și acest articol nu mai este relevant. Acum utilizați sistemul longpoll pentru a crea roboți. Puteți găsi un exemplu pe modulul vk_api pentru Python.

Și dacă nu v-ați abonat la bot de pe site, atunci este timpul să o faceți! @iPhonesRu_Bot

Acum este foarte la modă să pornești roboții Telegram. Fiecare resursă majoră de Internet sau companie mare există un bot în care clienții primesc răspunsuri la întrebări sau citesc știri. Dacă aveți propriul site web, grup de rețea socială sau doar idee interesanta bot, atunci această instrucțiune vă va ajuta efort minim contribuie la lumea magică a Telegramului.

Există două moduri de a crea boți. Primul este să scrieți o aplicație cu folosind Telegram API, iar al doilea este utilizarea serviciului pentru crearea de roboți. Unul dintre acestea, manybot.io , îl vom folosi în articol.

Instalați Telegram

Instrucțiunile din articol pot fi urmate în Versiuni Telegram pentru orice platforma:

  • Windows/Linux/OS X (linkul va deschide versiunea pentru sistem de operare cu care stai)

Eu însumi voi folosi versiunea pentru OS X, deoarece nu este foarte convenabil să creați un bot fără o tastatură completă.

Creați un bot

1. Introducem Manybot în căutare, facem clic pe pictograma bot și facem clic pe butonul start:

2. Faceți clic pe butonul Adăugați un bot nou:

4. Accesați @BotFather, apasa butonul startși introduceți comanda /newbot:

6. Introduceți numele botului care va fi afișat în timpul căutării și numele tehnic al botului, copiați jetonul API primit:

7. Reveniți la @Manybot și inserați tokenul API din clipboard în el:

8. Specificați descrierea botului:

9. Botul este gata:

10. Găsiți botul dvs. prin căutare și începeți să utilizați:

Ne creăm echipa

V bot bun comenzile ar trebui să fie. Pentru ca utilizatorul să introducă o solicitare, iar ca răspuns să primească ceva interesant/util. Iată instrucțiuni despre cum să creați cea mai simplă comandă:

1. Recrutați /comenzi:


2. Introducem un nume echipa nouași textul pe care îl va emite ca răspuns (dacă se dorește, fișierele pot fi atașate textului):


3. Apăsați butonul salvași așteptați finalizarea creării comenzii:

Pentru a edita o comandă /Buna ziua trebuie să apelezi /comenzi, /Buna ziua:

Pentru a vedea răspunsul comenzii, trebuie să faceți clic pe butonul Afișează comanda. Din păcate, nu am găsit o modalitate de a verifica cum va arăta botul în aplicație pentru abonați, în afară de a cere cuiva să se conecteze din contul său și să vadă:

Adăugarea unui element în meniu

Dacă doriți, pentru comandă, puteți face un buton în meniu care îl va lansa.

1. Recrutați /comenzi:

2. Faceți clic pe butonul Personalizați meniul principal iar apoi pe buton Adăugați element de meniu:

3. Selectați din listă comanda pe care dorim să o adăugăm în meniu și specificați numele butonului:

Activați postarea automată din rețelele sociale

Boții pot fi configurați pentru a difuza știri de pe Twitter, Youtube, VK sau RSS.

1. Recrutarea unei echipe /autoposting:


2. Apăsați butonul cu rețeaua socială dorită și indicați linkul către pagină:

Creați o postare programată

În roboții Telegram, puteți trimite mesaje care vor fi trimise tuturor abonaților săi. Iată o instrucțiune despre cum să creați un astfel de mesaj și să programați ca acesta să fie trimis la o anumită oră:

1. Recrutarea unei echipe /postare noua:


2. Introduceți textul postării și faceți clic pe butonul Amână Postarea, specificați ora curentă:


3. Specificați ora postării și salvați postarea:

Colectăm date

Cu ajutorul boților, puteți efectua sondaje în rândul abonaților:

1. Recrutați /comenzi, selectați elementul de meniu Creați o echipăși introduceți un nume pentru noua comandă:

2. Faceți clic pe butonul Adăugați o întrebare, selectați tipul de răspuns și introduceți textul întrebării:

„Bots” este o nouă direcție în rețelele sociale. Acest subiect interesat de mulți utilizatori. de ce este nevoie, cum să creați un „bot” în „VK”, pagina sa, independent și fără a utiliza niciun element de programare? Răspunsurile la aceste întrebări pot fi găsite în acest articol.

Ce este un „bot”?

De fapt, totul este foarte simplu. Un „bot” în rețelele sociale este o persoană inexistentă care, de fapt, pur și simplu nu există. Este fals. Se mai numesc si „suflete moarte”, la fel ca in povestea lui Gogol, oameni inexistenti, dar enumerati in unele structuri. În acest caz, falsurile vor fi luate în considerare în rețea socială„În contact cu”. Afișarea „live” a „bot” este prezentată sub forma unui chestionar al acelor persoane care nu există cu adevărat, sau acestea sunt pagini abandonate ale utilizatorilor, și eventual chiar copii, dar adevărații proprietari nu știu despre asta. Ce poate face un astfel de „bot”? Nimic, doar este și atât. Nu știe să citească, să scrie sau nimic.

Pentru ce este un „bot”?

După cum am menționat mai sus, toate astfel de falsuri nu fac absolut nimic, cu excepția cazului în care, desigur, instalați pentru ele program special. Atunci de ce este nevoie de el? Funcția sa principală este de a crește numărul de grupul dorit. Pentru a promova orice comunitate, sunt necesari abonați sau membri. Este exact ceea ce fac roboții.

O căutare pe rețeaua de socializare în VKontakte în primele poziții arată exact comunitatea în care există mai multe numere. Aceasta este foarte punct important Cu cât sunt mai mulți participanți, cu atât sunt mai sus în clasament. Se dovedește un fel de paradox. A invita oameni adevărați, trebuie să promovați comunitatea cu ajutorul roboților. Treptat, utilizatorii reali, existenți, vor veni în grup. „Activitatea în direct” a comunității se va dezvolta și trece într-un proces natural.

Cum să creați singur o pagină „bot” în „VK”?


1. În orice motor de căutare găsim pagina de înregistrare în „VK”. În coloana „nume” scrieți orice nume. În linia „nume” orice, cel mai bun nume de familie. Apăsăm pe „înregistrare”.

3. După confirmare, se va deschide o pagină goală pe care să o completați.

Acum, după înregistrare, ne întoarcem la întrebarea principală, și anume „Cum se creează un bot în VK?”. Pe pagina noului utilizator, trebuie să completați totul câmpuri obligatorii. Mai exact următoarele:

1. De bază: ați completat deja numele și prenumele. Deci, trebuie să specificați sexul, starea civilă, data nașterii, orașul, limba. În continuare - bunici, bunici, părinți, frați, surori, copii, nepoți - adăugați-i pe cei de care aveți nevoie. Faceți clic pe „salvare”.

2. Contacte: trebuie să adăugați țara, Skype, site-ul personal. Nu puteți adăuga ultimele paragrafe.

3. Interese: trebuie să intri în activitate. Vă rugăm să indicați cum cantitate mare, interese (cărți, călătorii, umor și multe altele). Apoi, completează - muzica ta preferată, apoi filme, emisiuni TV, cărți, jocuri, citate și scrie ceva „despre tine” și apoi salvează.

4. Următorul este educația, indicați școala, scoliși salvează.

5. Carieră: trebuie să intri la locul de studiu și de lucru, poți avea mai multe și, de asemenea, să economisești.

6. Serviciu: numai pentru bărbați.

7. Poziția de viață: trebuie să completați - viziunea asupra lumii, principalul lucru în viață, principalul lucru în oameni, atitudinea față de fumat, atitudinea față de alcool, o sursă de inspirație și salvați și toate acestea.

Deci, datele principale sunt completate, treceți la etapa următoare.

A doua etapă - adăugarea de fotografii

Deci, să trecem la a doua etapă a rezolvării întrebării „Cum se creează un bot în VK?”. Acum trebuie să adăugați un avatar și fotografii.

1. Poze potrivite le găsim pe Internet la secțiunea „imagini”. Descărcați-le pe computer și salvați.

2. Este recomandabil să găsiți fotografii cu mai multe piese ale uneia din orice persoană. În acest caz, puteți crea aspectul unui „utilizator viu și real”.

3. Selectăm o fotografie pentru avatarul de dimensiune medie, fața „bot”-ului nostru ar trebui să fie clar vizibilă pe ea. Nu puteți face animale sau poze extravagante. Totul ar trebui să fie aproape de realitate. Încărcați pe pagina „VK” și salvați.

4. Acum adăugați fotografii, cu cât sunt mai multe, cu atât mai bine. Ele pot fi orice. „Bot” le poate fi imprimat atât la singular, cât și cu o companie și cu un grup de oameni. Trebuie să încărcați cel puțin 4-5 fotografii. Să trecem la etapa următoare și să învățăm cum să creăm un „bot” în „VK”, pașii finali.

Reînvierea „botului”

Acum trebuie să adăugăm mai multă vitalitate falsului.

A treia etapă de rezolvare a problemei „Cum se creează un” bot „în” VK „?” implică cele mai active acțiuni. Pe pagina unui nou fals, trebuie să încărcați mai multe videoclipuri, câteva înregistrări audio. Și adăugați, de asemenea, prieteni. Cum să creați un „bot” în „VK” fără programe, ca să spunem așa, în mod manual? Acest lucru va necesita cheltuirea timpului dvs. personal. Faptul este că prietenii vor trebui adăugați manual. Va trebui să creați cereri de prietenie și să le acceptați zilnic. Pentru ca utilizatorul fals să pară și mai viu, trebuie să comunice. „bot” în „VK”? Puteți face acest lucru în două moduri: instalați un program special sau scrieți zilnic în chat și comunicați cu alți utilizatori în numele lui.

După cum puteți vedea singur, nu este nimic complicat. Cu toate acestea, merită să țineți cont de faptul că pentru a crea un „bot” cu drepturi depline, trebuie să vă petreceți timpul liber.

V În ultima vreme Telegrama este pe buzele tuturor. Trebuie să aducem un omagiu departamentului de marketing al acestei aplicații, hype-ul a fost ridicat la faimă. Unul dintre principalele „cipuri” ale Telegramului este presupusa sa securitate - potrivit lui Pavel Durov, toată corespondența dintre utilizatori este criptată. Mai mult, niciun serviciu special din lume nu va avea acces la mesajele tale. Dar acest articol nu este despre asta. Astăzi aș vrea să vorbesc despre cel puțin mișto trucîn Telegram, și anume despre roboți. Pe lângă faptul că rețeaua este deja plină de informații despre diferite tipuri de Botul Telegram x (github bot, de exemplu), messengerul și-a deschis API-ul pentru dezvoltatori, iar acum toată lumea își poate crea propriul bot cu blackjack și bunătăți.

În articol voi da un exemplu de scriere bot online folosind framework-ul Python și Django. Adică, vom „tai” o aplicație web cu drepturi depline care se va învârti pe o gazdă la distanță și va accepta comenzi de la utilizatori. Întregul text original disponibil în depozitul meu github.

Se găsește documentația care descrie procesul de interacțiune cu roboții Telegram. Pentru a nu reinventa roata, am găsit o bibliotecă Python bună care implementează toate funcțiile de bază ale boților - telepot . După cum am menționat mai devreme, pentru a servi utilizatorii botului nostru, vom dezvolta o aplicație web folosind framework-ul Django.

Cum se creează un bot Telegram?

În primul rând, trebuie să înregistrăm viitorul nostru bot în Telegram. Acest lucru se face în felul următor:

  • Trebuie să instalați Aplicația Telegram pe telefonul sau computerul dvs. Puteți descărca aplicația
  • Adăugăm la lista noastră de contacte un bot cu un nume Tatăl Bot
  • Începem procedura de „comunicare” cu botul apăsând butonul start. În continuare, vom vedea o listă de comenzi exact ca în captura de ecran.
  • Pentru a crea un bot nou, trebuie să rulați comanda /newbotși urmați instrucțiunile. Rețineți că numele de utilizator pentru un bot trebuie să se termine întotdeauna cu cuvântul bot. De exemplu, DjangoBot sau Django_bot.

  • Pentru botul nostru, am ales numele PythonPlanetBot, deoarece funcția sa principală este de a analiza fluxul RSS al site-ului Python Planet și de a afișa informații despre cele mai recente postări utilizatorului :)

După crearea botului, acordați atenție rândului cu textul:

Utilizați acest token pentru a accesa API-ul HTTP:

Care este urmat de așa-numitul. simbol prin care ne vom manipula botul. Dincolo de funcție crearea telegramelor bot, BotFather are și o serie de alte caracteristici:

  • Dați botului o descriere
  • Setați avatarul
  • Schimbați jetonul

Noțiuni introductive cu codificare

După cum am menționat mai devreme, vom scrie Aplicația web Django. Dar este de remarcat faptul că acest lucru nu este necesar. De asemenea, puteți utiliza un script Python obișnuit, deși în acest caz va fi necesar să interogați periodic Telegramul pentru noi solicitări de la utilizatorii bot (folosind metoda getUpdates) și incrementând offset pentru a obține cele mai recente date fără repetare. Telegram are două metode care se exclud reciproc pentru a primi comenzi/mesaje pentru bot.

  • Folosind un apel Metoda API A getUpdates
  • Instalare Webhook

Setarea unui Webhook constă în trecerea unui special adresa URL care se va aplica Solicitare POST de fiecare dată când cineva începe să trimită mesaje către bot. Această opțiune o vom folosi pentru interacțiunea dintre bot și utilizatorul său. Pentru a seta adresa URL, trebuie să utilizați metoda API setWebhook. Remarc că URL-ul trebuie să înceapă cu https, adică trebuie să aibă o conexiune securizată SSL cu un certificat valid. Telegram permite utilizarea unui certificat autosemnat, deși acest lucru necesită în metodă setWebhook trimite, de asemenea, cheia publică în format PEM (ASCII base64). Sau îl puteți obține de la Let's Encrypt.

Mai multe despre getUpdatesși setWebhook pot fi citite respectiv și .

Deci să revenim la biblioteca python pentru a lucra cu Telegram - telepot. În acest moment, cea mai recentă versiune este 6.7. Instalați-l în python virtualenv:

pip install telepot

Cel mai simplu mod de a interacționa cu un bot Telegram în Python este următorul:

Import telepot token = "123456" TelegramBot = telepot.Bot(token) print TelegramBot.getMe()

Atribuim variabilei token valoarea token-ului primit la crearea botului prin BotFather. Ca rezultat, după executarea acestor comenzi, obținem:

(u"nume utilizator": u"PythonPlanetBot", u"first_name": u"Python Planet Bot", u"id": 199266571)

Felicitări! Noi l-am numit pe cel mai simplu Solicitare API getMe, care returnează informații despre bot: nume de utilizator, id, prenume.

Să adăugăm botul nostru la lista de contacte și să-i trimitem prima comandă standard /start

Hai să executăm codul:

TelegramBot.getUpdates() [(u"mesaj": (u"data": 1459927254, u"text": u"/start", u"from": (u"nume utilizator": u"adilkhash", u"prenume ": u"Adil", u"id": 31337), u"message_id": 1, u"chat": (u"nume utilizator": u"adilkhash", u"first_name": u"Adil", u" tip": u"privat", u"id": 7350)), u"update_id": 649179764)]

Procesul de comunicare cu botul telegram are loc prin HTTPS; JSON este folosit pentru a transfera date. Metodă getUpdates returnează o listă/matrice de obiecte de tip Update . În interiorul Update este un obiect Message. Pentru interacțiunea standard cu botul, ne interesează de fapt obiectul Message, din care citim atributul text, care stochează textul transmis botului și obiectul chat, care conține informații despre utilizatorul care a inițiat comunicarea cu botul nostru Telegram. . Există, de asemenea, un parametru update_id care servește ca parametru offset atunci când apelați metoda getUpdates. Adică, update_id+1 va returna toate mesajele primite după ultimul update_id, în timp ce toate mesajele anterioare vor fi șterse.

TelegramBot.getUpdates(649179764+1) [(u"mesaj": (u"data": 1459928527, u"text": u"saluta frate", u"de la": (u"nume utilizator": u"adilkhash", u"first_name": u"Adil", u"id": 31337), u"message_id": 13, u"chat": (u"username": u"adilkhash", u"first_name": u"Adil" , u"tip": u"privat", u"id": 7350)), u"update_id": 649179765)]

În etapa de scriere a celui mai simplu bot Telegram, aceste apeluri ne sunt suficiente. Să începem să scriem o aplicație Django pentru a servi utilizatorilor noștri.

O funcție simplă de analizare a fluxului RSS Planet Python arată astfel:

# -*- codificare: utf8 -*- din xml.etree import cererile de import cElementTree def parse_planetpy_rss(): """Parsează primele 10 articole de pe http://planetpython.org/rss20.xml """ response = requests.get ("http://planetpython.org/rss20.xml") parsed_xml = cElementTree.fromstring(response.content) items = for node in parsed_xml.iter(): if node.tag == "item": item = () pentru item_node în listă(nod): if item_node.tag == "titlu": item["title"] = item_node.text if item_node.tag == "link": item["link"] = item_node.text item. anexează (articol) returnează articole[:10]

Din păcate, în acest moment nu există biblioteci bune Python2 pentru a crea rapid un chatbot. Mai jos voi arăta cât de ușor este să scrieți un bot de chat primitiv pentru VK folosind API-ul VK.


Articolul este scris pentru începători pentru a arăta că nu este nimic dificil în scrierea de roboți în Python.

Autorizare

Avem nevoie de biblioteca vk_api. Vă puteți conecta la VK în două moduri:
- Ca utilizator
- Ca o comunitate


În primul caz, va trebui să introduceți un nume de utilizator și o parolă. În al doilea caz, trebuie să activați „Postări comunitare” în grup și să creați o cheie de acces API:





timp import import vk_api vk = vk_api.VkApi(login = "login", parola = "parolă") #vk_api.VkApi(token = "a02d...e83fd") #Conectați-vă ca comunitate vk.auth()

Trimiterea mesajelor

Acum să scriem o funcție scurtă care trimite un mesaj persoanei selectate.


P.S. Comunitatea poate trimite mesaje numai utilizatorilor postați anterior.


def write_msg(user_id, s): vk.method("messages.send", ("user_id":user_id,"message":s))

În vk.method putem apela orice metodă din VK APIși transmiteți parametrii ca dicționar.


În acest caz, numim metoda mesaje.trimite iar ca parametri trecem id-ul utilizatorului si textul mesajului.

Primirea mesajelor

Amenda! Am învățat cum să trimitem mesaje, rămâne să învățăm cum să le primim. Pentru aceasta avem nevoie de o metodă mesaje.get.


Câțiva parametri la care să acordați atenție:


1) out - dacă acest parametru este egal cu 1, serverul va returna mesajele trimise.
2) count - numărul de mesaje care trebuie primite.
3) time_offset - timpul maxim scurs din momentul în care mesajul a fost trimis până la momentul actual în secunde.
4) last_message_id - identificatorul mesajului primit înaintea celui care urmează să fie returnat ultimul (presupunând că nu au fost primite mai mult de un număr de mesaje după acesta)


valori = ("out": 0,"count": 100,"time_offset": 60) vk.method("messages.get", valori)

În cazul nostru, această metodă va returna toate mesajele primite în ultimele 60 de secunde, dacă au fost mai puțin de 100 desigur, iar dacă sunt mai multe, atunci ultimele 100.


Ca rezultat, obținem o listă de articole:


(u"număr": 3441, u"articole": [(u"corp": u"\u041f\u0438\u0448\u0435\u043c \u0431\u043e\u0442\u0430 \u0434\u043b\u043b\u0434 !", u"date": 1491934484, u"id": 7387, u"out": 0, u"read_state": 0, u"title": u" ... ", u"user_id": 23107592) , (u"corp": u"\u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440!", u"data": 1491934479, u"id": 7""8 : 0, u"read_state": 0, u"title": u" ... ", u"user_id": 23107592)])

În termeni simpli, elementele sunt cele care pot fi evidențiate în dialog.



Coarda finală, facem un ciclu etern, în care vom răspunde la fiecare mesaj „Hi, Habr!”.


în timp ce True: răspuns = vk.method("messages.get", values) if response["items"]: values["last_message_id"] = response["items"]["id"] pentru elementul în răspuns["articole "]: write_msg(item,u"Salut Habr!") time.sleep(1)

Chatbot-ul este gata.


P.S. Ne amintim parametrul last_message_id pentru a procesa numai mesaje noi data viitoare.


Cod complet

# -*- codificare: utf-8 -*- import import vk_api vk = vk_api.VkApi(login = "login", parola = "parola") #vk_api.VkApi(token = "a02d...e83fd") # Conectați-vă ca valori ale comunității vk.auth() = ("out": 0,"count": 100,"time_offset": 60) def write_msg(user_id, s): vk.method("messages.send", ( "user_id ":user_id,"message":s)) în timp ce True: răspuns = vk.method("messages.get", valori) dacă răspuns["articole"]: valori["last_message_id"] = răspuns["articole" ][ "id"] pentru elementul în răspuns["items"]: write_msg(item,u"Hello Habr!") time.sleep(1)


Au rezultat 17 linii de cod. Noroc!


UPD 17/09/18:
Din păcate, în noua versiune (5.80) a API-ului VK, metoda „messages.get” a fost eliminată și acest articol și-a pierdut relevanța. Acum utilizați sistemul longpoll pentru a crea roboți. Puteți găsi un exemplu pe modulul vk_api pentru Python.

Top articole similare