Sisukord:
- Tarvikud
- Samm: installige vajalik tarkvara
- Samm: looge Twilio konto
- 3. toiming: hankige API -võti COVID 19 andmete, filmide ja telesaadete jaoks
- Samm: ühendage Python ja Twilio Ngroki kaudu
- Samm: testige meie rakendust
- 6. toiming: kuidas see töötab ja tulevane täiustamine:
- 7. samm: viimased märkmed
Video: CovBot - WhatsAppil põhinev vestlusrobot COVID 19 teabe ja muu kohta: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
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:
- 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.
- 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.
- Soovitage raamatut - raamat, mida lugeda 10 parima raamatute nimekirjast koos raamatu läbilõike ja kaanepildiga.
- 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:
- Python programmeerimiskeel
- ngrok - on tööriist, mida kasutatakse meie serverile väljastpoolt meie võrku pääsemiseks
- Teie valitud redaktor: (nt Notepad ++, Sublime Text, Vim jne)
Samm: installige vajalik tarkvara
Selles etapis teeme järgmist
- Installige Python> 3.6 ja proovige seda
- Installige vajalikud Pythoni teegid
- 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:
- Kolb - see on meie serveri raamistik
- Twilio - see raamatukogu pakub pythonile võimalust WhatsAppiga suhelda
- Taotlus - seda teeki kasutatakse API -dest andmete küsimiseks
- BeautifulSoup4 - seda raamatukogu kasutatakse veebisaitidelt teabe kogumiseks
- 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
- Registreeruge Twilio kontole
- 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
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.
- Laadige alla lähtekood
- Käivitage programm ja edastage kohalik IP ngroki kaudu avalikule aadressile, et saaksime sellele taotluse esitada
- 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.
- Minge Twilio konsooli jaotisesse Whatsapp
- Liikuge jaotisse "Sanbox"
- 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
Selles etapis teeme järgmist.
- Liituge meie robotiga pääsukoodi abil
- 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.
- Salvestage „Twilio liivakasti Whatsappi number” oma valitud nimele (nt CovBot)
- 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:
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:
- 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
- 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:
- Kasutage Pythoni ja disainimustrite objektorienteeritust, et parandada koodi arhitektuuri ja KUIVATUST
- Eemaldage globaalsed muutujad
- Vigade käsitlemist saab parandada
- Värskendage ngroki aadressi automaatselt, kasutades maisi ja Twilio CLI -d
- 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:
Kuidas teha D882 TRANSISTORI KOHTA AUTOMAATNE AVARIATULEKETT: 3 sammu
KUIDAS TEHA D882 TRANSISTORI KOHTA AUTOMAATILINE HÄDATULGERING: HELLO FRIENDS, TERE TULEMAST MINU KANALI, NÄITAN TÄNA NÄITAN, KUIDAS TEHA AUTOMAATILISEST HÄDASÕIDUKIST LIGHT LIGHTING
Arduino parkimisabiline - parkige oma auto iga kord õigesse kohta: 5 sammu (koos piltidega)
Arduino parkimisabiline - parkige oma auto iga kord õigesse kohta: Selles projektis näitan teile, kuidas Arudino abil oma parkimisabiline ehitada. See parkimisabiline mõõdab kaugust teie autoni ja juhendab teid pargima selle õigesse kohta, kasutades LCD -ekraani näidikut ja LED -i
Teabe saatmine heeliumi aatomiga: 3 sammu
Teabe saatmine heelium Atomiga: Helium on täielik traadita platvorm asjade interneti jaoks, pakkudes integreeritud riistvara, tarkvara liideseid ja väljaehitatud infrastruktuuri, et hõlpsalt, tõhusalt ja turvaliselt objekte Internetiga ühendada. Riistvara komponente on kaks
Käepärased asjad, mida Makey Makey GO kohta teada ja lõbus mäng: 4 sammu
Käepärased asjad Makey Makey GO ja lõbusa mängu kohta: Paljud inimesed saavad endale MaKey MaKey GO ja neil pole aimugi, mida sellega teha. Saate mängida lõbusaid mänge nullist ja muuta need alati käeulatusse! Kõik, mida vajate, on MaKey MaKey GO ja arvuti, millel on juurdepääs tühjale kohale
SCARA Robot: õppimine Foward ja pöördkinemaatika kohta !!! (Plot Twist Õppige ARDUINO -s reaalajas liidest töötlema, kasutades töötlemist !!!!): 5 sammu (koos piltidega)
SCARA robot: Õppimine Foward ja pöördkinemaatika kohta !!! (Plot Twist Õppige ARDUINO -s reaalajas liidest töötlema, kasutades töötlemist !!!!): SCARA robot on tööstusmaailmas väga populaarne masin. Nimi tähistab nii selektiivse ühilduvusega robotkäsi kui ka valikuliselt ühilduvat liigendroboti kätt. Põhimõtteliselt on see kolme vabadusastme robot, mis on kaks esimest