Sisukord:

CovBot - WhatsAppil põhinev vestlusrobot COVID 19 teabe ja muu kohta: 7 sammu
CovBot - WhatsAppil põhinev vestlusrobot COVID 19 teabe ja muu kohta: 7 sammu

Video: CovBot - WhatsAppil põhinev vestlusrobot COVID 19 teabe ja muu kohta: 7 sammu

Video: CovBot - WhatsAppil põhinev vestlusrobot COVID 19 teabe ja muu kohta: 7 sammu
Video: 5 - Настроек в iOS 15 которые нужно ВКЛЮЧИТЬ! 2024, November
Anonim
Image
Image
Looge Twilio konto
Looge Twilio konto

CoVbot on lihtne ja intuitiivne Whatsappil põhinev vestlusrobot. Boti peamine omadus on:

See annab teile lihtsal ja intuitiivsel viisil COVID-19 uusima staatuse valitud riigis.

Lisaks võib robot soovitada lõbusaid tegevusi, mida teha kodus, näiteks:

  1. Soovita filmi - film, mida vaadata kümne parima filmi nimekirjast koos lühikese ülevaatega süžeest ja kestusest. Kuna see loend ei ole tarkvaras kõvakodeeritud, annab see teile alati uusimaid värskendusi, mis põhinevad praegustel suundumustel.
  2. Soovitage telesaadet - telesaade, mida vaadata kõige populaarsematest telesaadetest koos lühikese ülevaatega süžeest ja hinnangutest. Kuna see loend ei ole tarkvaras kõvakodeeritud, annab see teile alati uusimaid värskendusi, mis põhinevad praegustel suundumustel.
  3. Soovitage raamatut - raamat, mida lugeda 10 parima raamatute nimekirjast koos raamatu läbilõike ja kaanepildiga.
  4. Igapäevased treeningud-see on video, mis põhineb 7-päevase treeningkavaga, mille CRANK jõusaal esitab oma Instagrami kontol.

Kui teile see juhendamine meeldib, kaaluge selle hääletamist esimese eseme autorivõistlusel. (ja jah, see on minu esimene juhendatav, nii et kui midagi pole selge või vajab täiendavat selgitust, andke mulle sellest kommentaaride osas teada ja ma saan teid aidata:)

Tarvikud

See projekt on ainult tarkvarapõhine projekt, nii et igaüks, kes järgib seda juhendit sülearvuti/lauaarvuti/macOS/Linuxi ja Interneti kaudu, saab selle projekti lõpule viia. Lisan lõpus ka üksikasjaliku jaotise, et selgitada koodi/protsessi üksikasjalikumalt programmeerimiskogemusega inimestele. Pange tähele, et seda pole projekti lõpuleviimiseks vaja

Projekti raskusaste:

Mitte väga lihtne, kuid mitte väga raske

Riistvara, mida me kasutame:

  • Sülearvuti/lauaarvuti, milles töötab Windows/macOS/Linux.
  • Mobiiltelefon, millele on installitud WhatsApp Messenger

Tarkvara, mida kasutame:

  1. Python programmeerimiskeel
  2. ngrok - on tööriist, mida kasutatakse meie serverile väljastpoolt meie võrku pääsemiseks
  3. Teie valitud redaktor: (nt Notepad ++, Sublime Text, Vim jne)

Samm: installige vajalik tarkvara

Image
Image

Selles etapis teeme järgmist

  1. Installige Python> 3.6 ja proovige seda
  2. Installige vajalikud Pythoni teegid
  3. Installige ngrok

Kui mõlemad rakendused on installitud, võite selle sammu vahele jätta

Pythoni installimine:

Kogu selle projekti taustaprogramm/serveri koodibaas on kirjutatud Python 3.6 -s. Seetõttu peab meie rakenduste käitamiseks olema arvutisse installitud Python> 3.6. Järgige CoreySchaferi õpetust pythoni installimiseks Windowsi ja macOS -i jaoks

Saate kontrollida, kas kõik on õigesti installitud, tippides cmd/terminali järgmise:

python -c 'print (f "Tere maailm")'

Kui kõik oli õigesti installitud, tuleks Hello World ekraanile printida. Kui kuvatakse kehtetu süntaksiviga, on teil installitud pythoni vale versioon. Installige pythoni versioon> = 3.6

Installige vajalikud pythoni teegid pipi abil:

Kasutame oma tarkvara toimimiseks järgmisi pythoni teeke:

  1. Kolb - see on meie serveri raamistik
  2. Twilio - see raamatukogu pakub pythonile võimalust WhatsAppiga suhelda
  3. Taotlus - seda teeki kasutatakse API -dest andmete küsimiseks
  4. BeautifulSoup4 - seda raamatukogu kasutatakse veebisaitidelt teabe kogumiseks
  5. lxml - seda teeki kasutatakse koos BeautifulSoupiga veebisaidilt asjakohase teabe hankimiseks

Nende teekide installimiseks saate teha järgmist.

Avage CMD/terminal ja tippige järgmine käsk:

pip install kolb, twilio, request, beautifulsoup4, lxml

VÕI

Laadige fail követel.txt alla ja avage terminal kataloogis, kus fail asub, ja tippige:

pip install -r nõuded.txt

Installige ngrok

ngrok võimaldab paljastada teie kohalikus masinas töötava serveri Internetti. Öelge lihtsalt ngrokile, millist porti teie server kuulab.

Järgige ngroki veebisaidi juhendit, et installida ngrok kasutatavale operatsioonisüsteemile.

Näpunäide. Juhendi 3. samm ei ole selle projekti jaoks asjakohane, nii et selle saab vahele jätta

Samm: looge Twilio konto

Selles etapis teeme järgmist

  1. Registreeruge Twilio kontole
  2. Kiire sissejuhatus Twilio konsooli kasulikesse jaotistesse

Registreeri:

Selles projektis kasutame oma pythoni programmi ühendamiseks Whatsappiga Twilio Whatsappi API -d. Twilio API kasutamiseks peame esmalt looma konto Twilio ametlikul veebisaidil. Proovikonto jaoks pakub Twilio meile kasutamiseks tasuta 15 -dollarist krediiti.

Kiire sissejuhatus:

Kui olete konto loonud, on selle projekti Twilio konsooli kõige huvitavamad jaotised järgmised:

Armatuurlaud - armatuurlaual näete allesjäänud krediidi summat, saate muuta oma projekti nime ja muuta programmeerimiskeelt

Whatsappi alajaotis programmeeritavate SMS -ide jaotises - Konsooli jaotisest Whatsapp pääsete juurde roboti liitumiskoodile, Whatsappi numbrile, mida kasutame projektis oma botiga rääkimiseks, ja ka veebikonksu seadistamisele.. Kõigi nende kohta lisateavet kirjeldatakse järgmistes sammudes

3. toiming: hankige API -võti COVID 19 andmete, filmide ja telesaadete jaoks

Hankige API -võti COVID 19 andmete, filmide ja telesaadete jaoks
Hankige API -võti COVID 19 andmete, filmide ja telesaadete jaoks
Hankige API -võti COVID 19 andmete, filmide ja telesaadete jaoks
Hankige API -võti COVID 19 andmete, filmide ja telesaadete jaoks

API -võti või rakenduste programmeerimisliidese võti on kood, mille arvutirakendused edastavad. Seejärel kutsub programm või rakendus API -d või rakenduse programmeerimisliidest, et tuvastada oma kasutaja, arendaja või veebisaidile helistamise programm.

Kasutame API -d, et saada teavet COVID 19 uusima oleku, filmide ja telesaadete kohta. API -le juurdepääsu saamiseks vajate iga kasutaja jaoks isiklikku võtit. Selles etapis saame need võtmed

Hankige API -võti COVID 19 andmete jaoks:

  • Logige sisse või registreeruge oma RapidAPI kontoga.
  • Pärast seda minge Gramzivi COVID-19 API-le
  • Kerige alla API konsooli jaotisse „Päise parameetrid”.
  • Teie API-võti peaks olema väljal „X-RapidAPI-Key” nähtav.

Hankige API -võti filmide ja telesaadete andmete jaoks:

  • Logige sisse või registreeruge oma TMDB kontole
  • Pärast seda minge oma seadistusse - API
  • Kerige alla jaotiseni „API võti (v3 autentimine)”
  • Teie API võti peaks olema selle all nähtav

Looge fail "config.py"

Nüüd loome API -võtmete salvestamiseks faili config.py. Loome nende jaoks eraldi faili, kuna API võtmed on konfidentsiaalne teave ja kui jagate oma projekti, ei tohiks te oma API võtit jagada.

  • Looge uus projektikataloog
  • Looge äsja loodud kataloogis uus fail nimega "config.py"
  • Muutke seda faili oma valitud redaktoriga (Sublime, Notepad ++) ning kopeerige ja asendage järgmine tekst eelmises etapis saadud asjakohase teabega:

session_key = "saladus" #See ei ole ohutu, kuid lihtsalt testimiseks on see korras

rapid_api_key = "" api_key = ""

Salvestage fail

Samm: ühendage Python ja Twilio Ngroki kaudu

Selles etapis teeme järgmist.

  1. Laadige alla lähtekood
  2. Käivitage programm ja edastage kohalik IP ngroki kaudu avalikule aadressile, et saaksime sellele taotluse esitada
  3. Seadistage meie Twilio konto, et edastada taotlus meie serverile

Laadige boti lähtekood alla:

Laadige kogu selles seadistuses manustatud fail alla viimases etapis loodud projekti kataloogi.

Käivitage programm:

Minge CMD/terminali lähtekoodi kataloogi ja täitke järgmine käsk:

python server_main.py

Veenduge, et teil oleks "config.py", mille lõime viimases etapis, vastasel juhul saate vea

Väljund peaks olema umbes selline:

* Teenindav kolbrakendus "server_main" (laisk laadimine)

* Keskkond: tootmine HOIATUS: See on arendusserver. Ärge kasutage seda tootmisprotsessis. Kasutage selle asemel WSGI tootmisserverit. * Silumisrežiim: sisse lülitatud * Siluri PIN: 740-257-236

See tähendab, et teie server töötab teie kohalikus võrgus õigesti pordis 5000. Selle serveri väljastpoolt teie kohalikku võrku ligipääsetavaks tegemiseks kasutame ngroki

Edastage kohalik IP avalikule aadressile ngroki kaudu

Minge kataloogi, kust CMD/terminali kaudu ngroki alla laadisite, ja täitke järgmine käsk:

ngrok http 5000

Väljund peaks olema umbes selline:

ngrok by @inconshreveable (lõpetamiseks Ctrl+C)

Seansi olek võrgus Seanss aegub 7 tundi, 59 minutit Versioon 2.3.35 Piirkond Ameerika Ühendriigid (meie) Veebiliides https://127.0.0.1:4040 Edastamine _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Edastamine _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Ühendused ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00

Kopeerige HTTP link "Forwading" osast (kuni ngrok.io). (Olen lisanud sellesse näidesse _, et vältida juhiseid selle lingina pealtkuulamiseks)

Seadistage Twilio kasutama uut aadressi serveripäringu edastamiseks:

Nüüd, kui oleme edukalt edastanud oma serveri avalikult juurdepääsetavaks, peame konfigureerima Twilio nii, et kui taotlus esitatakse Twilio Whatsapp API abil, edastame taotluse oma serverile. Selleks peame tegema järgmist.

  1. Minge Twilio konsooli jaotisesse Whatsapp
  2. Liikuge jaotisse "Sanbox"
  3. Sisestage tekstikasti "MILLAL SÕNUM TULEB" HTTP -link ngrokilt, mis on kopeeritud laiendiga /sms (ÄRGE KOOPI _ alguses ja lõpus):

_https://d44c955749bf.ngrok.io/sms_

Nüüd on chatboti jaoks kõik seadistatud. Järgmise sammuna saame testida, kas kõik töötab õigesti

Samm: testige meie rakendust

Testige meie rakendust
Testige meie rakendust
Testige meie rakendust
Testige meie rakendust
Testige meie rakendust
Testige meie rakendust

Selles etapis teeme järgmist.

  1. Liituge meie robotiga pääsukoodi abil
  2. Proovige meie rakendust

Liituge meie robotiga pääsukoodi abil

Selles projektis kasutame Twilio Whatsappi liivakasti numbrit oma Whatsappi roboti jaoks. Iga inimese jaoks on see number erinev. Oma numbri leiate järgmiselt:

  • Logige sisse oma Twilio kontole
  • Avage Twilio konsool -> Whatsappi jaotis -> Liivakast
  • Näete oma Twilio liivakasti numbrit järgmise tekstiga:

Kutsuge oma sõpru oma liivakasti. Paluge neil saata WhatsAppi sõnum:

Whatsappi turvapoliitika tõttu peavad kõik, kes soovivad Whatsappi kaudu automatiseeritud botiga rääkida, selgesõnaliselt koodi abil lubada. Oma koodi saate teada, vaadates samas jaotises oma Twilio liivakasti numbrit tekstiga:

Kui olete oma Twilio liivakasti Whatsappi numbri ja lubamiskoodi omandanud, minge robotti kasutamiseks oma mobiiltelefonile ja tehke järgmist.

  1. Salvestage „Twilio liivakasti Whatsappi number” oma valitud nimele (nt CovBot)
  2. Avage Whatsapp ja saatke sellele kontaktile järgmine sõnum:

liituda

Peaksite nägema sellist sõnumit:

Twilio liivakast: kõik on valmis….

See tähendab, et olete oma robotiga ühenduse loonud ja valmis seda küsima

Proovige meie rakendust:

Boti erinevate funktsioonide testimiseks pärast ühenduse loomist saatke robotile järgmine teade:

Tere

Peaksite nägema järgmist teksti:

Tere tulemast CoVbot'i!

Lihtne vestlusrobot, mis pakub COVID-19 uusimaid värskendusi lihtsal, kiirel ja lihtsal viisil. Kuna me kõik oleme karantiini pandud, saab robotit kasutada mõningate lõbusate tegevuste soovitamiseks, et oma aega kodus maksimaalselt ära kasutada, kui me püüame hoida ennast, sõpru ja perekonda. Loodame, et teile meeldib see ja see on kasulik! Alustuseks saatke 4!

Nüüd saate järgida võimalust proovida erinevaid roboti funktsioone.

SEE ON! Teie Whatsapp Chatbot on valmis !!!! Palju õnne

6. toiming: kuidas see töötab ja tulevane täiustamine:

Kuidas see töötab ja tulevane täiustamine
Kuidas see töötab ja tulevane täiustamine
Kuidas see töötab ja tulevane täiustamine
Kuidas see töötab ja tulevane täiustamine
Kuidas see toimib ja tulevane täiustamine
Kuidas see toimib ja tulevane täiustamine
Kuidas see toimib ja tulevane täiustamine
Kuidas see toimib ja tulevane täiustamine

See jaotis on mõeldud inimestele, kellel on mõningane python -i programmeerimise kogemus. Kui te seda ei tee, võite selle jaotise vahele jätta

Koodi selgitus

Peamine silmus:

Kui Whatsappi sõnum saadetakse teie Twilio numbrile, esitab Twilio API teie määratud serverile POST -päringu. Serverit rakendatakse Flaski raamistiku abil ja seega saame POST -päringu ajal saadud andmete toomiseks kasutada objekti Flask Request. Andmete (antud juhul numbrid) põhjal otsustame, millise valiku kasutaja on valinud, ja anname vastava teabe

COVIDi andmed ja filmid ning telesaated:

COVID 19, filmide ja telesaadete andmed saadakse API -st. Kasutan andmete saamiseks päringupythoni teeki ja teisendan need seejärel JSON -vormingusse. Seejärel analüüsin lihtsalt asjakohast teavet. Filmide ja telesaate jaoks kasutasin juhusliku pythoni raamatukogu ka juhusliku telesaate ja filmi valimiseks

Raamatu üksikasjad

Projektis kasutatud raamatusoovituste algoritm on lihtsalt veebikaabits. Ma ei leidnud ühtegi API -d, mis annaks teile juhusliku raamatu koos üksikasjadega, seega kraapisin lihtsalt veebisaidi BeautifulSoup4 abil ja lxml parseri abil võtan välja raamatu asjakohase teabe

Alammenüü üksikasjad:

Alammenüüde rakendamine oli pisut keerulisem kui ülejäänud, kuna Whatsappi sõnumid on nagu SMS-id, mis on kodakondsuseta protokoll. Selle lahendamiseks olen kasutanud kahte tehnikat:

  1. Globaalsete muutujate kasutamine sõnumi oleku mäletamiseks - seda rakendatakse ainult alamvaliku COVID 19 puhul. Sel juhul, kui kasutaja valib suvandi „COVID 19 olek minu riigis”, on globaalse muutuja nimega mittetäielik_sõnum seatud väärtusele Tõene, et näidata, siis on endiselt vaja eelmisel valikul põhinevat sõnumit. Seejärel alustatakse kontrollimisega, mis kontrollib, kas sõnum on mittetäielikuks märgitud, eeldades, et see on COVID -andmete riigi nimi, ja edastab teabe õigele funktsioonile ning määrab globaalse muutuja mittetäieliku sõnumi väärtuseks Väär
  2. Twilio küpsiste ja kolvisessioonide kasutamine - Küpsiseid ja kolvisessioone kasutatakse alammenüüs "Karantiinitoimingu soovitamine", et rakendada olekut, nagu iga Interneti -veebirakendus seda tänapäeval kasutab, kuid selle asemel, et meenutada selliseid asju nagu teie kasutajanimi või arvestage sellega kahe numbri vahelist teisendamist. Kui teile meeldib selle osa kohta rohkem teavet, soovitasin lugeda seda suurepärast Twilio küpsiste juhendit, mille on kirjutanud Twilio meeskond

Tulevased parandused:

  1. Kasutage Pythoni ja disainimustrite objektorienteeritust, et parandada koodi arhitektuuri ja KUIVATUST
  2. Eemaldage globaalsed muutujad
  3. Vigade käsitlemist saab parandada
  4. Värskendage ngroki aadressi automaatselt, kasutades maisi ja Twilio CLI -d
  5. Koodi dokumentatsioon

7. samm: viimased märkmed

Loodan, et teile kõigile meeldib see projekt. See on minu esimene õpetatav, nii et kui midagi pole selge või vajab rohkem selgitust, andke mulle sellest kommentaaride osas teada ja ma saan teid aidata. Samuti, kui tegite selle projekti erineva tehnika või funktsioonide loendiga, jagage seda kõik

Soovitan: