Turinys:
- Prekės
- 1 veiksmas: įdiekite reikiamą programinę įrangą
- 2 veiksmas: sukurkite „Twilio“paskyrą
- 3 veiksmas: gaukite „COVID 19“duomenų, filmų ir TV laidų API raktą
- 4 veiksmas: prijunkite „Python“ir „Twilio“per „Ngrok“
- 5 žingsnis: išbandykite mūsų programą
- 6 veiksmas: kaip tai veikia ir tolesnis tobulinimas:
- 7 žingsnis: paskutinės pastabos
Video: „CovBot“- „WhatsApp“pagrįstas „Chatbot“, skirtas COVID 19 informacijai ir dar daugiau: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
„CoVbot“yra paprastas ir intuityvus „Whatsapp“pokalbių robotas. Pagrindinis roboto bruožas yra toks:
Tai gali suteikti jums naujausią COVID-19 statusą pasirinktoje šalyje paprastu ir intuityviu būdu.
Be to, robotas gali pasiūlyti įdomių užsiėmimų AT HOME, pavyzdžiui:
- Siūlyti filmą - filmas, kurį reikia žiūrėti iš 10 geriausių filmų sąrašo su trumpu siužeto ir trukmės apžvalga. Kadangi šis sąrašas nėra užkoduotas programinėje įrangoje, tai visada suteiks jums naujausius atnaujinimus, pagrįstus dabartinėmis tendencijomis.
- Siūlykite TV laidą - TV laidą, kurią reikia žiūrėti iš populiariausių TV laidų, trumpai apžvelgiant siužetą ir įvertinimus. Kadangi šis sąrašas nėra užkoduotas programinėje įrangoje, tai visada suteiks jums naujausius atnaujinimus, pagrįstus dabartinėmis tendencijomis.
- Pasiūlyti knygą - knyga, kurią reikia perskaityti iš 10 geriausių knygų sąrašo su knygos ištraukomis ir viršelio vaizdais.
- Kasdienės treniruotės-tai vaizdo įrašas, pagrįstas 7 dienų treniruočių grafiku, kurį „Instagram“paskyroje pateikia „CRANK gym“.
Jei jums patinka ši instrukcija, apsvarstykite galimybę balsuoti už ją pirmojo elemento autoriaus konkurse. (ir taip, tai yra mano pirmasis pamokomas dalykas, todėl jei kažkas neaišku arba reikia daugiau paaiškinimų, praneškite man komentarų skiltyje ir aš galiu jums padėti:)
Prekės
Šis projektas yra tik programinės įrangos projektas, todėl kiekvienas, vykdantis šią instrukciją su nešiojamu kompiuteriu/staliniu kompiuteriu/„MacOS“/„Linux“ir internetu, gali užbaigti šį projektą. Pabaigoje taip pat įdėsiu išsamų skyrių, kad išsamiau paaiškintų kodą/procesą žmonėms, turintiems tam tikros programavimo patirties. Atminkite, kad tai nėra būtina norint užbaigti projektą
Projekto sudėtingumo lygis:
Ne labai lengva, bet ne labai sunku
Aparatūra, kurią naudosime:
- Nešiojamasis kompiuteris/darbalaukis, kuriame veikia „Windows“/„MacOS“/„Linux“.
- Mobilusis telefonas su įdiegta „WhatsApp Messenger“
Programinė įranga, kurią naudosime:
- „Python“programavimo kalba
- „ngrok“yra įrankis, leidžiantis pasiekti mūsų serverį iš išorinio tinklo
- Jūsų pasirinktas redaktorius: (pvz., „Notepad ++“, „Sublime Text“, „Vim“ir kt.)
1 veiksmas: įdiekite reikiamą programinę įrangą
Šiame žingsnyje mes atliksime šiuos veiksmus:
- Įdiekite „Python“> 3.6 ir išbandykite
- Įdiekite reikalingas python bibliotekas
- Įdiekite „ngrok“
Jei esate įdiegę abi programas, galite praleisti šį veiksmą
Įdiekite „Python“:
Visa šio projekto vidinė/serverio kodų bazė parašyta „Python 3.6“. Todėl, norėdami paleisti programas, kompiuteryje turime įdiegti „Python“> 3.6. Sekite „CoreySchafer“vadovėlį, kaip įdiegti „python“, skirtą „Windows“ir „MacOS“
Galite patikrinti, ar viskas įdiegta teisingai, įvesdami cmd/terminale:
python -c 'print (f "Labas pasaulis")'
Jei viskas buvo įdiegta teisingai, „Hello World“turėtų būti atspausdintas ekrane. Jei gaunate netinkamą sintaksės klaidą, turite įdiegtą neteisingą „python“versiją. Įdiekite „python“versiją> = 3.6
Įdiekite reikalingas „Python“bibliotekas naudodami „pip“:
Kad programinė įranga veiktų, naudosime šias „python“bibliotekas:
- Kolba - tai yra mūsų serverio sistema
- „Twilio“- ši biblioteka suteikia „python“galimybę bendrauti su „WhatsApp“
- Užklausa - ši biblioteka naudojama duomenims iš API prašyti
- BeautifulSoup4 - ši biblioteka naudojama informacijai iš svetainių nuskaityti
- lxml - ši biblioteka naudojama kartu su „BeautifulSoup“, kad iš svetainės būtų išgauta atitinkama informacija
Norėdami įdiegti šias bibliotekas, galite atlikti šiuos veiksmus:
Atidarykite CMD/terminalą ir įveskite šią komandą:
pip install kolba, twilio, prašymas, beautifulsoup4, lxml
ARBA
Atsisiųskite reikalavimus.txt failą ir atidarykite terminalą kataloge, kuriame yra failas, ir įveskite:
pip install -r reikalavimai.txt
Įdiekite „ngrok“
„ngrok“leidžia atskleisti jūsų vietiniame kompiuteryje veikiantį serverį internete. Tiesiog pasakykite „ngrok“, kurio prievado serveris klauso.
Vadovaukitės „ngrok“svetainės vadovu, kaip įdiegti naudojamą operacinę sistemą „ngrok“.
Patarimas: vadovo 3 veiksmas nėra svarbus šiam projektui, todėl jį galima praleisti
2 veiksmas: sukurkite „Twilio“paskyrą
Šiame etape mes atliksime šiuos veiksmus:
- Prisiregistruokite prie „Twilio“paskyros
- Greitas įvadas į naudingus „Twilio“konsolės skyrius
Registruotis:
Šiame projekte mes naudosime „Twilio Whatsapp“API, kad prijungtume savo „python“programą prie „Whatsapp“. Kad galėtume naudotis „Twilio“API, pirmiausia turime sukurti paskyrą oficialioje „Twilio“svetainėje. Bandomajai sąskaitai „Twilio“siūlo 15 USD nemokamą kreditą, kurį galime naudoti.
Greitas įvadas:
Sukūrę paskyrą, įdomiausi šio projekto „Twilio“konsolės skyriai yra šie:
Prietaisų skydelis - prietaisų skydelyje galite pamatyti dar likusią kredito sumą, galite redaguoti savo projekto pavadinimą ir keisti programavimo kalbą
„Whatsapp“poskyris programuojamų SMS skiltyje - Konsolės skiltyje „Whatsapp“galite gauti prieigą prie roboto prisijungimo kodo, „Whatsapp“numerio, kurį naudosime projekte, kad galėtume pasikalbėti su mūsų robotu, taip pat nustatydami „webhook“. Daugiau informacijos apie visa tai bus aprašyta tolesniuose žingsniuose
3 veiksmas: gaukite „COVID 19“duomenų, filmų ir TV laidų API raktą
API raktas arba programų programavimo sąsajos raktas yra kodas, kurį perduoda kompiuterinės programos. Tada programa ar programa iškviečia API arba programų programavimo sąsają, kad nustatytų savo vartotoją, kūrėją ar skambinimo programą į svetainę.
Mes naudojame API, kad gautume informaciją apie naujausią COVID 19 būseną, filmus ir TV laidas. Norėdami pasiekti API, jums reikia kiekvieno vartotojo asmeninio rakto. Šiame etape mes gausime šiuos raktus
Gaukite API raktą COVID 19 duomenims:
- Prisijunkite arba prisiregistruokite prie „RapidAPI“paskyros.
- Po to eikite į „Gramzivi“sukurtą „COVID-19“API
- Slinkite žemyn iki API konsolės skilties „Antraštės parametrai“.
- Jūsų API raktas turėtų būti matomas lauke „X-RapidAPI-Key“.
Gaukite API raktą filmams ir TV laidų duomenims:
- Prisijunkite arba prisiregistruokite prie savo TMDB paskyros
- Po to eikite į savo nustatymą - API
- Slinkite žemyn iki skilties „API raktas (v3 autentifikavimas)“
- Jūsų API raktas turėtų būti matomas po juo
Sukurkite failą „config.py“
Dabar sukursime failą config.py, kuriame bus saugomi mūsų API raktai. Mes sukuriame jiems atskirą failą, nes API raktai yra konfidenciali informacija, o jei bendrinate savo projektą, neturėtumėte bendrinti savo API rakto.
- Sukurkite naują projektų katalogą
- Naujai sukurto katalogo viduje sukurkite naują failą pavadinimu „config.py“
- Redaguokite šį failą pasirinktu redaktoriumi („Sublime“, „Notepad ++“) ir nukopijuokite bei pakeiskite šį tekstą atitinkama informacija, gauta atlikus ankstesnį veiksmą:
session_key = "paslaptis" #Tai nėra saugu.. bet tik bandymui viskas gerai
rapid_api_key = "" api_key = ""
Išsaugokite failą
4 veiksmas: prijunkite „Python“ir „Twilio“per „Ngrok“
Šiame žingsnyje mes atliksime šiuos veiksmus:
- Atsisiųskite šaltinio kodą
- Vykdykite programą ir persiųskite vietinį IP į viešą adresą per ngrok, kad galėtume jai pateikti užklausą
- Konfigūruokite „Twilio“paskyrą, kad ji persiųstų užklausą mūsų serveriui
Atsisiųskite roboto šaltinio kodą:
Atsisiųskite visą šioje sąrankoje pridėtą failą į projekto katalogą, sukurtą paskutiniame veiksme.
Vykdykite programą:
Eikite į šaltinio kodo katalogą CMD/terminale ir vykdykite šią komandą:
python server_main.py
Įsitikinkite, kad turite „config.py“, kurį sukūrėme paskutiniame veiksme, kitaip gausite klaidą
Išvestis turėtų būti maždaug tokia:
* Serviravimo kolbos programa „server_main“(tingus įkėlimas)
* Aplinka: gamyba ĮSPĖJIMAS: Tai kūrimo serveris. Nenaudokite jo gamyboje. Vietoj to naudokite gamybinį WSGI serverį. * Derinimo režimas: įjungtas * Veikia https://127.0.0.1:5000/ (paspauskite CTRL+C, kad išeitumėte) * Derintojo PIN kodas: 740-257-236
Tai reiškia, kad jūsų serveris tinkamai veikia jūsų vietiniame tinkle prievado 5000. Kad šis serveris būtų prieinamas iš išorinio tinklo, mes naudosime ngrok
Persiųskite vietinį IP į viešą adresą per ngrok
Eikite į katalogą, iš kurio atsisiuntėte „ngrok“per CMD/terminalą, ir vykdykite šią komandą:
ngrok http 5000
Išvestis turėtų būti maždaug tokia:
ngrok pagal @inconshreveable (norėdami išeiti paspauskite Ctrl+C)
Sesijos būsena internete Sesija baigiasi 7 valandos, 59 minutės Versija 2.3.35 Regionas Jungtinės Valstijos (JAV) Žiniatinklio sąsaja https://127.0.0.1:4040 Persiuntimas _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Persiuntimas _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Ryšiai ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00
Nukopijuokite HTTP nuorodą iš dalies „Forwading“(tik iki ngrok.io). (Į šį pavyzdį pridėjau _, kad būtų išvengta nurodymų perimti jį kaip nuorodą)
Konfigūruokite „Twilio“, kad jis naudotų naują adresą serverio užklausai persiųsti:
Dabar, kai sėkmingai persiuntėme savo serverį, kad jis būtų prieinamas viešai, turime sukonfigūruoti „Twilio“taip, kad kai užklausa pateikiama naudojant „Twilio Whatsapp“API, mes perduodame užklausą savo serveriui. Norėdami tai padaryti, turime atlikti šiuos veiksmus:
- Eikite į „Whatsilio“skyrių „Twilio“konsolėje
- Eikite į poskyrį „Sanbox“
- Teksto laukelyje „KADA ATSIŽVELGIA“įklijuokite HTTP nuorodą iš „ngrok“, nukopijuotą su /sms plėtiniu (NEKOPIUOKITE _ pradžioje ir pabaigoje):
_https://d44c955749bf.ngrok.io/sms_
Dabar „chatbot“viskas nustatyta. Kitame žingsnyje galime patikrinti, ar viskas veikia teisingai
5 žingsnis: išbandykite mūsų programą
Šiame žingsnyje atliksime šiuos veiksmus:
- Prisijunkite prie mūsų roboto naudodami prieigos kodą
- Išbandykite mūsų programą
Prisijunkite prie mūsų roboto naudodami prieigos kodą
Šiame projekte mes naudosime „Whatsilio“roboto „Twilio“„Whatsapp“smėlio dėžės numerį. Kiekvienam asmeniui šis skaičius bus skirtingas. Savo numerį galite rasti taip:
- Prisijunkite prie savo „Twilio“paskyros
- Eikite į „Twilio Console“-> „Whatsapp“skiltį -> „Smėlio dėžė“
- Pamatysite savo „Twilio Sandbox“numerį su šiuo tekstu:
Pakvieskite savo draugus į savo smėlio dėžę. Paprašykite jų atsiųsti „WhatsApp“pranešimą adresu:
Dėl „Whatsapp“saugumo politikos visi, norintys pasikalbėti su automatiniu robotu per „Whatsapp“, turi aiškiai pasirinkti naudodami kodą. Savo kodą galite sužinoti žiūrėdami į tą pačią skiltį kaip ir „Twilio“smėlio dėžės numeris su tekstu:
Įsigiję „Twilio Sandbox Whatsapp“numerį ir pasirinkimo kodą, norėdami pradėti naudoti robotą, eikite į savo mobilųjį telefoną ir atlikite šiuos veiksmus:
- Išsaugokite „Twilio smėlio dėžės„ Whatsapp “numerį savo kontaktui pasirinkdami vardą (pvz.,„ CovBot “)
- Atidarykite „Whatsapp“ir nusiųskite šį pranešimą šiam kontaktui:
prisijungti
Turėtumėte pamatyti tokį pranešimą:
„Twilio Sandbox“: viskas paruošta….
Tai reiškia, kad esate prisijungę prie savo roboto ir pasiruošę jo paklausti
Išbandykite mūsų programą:
Norėdami išbandyti įvairias savo roboto funkcijas, kai prisijungsite, siųskite robotui tokį pranešimą:
Sveiki
Turėtumėte pamatyti šį tekstą:
Sveiki atvykę į „CoVbot“!
Paprastas pokalbių robotas, kuris paprastai, greitai ir lengvai gali pateikti naujausius COVID-19 atnaujinimus. Kadangi visi esame karantine, robotas gali būti naudojamas norint pasiūlyti įdomios veiklos, kad kuo geriau praleistume laiką namuose, kai stengiamės apsaugoti save, draugus ir šeimą. Tikimės, kad jums patiks ir bus naudinga! Norėdami pradėti, atsiųskite 4!
Dabar galite sekti parinktį ir išbandyti įvairias roboto funkcijas.
VISKAS! Jūsų „Whatsapp Chatbot“yra paruoštas !!!! Sveikinu
6 veiksmas: kaip tai veikia ir tolesnis tobulinimas:
Šis skyrius skirtas žmonėms, kurie turi tam tikrą python programavimo patirtį. Jei ne, galite praleisti šį skyrių
Kodo paaiškinimas
Pagrindinė kilpa:
Kai jūsų „Twilio“numeriu siunčiamas „Whatsapp“pranešimas, „Twilio“API jūsų serveriui pateikia POST užklausą. Serveris įdiegtas naudojant kolbos sistemą, todėl mes galime naudoti kolbos užklausos objektą, kad gautume duomenis, gautus POST užklausos metu. Remdamiesi duomenimis (šiuo atveju - skaičiais) nusprendžiame, kokią parinktį vartotojas pasirinko, ir pateikiame atitinkamą informaciją
COVID duomenys ir filmai bei TV laidos:
COVID 19, filmų ir TV laidų duomenys gaunami iš API. Aš naudoju užklausos „python“biblioteką duomenims gauti ir tada juos konvertuoju į JSON formatą. Tada aš tiesiog analizuoju svarbią informaciją. Filmų ir TV laidų atveju aš taip pat naudoju atsitiktinę python biblioteką, kad pasirinkčiau atsitiktinę TV laidą ir filmą
Išsami knygos informacija
Projekte naudojamas knygos pasiūlymo algoritmas yra tik žiniatinklio grandiklis. Nepavyko rasti jokios API, suteikiančios jums atsitiktinę knygą su išsamia informacija, todėl tiesiog nubraukiu svetainę naudodami „BeautifulSoup4“ir naudodamas „lxml“analizatorių išgaunu atitinkamą knygos informaciją
Išsami informacija apie submeniu:
Submeniu diegimas buvo šiek tiek sudėtingesnis nei kiti, nes „Whatsapp“pranešimai yra kaip SMS žinutės, kurios yra protokolas be būsenos. Norėdami tai išspręsti, naudoju dvi technikas:
- Visuotinių kintamųjų naudojimas pranešimo būsenai prisiminti - tai taikoma tik COVID 19 papildomai parinkčiai. Kai vartotojas pasirenka parinktį „COVID 19 būsena mano šalyje“, visuotinis kintamasis, pavadintas „nepilnas_žinutė“, yra nustatytas į „True“, kad būtų nurodyta, kad vis tiek reikia kito pranešimo, pagrįsto ankstesne parinktimi. Tada pradžioje yra patikrinimas, kuris patikrina, ar pranešimas pažymėtas kaip neužbaigtas, jei taip, jis daro prielaidą, kad pranešimas yra šalies pavadinimas COVID duomenims, ir perduoda informaciją teisingai funkcijai, o pasaulinio kintamojo nebaigtą pranešimą nustato kaip klaidingą
- „Twilio“slapukų ir kolbos sesijų naudojimas - slapukai ir kolbų seansai naudojami submeniu „Siūlyti karantino veiklą“, kad būtų įgyvendintas valstybingumas, kaip ir bet kuri interneto žiniatinklio programa šiais laikais, tačiau vietoj to, kad prisimintų tokius dalykus kaip jūsų vartotojo vardas arba prisimenate, kad atsimena dviejų skaičių konvertavimą. Jei jums patinka daugiau informacijos apie šią dalį, rekomendavau perskaityti šį nuostabų „Twilio“slapukų vadovą, kurį parašė „Twilio“komanda
Būsimi patobulinimai:
- Pasinaudokite „Python“ir dizaino modelių orientacija į objektą, kad pagerintumėte kodo architektūrą ir sausumą
- Pašalinkite visuotinius kintamuosius
- Klaidų tvarkymą galima patobulinti
- Automatiškai atnaujinkite „ngrok“adresą naudodami kukurūzus ir „Twilio CLI“
- Kodo dokumentacija
7 žingsnis: paskutinės pastabos
Tikiuosi, kad jums visiems patinka šis projektas. Tai yra mano pirmasis pamokomas dalykas, todėl, jei kažkas neaišku arba reikia daugiau paaiškinimų, praneškite man komentarų skiltyje ir aš galiu jums padėti. Taip pat, jei sukūrėte šį projektą naudodami kitą techniką ar funkcijų sąrašą, visi dalinkitės juo
Rekomenduojamas:
Išmanusis motociklų HUD prototipas (nuosekli navigacija ir dar daugiau): 9 žingsniai
Išmanusis motociklų HUD prototipas (nuosekli navigacija ir dar daugiau): Sveiki! Ši instrukcija yra istorija apie tai, kaip suprojektavau ir sukūriau HUD („Heads-Up Display“) platformą, skirtą montuoti ant motociklų šalmų. Jis buvo parašytas konkurso „žemėlapiai“kontekste. Deja, man nepavyko iki galo užbaigti
„VBScript“pagrindai - scenarijų paleidimas, vėlavimai ir dar daugiau!: 5 žingsniai
„VBScript“pagrindai - scenarijų paleidimas, vėlavimai ir dar daugiau!: Sveiki atvykę į mano pirmąją pamoką, kaip sukurti „VBScripts“naudojant bloknotą. Naudodami.vbs failus galite sukurti juokingų išdaigų ar mirtinų virusų. Šioje pamokoje aš jums parodysiu pagrindines komandas, tokias kaip scenarijaus paleidimas, failų atidarymas ir daug daugiau. Tuo t
Nuostabus šiltnamis su automatiniu laistymu, interneto ryšiu ir dar daugiau: 7 žingsniai (su nuotraukomis)
Nuostabus šiltnamis su automatiniu laistymu, interneto ryšiu ir dar daugiau: Sveiki atvykę į šią instrukciją. Kovo pradžioje buvau sodo parduotuvėje ir pamačiau keletą šiltnamių. Ir kadangi jau seniai norėjau sukurti projektą su augalais ir elektronika, ėmiausi ir nusipirkau: https://www.instagram.com/p
Auginti daugiau salotų mažesnėje erdvėje arba Salotas auginti erdvėje, (daugiau ar mažiau): 10 žingsnių
Auginti daugiau salotų mažesnėje erdvėje arba … Auginti salotas erdvėje, (daugiau ar mažiau) .: Tai profesionalus pateikimas „Growing Beyond Earth“, „Maker“konkursui, pateiktas per „Instructables“. Aš negalėjau būti labiau susijaudinęs, kad suprojektuosiu kosminių augalų auginimą ir paskelbsiu savo pirmąjį „Instructable“. Norėdami pradėti, konkursas paprašė mūsų
Gitaros stiprintuvo pakreipimo stovas, skirtas pilnai arba pusei kamino su atskiromis galvutėmis ir dar daugiau: 5 žingsniai
Gitaros stiprintuvo pakreipimo stovas, skirtas pilnai arba pusei kaminų su atskiromis galvutėmis ir dar daugiau: Aš žinau, kad esu pamišęs, bet man tai gerai. Aš tai sukūriau, kad išbandyčiau kai kurias teorijas. Vietos muzikos parduotuvės šlykštynė neleido man padėti jo brangių naujų „Maršalo“kaminų ir nubėgo mane. Tikrai negaliu jo kaltinti, kad jis toks menkas