Përmbajtje:
- Furnizimet
- Hapi 1: Instaloni Softuerin e kërkuar
- Hapi 2: Krijoni një llogari Twilio
- Hapi 3: Merrni çelësin API për të dhënat, filmat dhe shfaqjet televizive COVID 19
- Hapi 4: Lidhni Python dhe Twilio Via Ngrok
- Hapi 5: Testoni Aplikacionin Tonë
- Hapi 6: Si funksionon dhe përmirësim i ardhshëm:
- Hapi 7: Shënimet përfundimtare
Video: CovBot - një Chatbot me bazë WhatsApp për Info COVID 19 dhe më shumë: 7 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:14
CoVbot është një chatbot i thjeshtë dhe intuitiv i bazuar në Whatsapp. Karakteristika kryesore e botit është:
Mund t'ju japë statusin më të fundit të COVID-19 në vendin e zgjedhur në një mënyrë të thjeshtë dhe intuitive.
Për më tepër, boti mund të sugjerojë aktivitete argëtuese për të bërë në shtëpi, siç janë:
- Sugjeroni një film - Një film për tu parë nga lista e 10 filmave më të mirë, me një pasqyrë të shkurtër të komplotit dhe kohëzgjatjes. Meqenëse kjo listë nuk është e koduar në softuer, kjo gjithmonë do t'ju japë përditësimet më të fundit bazuar në tendencat aktuale.
- Sugjeroni një shfaqje televizive - Një shfaqje televizive për t'u parë nga shfaqjet televizive më të njohura, me një pasqyrë të shkurtër të komplotit dhe vlerësimeve. Meqenëse kjo listë nuk është e koduar në softuer, kjo gjithmonë do t'ju japë përditësimet më të fundit bazuar në tendencat aktuale.
- Sugjeroni një libër - Një libër për t'u lexuar nga 10 Listat e Librave më të Mirë, me imazhin e qartë dhe kopertinën e librit.
- Stërvitjet e përditshme-Kjo është një video e bazuar në një orar stërvitje 7-ditor të siguruar nga palestra CRANK në llogarinë e tyre në Instagram.
Nëse ju pëlqen kjo Udhëzues, ju lutemi konsideroni të votoni për të në Konkursin e Autorit të Artikullit të Parë. (dhe po ky është udhëzimi im i parë kështu që nëse diçka nuk është e qartë ose ka nevojë për më shumë shpjegime ju lutem më tregoni në pjesën e komenteve dhe unë mund t'ju ndihmoj:)
Furnizimet
Ky projekt është vetëm projekt i bazuar në softuer, kështu që kushdo që e ndjek këtë udhëzues me një kompjuter portativ/desktop/macOS/Linux dhe internet mund ta përfundojë këtë projekt. Unë gjithashtu do të përfshijë një seksion të detajuar si në fund për të shpjeguar kodin/procesin në mënyrë më të detajuar për njerëzit me një përvojë programimi, Ju lutemi vini re se kjo nuk është e nevojshme për të përfunduar projektin
Niveli i Vështirësisë së Projektit:
Jo shumë e lehtë, por jo shumë e vështirë
Pajisjet kompjuterike që do të përdorim:
- Një laptop/desktop me Windows/macOS/Linux.
- Një telefon celular me WhatsApp Messenger të instaluar
Softueri që ne do të përdorim:
- Gjuha e Programimit Python
- ngrok - është një mjet i përdorur për të na lejuar të hyjmë në serverin tonë nga jashtë rrjetit tonë
-
Redaktori i zgjedhjes suaj: (p.sh. Notepad ++, Text Sublime, Vim etj)
Hapi 1: Instaloni Softuerin e kërkuar
Në këtë hap ne do të bëjmë sa më poshtë:
- Instaloni Python> 3.6 dhe provojeni atë
- Instaloni bibliotekat e kërkuara python
- Instaloni ngrok
Nëse i keni të dy aplikacionet e instaluar, mund ta kaloni këtë hap
Instaloni Python:
E gjithë baza e kodit të sfondit/serverit për këtë projekt është shkruar në Python 3.6. Prandaj për të ekzekutuar aplikacionet tona ne duhet të kemi Python> 3.6 të instaluar në kompjuterin tonë. Ndiqni mësimin nga CoreySchafer se si të instaloni python për Windows dhe macOS
Ju mund të provoni që gjithçka është instaluar saktë duke shtypur sa vijon në cmd/Terminal:
python -c 'print (f "Përshëndetje Botë")'
Nëse gjithçka është instaluar si duhet, atëherë Hello World duhet të printohet në ekran. Nëse merrni një gabim sintaksor të pavlefshëm, atëherë keni të instaluar versionin e gabuar të python. Instaloni një version të python> = 3.6
Instaloni bibliotekat e kërkuara python duke përdorur pip:
Ne do të përdorim bibliotekat e mëposhtme python për ta bërë softuerin tonë të funksionojë:
- Flask - Ky është kuadri për serverin tonë
- Twilio - Kjo bibliotekë siguron një mënyrë që python të komunikojë me WhatsApp
- Kërkesë - Kjo bibliotekë përdoret për të kërkuar të dhëna nga API -të
- BeautifulSoup4 - Kjo bibliotekë përdoret për të hequr informacionin nga faqet e internetit
- lxml - Kjo bibliotekë përdoret në kombinim me BeautifulSoup për të nxjerrë informacionin përkatës nga një faqe në internet
Për të instaluar këto biblioteka, mund të bëni sa më poshtë:
Hapni CMD/Terminal dhe shkruani komandën e mëposhtme:
pip instaloni balonë, twilio, kërkesë, beautifulsoup4, lxml
OSE
Shkarkoni skedarin kërkesat.txt dhe hapni një terminal në drejtorinë ku ndodhet skedari dhe shkruani:
pip instalo -r kërkesat.txt
Instaloni ngrok
ngrok ju lejon të ekspozoni një server që funksionon në kompjuterin tuaj lokal në internet. Thuaji ngrokut në cilën port po dëgjon serveri juaj.
Ndiq udhëzuesin në uebfaqen e ngrok për të instaluar ngrok për sistemin operativ që po përdorni.
Këshillë: Hapi 3 i udhëzuesit nuk është i rëndësishëm për këtë projekt, kështu që mund të anashkalohet
Hapi 2: Krijoni një llogari Twilio
Në këtë hap ne do të bëjmë sa më poshtë:
- Regjistrohuni për një llogari Twilio
- Hyrje e shpejtë në seksione të dobishme në tastierën Twilio
Regjistrohu:
Në këtë projekt, ne do të përdorim API -në Twilio Whatsapp për të lidhur programin tonë python me Whatsapp. Për të qenë në gjendje të përdorim Twilio API, së pari duhet të krijojmë një llogari në faqen zyrtare të Twilio. Për një llogari prove, Twilio ofron 15 dollarë kredi falas për ne që t'i përdorim.
Hyrje e shpejtë:
Pasi të keni krijuar një llogari, Seksionet më interesante të tastierës Twilio për këtë projekt janë:
Paneli i kontrollit - Nga pulti, mund të shihni sasinë e kredisë që ju ka mbetur akoma, mund të redaktoni emrin e projektit tuaj dhe të ndryshoni gjuhën e programimit
Nënseksioni Whatsapp në seksionin SMS të Programueshëm - Nga pjesa Whatsapp e tastierës, ju mund të merrni qasje në kodin e bashkimit për botin, numrin e Whatsapp që do të përdorim në projekt për të folur me botin tonë dhe gjithashtu vendosjen e webhook Me Më shumë detaje rreth të gjitha këtyre do të përshkruhen në hapat e ardhshëm
Hapi 3: Merrni çelësin API për të dhënat, filmat dhe shfaqjet televizive COVID 19
Një çelës API ose çelësi i ndërfaqes së programimit të aplikacionit është një kod që kalohet nga aplikacionet kompjuterike. Programi ose aplikacioni më pas thërret API ose ndërfaqen e programimit të aplikacionit për të identifikuar përdoruesin, zhvilluesin ose programin që thërret në një faqe në internet.
Ne përdorim një API për të marrë informacion për statusin, filmat dhe shfaqjet më të fundit të COVID 19. Për të hyrë në API keni nevojë për një çelës që është personal për secilin përdorues. Në këtë hap, ne do të marrim këto çelësa
Merrni çelësin API për të dhënat e COVID 19:
- Hyni ose regjistrohuni në llogarinë tuaj RapidAPI.
- Pas kësaj shkoni te API COVID-19 nga Gramzivi
- Shkoni poshtë në seksionin "Parametrat e kokës" të tastierës API.
- Çelësi juaj API duhet të jetë i dukshëm në fushën "Çelësi X-RapidAPI".
Merrni çelësin API për të dhënat e filmave dhe shfaqjeve televizive:
- Hyni ose regjistrohuni në llogarinë tuaj TMDB
- Pas kësaj shkoni te cilësimi juaj - API
- Shkoni poshtë në seksionin "Çelësi API (autorizimi v3)"
- Çelësi juaj API duhet të jetë i dukshëm poshtë tij
Krijo skedarin "config.py"
Tani do të krijojmë një skedar config.py për të ruajtur çelësat tanë API. Ne krijojmë një skedar të veçantë për këto, sepse çelësat API janë informacion konfidencial dhe nëse ndani projektin tuaj nuk duhet të ndani çelësin tuaj API.
- Krijoni një drejtori të re të projektit
- Brenda drejtorisë së krijuar rishtazi krijoni një skedar të ri të quajtur "config.py"
- Ndryshoni këtë skedar me një redaktues të zgjedhur nga ju (Sublime, Notepad ++) dhe kopjoni dhe zëvendësoni tekstin e mëposhtëm me informacionin përkatës të marrë në hapin e mëparshëm:
session_key = "sekret" #Kjo nuk është e sigurt.. por vetëm për provë është në rregull
Rapid_api_key = "" api_key = ""
Ruani skedarin
Hapi 4: Lidhni Python dhe Twilio Via Ngrok
Në këtë hap ne do të bëjmë sa më poshtë:
- Shkarkoni kodin burimor
- Ekzekutoni programin dhe përcillni IP lokale në një adresë publike përmes ngrok, në mënyrë që t'i bëjmë një kërkesë atij
- Konfiguroni llogarinë tonë Twilio për të përcjellë kërkesën në serverin tonë
Shkarkoni kodin burimor për botin:
Shkarkoni të gjithë skedarin e bashkangjitur në këtë konfigurim në drejtorinë e projektit të krijuar në hapin e fundit.
Ekzekutoni programin:
Shkoni te drejtoria e kodit burimor në CMD/terminal dhe ekzekutoni komandën e mëposhtme:
python server_main.py
Sigurohuni që të keni "config.py" që kemi krijuar në hapin e fundit, përndryshe do të merrni një gabim
Dalja duhet të jetë diçka si kjo:
* Shërbimi i aplikacionit Flask "server_main" (ngarkim dembel)
* Mjedisi: prodhimi KUJDES: Ky është një server zhvillimi. Mos e përdorni në vendosjen e prodhimit. Përdorni një server prodhimi WSGI në vend. * Mënyra e korrigjimit: aktiv * Aktivizon në https://127.0.0.1:5000/ (Shtypni CTRL+C për ta lënë) * Rinisja me stat * Debugger është aktiv! * PIN i korrigjuesit: 740-257-236
Kjo do të thotë që serveri juaj po funksionon saktë në rrjetin tuaj lokal në portin 5000. Për ta bërë këtë server të arritshëm nga jashtë rrjetit tuaj lokal, ne do të përdorim ngrohjen
Përcjellni IP lokale në një adresë publike përmes ngrok
Shkoni te drejtoria ku keni shkarkuar ngrok përmes CMD/terminalit dhe ekzekutoni komandën e mëposhtme:
ngrok http 5000
Dalja duhet të jetë diçka si kjo:
ngrok nga @inconshreveable (Ctrl+C për të lënë)
Sesioni i Sesionit në internet Sesioni Skadon 7 orë, 59 minuta Versioni 2.3.35 Rajoni Shtetet e Bashkuara (ne) Ndërfaqja në internet https://127.0.0.1:4040 Përcjellja _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Përcjellja _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Lidhjet ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00 0.00
Kopjoni lidhjen HTTP nga pjesa "Forwading" (vetëm deri në ngroh.io). (Unë kam shtuar _ në këtë shembull për të shmangur udhëzimet për ta përgjuar atë si një lidhje)
Konfiguroni Twilio për të përdorur adresën e re për të përcjellë kërkesën e serverit te:
Tani që kemi përcjellë me sukses serverin tonë për t'u qasur publikisht, duhet të konfigurojmë Twilio në mënyrë që kur të bëhet një kërkesë duke përdorur Twilio Whatsapp API, ne ta përcjellim kërkesën në serverin tonë. Për ta bërë këtë ne duhet të bëjmë sa më poshtë:
- Shkoni te seksioni Whatsapp në tastierën Twilio
- Shkoni te nënseksioni "Sanbox"
- Në kutinë e tekstit "KUR VJET NJ MESAZH" ngjitni lidhjen HTTP nga ngrok të kopjuar me shtesën /sms (MOS KOPJO _ në fillim dhe në fund):
_https://d44c955749bf.ngrok.io/sms_
Tani gjithçka për chatbot është ngritur. Në hapin tjetër, ne mund të testojmë nëse gjithçka po funksionon si duhet
Hapi 5: Testoni Aplikacionin Tonë
Në këtë hap ne do të bëjmë sa më poshtë:
- Bashkohuni me botin tonë duke përdorur kodin e hyrjes
- Provoni aplikacionin tonë
Bashkohuni me botin tonë duke përdorur kodin e hyrjes
Në këtë projekt, ne do të përdorim numrin e Twilio's Whatsapp Sandbox për botin tonë Whatsapp. Për secilin person, ky numër do të jetë i ndryshëm. Mund ta gjeni numrin tuaj si ky:
- Hyni në llogarinë tuaj Twilio
- Shkoni te Twilio Console -> Seksioni Whatsapp -> Sandbox
- Do të shihni numrin tuaj Twilio Sandbox me tekstin e mëposhtëm:
Ftoni miqtë tuaj në Sandbox -in tuaj. Kërkojuni atyre të dërgojnë një mesazh në WhatsApp në:
Për shkak të një politike sigurie të Whatsapp, të gjithë ata që duan të flasin me një bot të automatizuar përmes Whatsapp duhet të zgjedhin në mënyrë eksplicite duke përdorur një kod. Ju mund ta zbuloni kodin tuaj duke shikuar në të njëjtin seksion me numrin tuaj të sandbox Twilio me tekstin:
Pasi të keni fituar numrin tuaj Twilio Sandbox Whatsapp dhe kodin e zgjedhjes, për të filluar përdorimin e botit shkoni te telefoni juaj celular dhe bëni sa më poshtë:
- Ruani "Twilio Sandbox Whatsapp Number" në kontaktin tuaj me zgjedhjen e emrit tuaj (P.sh. CovBot)
- Hapni Whatsapp dhe dërgoni mesazhin e mëposhtëm në atë kontakt:
bashkohet
Ju duhet të shihni një mesazh si ky:
Twilio Sandbox: Të gjithë jeni gati….
Kjo do të thotë që ju jeni lidhur me botin tuaj dhe jeni gati ta pyesni qs
Provoni aplikacionin tonë:
Për të testuar veçoritë e ndryshme të botit tuaj pasi të jeni lidhur, dërgoni mesazhin e mëposhtëm në bot:
Pershendetje
Ju duhet të shihni tekstin e mëposhtëm:
Mirësevini në CoVbot!
Një chatbot i thjeshtë që mund të japë përditësimet më të fundit të COVID-19 në një mënyrë të thjeshtë, të shpejtë dhe të lehtë. Meqenëse të gjithë jemi në karantinë, bot mund të përdoret për të sugjeruar disa aktivitete argëtuese për të shfrytëzuar sa më shumë kohën në shtëpi, ndërsa përpiqemi të mbajmë veten, miqtë dhe familjen të sigurt. Shpresojmë që ta shijoni dhe ta gjeni të dobishëm! Dërgo 4 për të filluar!
Tani mund të ndiqni opsionin për të provuar veçoritë e ndryshme të botit.
KJO ESHTE! Whatsapp Chatbot juaj është gati !!!! Urime
Hapi 6: Si funksionon dhe përmirësim i ardhshëm:
Ky seksion është për njerëzit që kanë përvojë në programimin e python. Nëse nuk e bëni, mund ta kaloni këtë seksion
Shpjegimi i Kodit
Rrethi kryesor:
Kur një mesazh Whatsapp dërgohet në numrin tuaj të Twilio, API Twilio i bën një kërkesë POST serverit tuaj që keni specifikuar. Serveri është zbatuar duke përdorur kuadrin Flask dhe kështu ne mund të përdorim objektin Flask Request për të tërhequr të dhënat e marra gjatë kërkesës POST. Bazuar në të dhënat (Numrat në këtë rast) ne vendosim se cilin opsion ka zgjedhur përdoruesi dhe japim informacionin e duhur
Të dhënat dhe filmat dhe shfaqjet televizive COVID:
Të dhënat për COVID 19, Filma dhe Shfaqje TV janë marrë nga një API. Unë përdor bibliotekën python të kërkesës për të marrë të dhënat dhe pastaj i konvertoj ato në një format JSON. Atëherë unë thjesht analizoj informacionin përkatës. Për Filmat dhe Shfaqjen Televizive, unë gjithashtu përdorja bibliotekën e pythonit të rastit për të zgjedhur një shfaqje televizive të rastësishme dhe Film
Detajet e Librit
Algoritmi i sugjerimit të librit i përdorur në projekt është vetëm një kruajtës uebi. Unë nuk mund të gjej asnjë API që ju jep një libër të rastësishëm me detaje, kështu që thjesht fshij një faqe në internet duke përdorur BeautifulSoup4 dhe duke përdorur analizuesin lxml nxjerr informacionin përkatës të librit
Detajet e nën menusë:
Zbatimi i nën-menyve ishte pak më i ndërlikuar se pjesa tjetër pasi mesazhet Whatsapp janë si SMS, i cili është një protokoll pa shtetësi. Për të zgjidhur këtë, unë kam përdorur dy teknika:
- Përdorimi i Variablave Global për të kujtuar gjendjen e mesazhit - Kjo zbatohet vetëm për Nën -opsionin COVID 19. Në këtë kur një përdorues zgjedh "Statusi i COVID 19 në opsionin e vendit tim", një ndryshore globale me emrin jo të plotë_message vendoset në True për të treguar atëherë një mesazh tjetër i bazuar në opsionin e mëparshëm është ende i nevojshëm. Pastaj ka një kontroll në fillim që kontrollon nëse një mesazh është shënuar i paplotë nëse kështu supozon se mesazhi është emri i vendit për të dhënat e COVID dhe i kalon informacionet në funksionin e duhur dhe vendos mesazhin e paplotë të ndryshores globale në False
- Përdorimi i Cookies Twilio dhe Sesionet Flask - Cookies dhe Flask Sessions përdoren në nënmenynë "Sugjeroni një aktivitet karantine" për të zbatuar gjendjen, ashtu si çdo aplikacion uebi në internet e përdor atë këto ditë, por në vend që të mbani mend gjëra të tilla si emri juaj i përdoruesit ose llogari mbani mend konvertimin midis Dy numrave. Nëse ju pëlqejnë më shumë informacione për këtë pjesë, ju rekomandova të lexoni këtë udhëzues të mrekullueshëm mbi Cookies Twilio të shkruar nga Ekipi Twilio
Përmirësimet e ardhshme:
- Përdorni Objektivitetin e Objektit të Python dhe Modelet e Dizajnit për të përmirësuar arkitekturën e kodit dhe DRYS
- Hiq ndryshoret globale
- Trajtimi i gabimeve mund të përmirësohet
- Përditësoni automatikisht adresën e ngrok duke përdorur misër dhe Twilio CLI
- Dokumentacioni i Kodit
Hapi 7: Shënimet përfundimtare
Shpresoj se të gjithëve ju pëlqen ky projekt. Ky është udhëzimi im i parë, kështu që nëse diçka nuk është e qartë ose ka nevojë për më shumë shpjegime, më tregoni në pjesën e komenteve dhe unë mund t'ju ndihmoj. Gjithashtu nëse e keni bërë këtë projekt me një teknikë të ndryshme ose një listë të veçorive, ndajini të gjithë
Recommended:
Kontrolli i zërit Ndriçon shirita elektronikë RGB të udhëhequr dhe më shumë me Cortana dhe Arduino Automatizimi në shtëpi: 3 hapa
Kontrolli i Zërit Ndriçon Elektronikë RGB Led Rrip dhe më shumë Me Cortana dhe Arduino Home Automation: Ju pëlqen ideja për të kontrolluar gjërat me zërin tuaj? Apo nuk ju pëlqen të dilni nga shtrati për të fikur dritat? Por të gjitha zgjidhjet ekzistuese si google home janë shumë të shtrenjta? Tani mund ta bëni vetë për nën 10 dollarë. Dhe akoma më mirë është shumë e lehtë
Muzikë e zgjuar në dhomën e gjumit dhe banjës me mjedër Pi - Integrimi i shumë dhomave, alarmit, kontrollit të butonave dhe automatizimit të shtëpisë: 7 hapa
Muzikë e zgjuar në dhomë gjumi dhe banjë me mjedër Pi - Integrimi i Multiroom, Alarm, Kontrollit të Butonit dhe Automatizimit të Shtëpisë: Sot ne duam t'ju japim dy shembuj se si mund të përdorni Raspberry Pi me softuerin tonë Max2Play për automatizimin e shtëpisë: në banjo dhe dhomë gjumi Me Të dy projektet janë të ngjashëm në atë që muzika me besnikëri të lartë nga burime të ndryshme mund të transmetohet përmes
Katapultë automatike për hedhjen e ushqimit për kafshë (qen, mace, pulë, etj), hedhje topash dhe më shumë !: 4 hapa (me fotografi)
Katapultë automatike për hedhjen e ushqimit për kafshët shtëpiake (qen, mace, pulë, etj), hedhje topash dhe më shumë !: Përshëndetje dhe mirëseardhje në instruksionin tim të parë! Qeni ynë e do ushqimin e saj, ajo do ta hajë atë fjalë për fjalë brenda pak sekondash. Unë jam duke shpikur mënyra për ta ngadalësuar këtë, nga topthat me ushqimin brenda deri tek hedhja e tij në të gjithë oborrin e shtëpisë. Çuditërisht, ajo është
Riparimi i problemit bazë të ndërgjegjes së kompjuterit bazë (dështimi i diskut në sistem dhe furnizimi me energji i dëmtuar dhe skedarët e humbur/të korruptuar): 4 hapa
Riparimi i problemit bazë të ndërgjegjes kompjuterike bazë (dështimi i sistemit të diskut dhe PSU i prishur dhe skedarët që mungojnë/korruptojnë): KJO UDHZUES NUK KA PINRFUNDUAR, DO T AD SHTOJ M M SHUM INFORMACION KUR M G KA NJ SHANS. Nëse keni nevojë për ndonjë ndihmë me rregullimin e një kompjuteri ose nëse keni ndonjë pyetje fare, mos ngurroni të më dërgoni mesazh " Në këtë udhëzues do t'ju tregoj se si të riparoni komin bazë
Kopjoni dhe ngjisni dhe aksesoni skedarët midis shumë kompjuterëve: 3 hapa
Kopjoni dhe ngjisni dhe aksesoni skedarët midis shumë kompjuterëve: Sapo gjeta një faqe në internet që u lejon njerëzve të kopjojnë dhe ngjisin çdo tekst, fotografi, video, etj midis kompjuterëve të shumtë. Gjithashtu ju lejon të krijoni një tabelë mesazhesh, të ngarkoni skedarë dhe të printoni faqen tuaj. Dhe pjesa më e mirë është, ju as nuk keni