Obsah:
- Zásoby
- Krok 1: Nainštalujte požadovaný softvér
- Krok 2: Vytvorte si účet Twilio
- Krok 3: Získajte kľúč API pre údaje, filmy a televízne relácie o COVID 19
- Krok 4: Pripojte Python a Twilio cez Ngrok
- Krok 5: Otestujte našu aplikáciu
- Krok 6: Ako to funguje a budúce zlepšenie:
- Krok 7: Záverečné poznámky
Video: CovBot - chatbot na báze WhatsApp pre COVID 19 Informácie a ďalšie: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
CoVbot je jednoduchý a intuitívny chatbot na báze Whatsapp. Hlavnou črtou robota je:
Jednoduchým a intuitívnym spôsobom vám môže poskytnúť najnovší stav COVID-19 vo vami zvolenej krajine.
Bot navyše môže navrhnúť zábavné činnosti, ktoré môžete robiť DOMA, ako napríklad:
- Navrhnúť film - film na sledovanie zo zoznamu 10 najlepších filmov s krátkym prehľadom deja a trvania. Pretože tento zoznam nie je napevno zakódovaný v softvéri, vždy vám poskytnú najnovšie aktualizácie na základe aktuálnych trendov.
- Navrhnúť televíznu šou - televíznu šou, ktorú môžete sledovať z najobľúbenejších televíznych relácií, s krátkym prehľadom deja a hodnotení. Pretože tento zoznam nie je napevno zakódovaný v softvéri, vždy vám poskytnú najnovšie aktualizácie na základe aktuálnych trendov.
- Suggest a Book - Kniha na čítanie zo zoznamu najlepších 10 kníh so súhrnným a titulným obrázkom knihy.
- Denné cvičenia-Toto je video na základe 7-dňového rozvrhu cvičenia, ktorý poskytuje telocvičňa CRANK vo svojom účte Instagram.
Ak sa vám tento návod páči, zvážte jeho hlasovanie v súťaži autorov prvého bodu. (a áno, toto je môj prvý pokyn, takže ak niečo nie je jasné alebo potrebuje ďalšie vysvetlenie, dajte mi vedieť v sekcii komentárov a ja vám môžem pomôcť:)
Zásoby
Tento projekt je výlučne softvérový projekt, takže tento projekt môže dokončiť ktokoľvek, kto sa bude riadiť týmto pokynom na prenosnom/stolnom počítači/macOS/Linuxe a internete. Na konci uvediem aj podrobnú časť, aby som podrobnejšie vysvetlil kód/proces pre ľudí s určitými skúsenosťami s programovaním. Upozorňujeme, že to nie je potrebné na dokončenie projektu.
Úroveň obtiažnosti projektu:
Nie veľmi ľahké, ale ani veľmi ťažké
Hardvér, ktorý použijeme:
- Notebook/stolný počítač so systémom Windows/macOS/Linux.
- Mobilný telefón s nainštalovaným WhatsApp Messenger
Softvér, ktorý budeme používať:
- Programovací jazyk Python
- ngrok - je nástroj, ktorý nám umožňuje prístup na server mimo našej siete
- Editor podľa vášho výberu: (napr. Poznámkový blok ++, Sublime Text, Vim atď.)
Krok 1: Nainštalujte požadovaný softvér
V tomto kroku urobíme nasledujúce:
- Nainštalujte Python> 3.6 a vyskúšajte ho
- Nainštalujte požadované knižnice pythonu
- Nainštalujte ngrok
Ak máte nainštalované obe aplikácie, môžete tento krok preskočiť
Nainštalujte Python:
Celá kódová základňa backend/server pre tento projekt je napísaná v Pythone 3.6. Preto na spustenie našich aplikácií musíme mať v počítači nainštalovaný Python> 3.6. Nasledujte návod od CoreySchafer, ako nainštalovať python pre Windows a macOS
Môžete otestovať, či je všetko správne nainštalované, zadaním nasledujúceho príkazu do cmd/Terminal:
python -c 'print (f "Hello World")'
Ak je všetko nainštalované správne, Hello World by sa malo vytlačiť na obrazovku. Ak sa vám zobrazí neplatná chyba syntaxe, máte nainštalovanú nesprávnu verziu pythonu. Nainštalujte verziu pythonu> = 3.6
Nainštalujte požadované knižnice pythonu pomocou pip:
Na to, aby náš softvér fungoval, použijeme nasledujúce knižnice pythonu:
- Flask - Toto je rámec pre náš server
- Twilio - Táto knižnica poskytuje Pythonu spôsob komunikácie s WhatsApp
- Požiadavka - Táto knižnica sa používa na vyžiadanie údajov z rozhraní API
- BeautifulSoup4 - Táto knižnica sa používa na zoškrabávanie informácií z webových stránok
- lxml - Táto knižnica sa používa v kombinácii s programom BeautifulSoup na extrahovanie príslušných informácií z webovej stránky
Ak chcete nainštalovať tieto knižnice, postupujte takto:
Otvorte CMD/Terminal a zadajte nasledujúci príkaz:
pip install flask, twilio, request, beautifulsoup4, lxml
ALEBO
Stiahnite si súbor requirements.txt a otvorte terminál v adresári, kde sa súbor nachádza, a zadajte:
pip install -r requirements.txt
Nainštalujte ngrok
ngrok vám umožňuje vystaviť server bežiaci na vašom lokálnom počítači na internet. Povedzte ngrok, na akom porte váš server počúva.
Pri inštalácii programu ngrok pre operačný systém, ktorý používate, postupujte podľa pokynov na webovej stránke ngrok.
Tip: Krok 3 sprievodcu nie je pre tento projekt relevantný, takže ho môžete preskočiť
Krok 2: Vytvorte si účet Twilio
V tomto kroku urobíme nasledujúce:
- Zaregistrujte si účet Twilio
- Rýchly úvod do užitočných sekcií v konzole Twilio
Prihlásiť Se:
V tomto projekte použijeme rozhranie Twilio Whatsapp API na pripojenie nášho programu python k Whatsapp. Aby sme mohli používať Twilio API, musíme si najskôr vytvoriť účet na oficiálnom webe Twilio. Na skúšobný účet Twilio ponúka bezplatný kredit 15 dolárov, ktorý môžeme použiť.
Rýchly úvod:
Keď si vytvoríte účet, najzaujímavejšie sekcie konzoly Twilio pre tento projekt sú:
Hlavný panel - Na hlavnom paneli môžete vidieť sumu kreditu, ktorý vám ešte zostáva, môžete upraviť názov projektu a zmeniť programovací jazyk
Podsekcia Whatsapp v sekcii Programovateľné SMS - V sekcii Whatsapp v konzole môžete získať prístup k kódu pripojenia robota, počtu Whatsapp, ktoré v projekte použijeme na rozhovor s našim robotom, a tiež k nastaveniu webhooku. Podrobnejšie informácie o všetkých týchto bodoch budú popísané v ďalších krokoch
Krok 3: Získajte kľúč API pre údaje, filmy a televízne relácie o COVID 19
Kľúč API alebo kľúč rozhrania programovania aplikácií je kód, ktorý sa odosiela do počítačových aplikácií. Program alebo aplikácia potom zavolá API alebo rozhranie pre programovanie aplikácií, aby identifikoval svojho používateľa, vývojára alebo volajúci program na webovú stránku.
Na získavanie informácií o najnovšom stave COVID 19, filmoch a televíznych reláciách používame API. Na prístup k rozhraniu API potrebujete kľúč, ktorý je pre každého používateľa osobný. V tomto kroku získame tieto kľúče
Získať kľúč API pre údaje COVID 19:
- Prihláste sa alebo si vytvorte účet RapidAPI.
- Potom prejdite na COVID-19 API od Gramzivi
- V konzole API prejdite nadol do sekcie Parametre hlavičky.
- Váš kľúč API by mal byť viditeľný v poli „Kľúč X-RapidAPI“.
Získajte kľúč API pre údaje o filmoch a televíznych reláciách:
- Prihláste sa alebo si zaregistrujte svoj účet TMDB
- Potom prejdite na svoje nastavenie - API
- Prejdite nadol na sekciu „Kľúč API (autentifikácia v3)“
- Váš kľúč API by mal byť viditeľný pod ním
Vytvorte súbor „config.py“
Teraz vytvoríme súbor config.py na uloženie našich kľúčov API. Vytvoríme pre ne samostatný súbor, pretože kľúče API sú dôverné informácie a ak zdieľate svoj projekt, nemali by ste zdieľať svoj kľúč API.
- Vytvorte nový adresár projektu
- V novovytvorenom adresári vytvorte nový súbor s názvom „config.py“
- Upravte tento súbor pomocou editora podľa vášho výberu (Sublime, Notepad ++) a skopírujte a nahraďte nasledujúci text relevantnými informáciami získanými v predchádzajúcom kroku:
session_key = "secret" #Toto nie je bezpečné.. ale iba na test je to v poriadku
rapid_api_key = "" api_key = ""
Uložte súbor
Krok 4: Pripojte Python a Twilio cez Ngrok
V tomto kroku urobíme nasledujúce:
- Stiahnite si zdrojový kód
- Spustite program a presmerujte miestnu IP na verejnú adresu prostredníctvom ngrok, aby sme o to mohli požiadať
- Nakonfigurujte náš účet Twilio, aby odoslal požiadavku na náš server
Stiahnite si zdrojový kód pre robota:
Stiahnite si všetok priložený súbor v tomto nastavení do adresára projektu vytvoreného v poslednom kroku.
Spustite program:
Prejdite do adresára zdrojového kódu v CMD/termináli a spustite nasledujúci príkaz:
python server_main.py
Uistite sa, že máte súbor „config.py“, ktorý sme vytvorili v poslednom kroku, inak sa zobrazí chyba
Výstup by mal byť takýto:
* Aplikácia v banke „server_main“(oneskorené načítanie)
* Prostredie: výroba VAROVANIE: Toto je vývojový server. Nepoužívajte ho vo výrobnom nasadení. Namiesto toho použite produkčný server WSGI. * Režim ladenia: zapnutý * Spustený na https://127.0.0.1:5:5// (ukončite stlačením klávesov CTRL+C) * Reštartovanie pomocou statu * Debugger je aktívny! * PIN ladiaceho programu: 740-257-236
To znamená, že váš server funguje správne vo vašej lokálnej sieti na porte 5000. Na sprístupnenie tohto servera mimo vašej lokálnej siete použijeme ngrok
Prostredníctvom ngrok presmerujte lokálnu IP na verejnú adresu
Prejdite do adresára, kam ste stiahli ngrok cez CMD/terminál, a vykonajte nasledujúci príkaz:
ngrok http 5000
Výstup by mal byť takýto:
ngrok od @inconshreveable (Ctrl+C na ukončenie)
Stav relácie online Relácia vyprší 7 hodín, 59 minút Verzia 2.3.35 Región Spojené štáty americké (nás) Webové rozhranie https://127.0.0.1:4040 Presmerovanie _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Presmerovanie _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Connections ttl opn rt1 rt5 p50 p90 0 0 0,00 0,00 0,00 0,00
Skopírujte odkaz HTTP z časti „Forwading“(len do ngrok.io). (V tomto prípade som pridal znak _, aby som sa vyhol pokynom zachytiť ho ako odkaz)
Nakonfigurujte Twilio tak, aby používalo novú adresu na odosielanie požiadaviek servera na:
Teraz, keď sme úspešne preposlali náš server na verejný prístup, musíme nakonfigurovať Twilio tak, aby pri odoslaní požiadavky pomocou rozhrania Twilio Whatsapp API požiadavku preposlali na náš server. Aby sme to urobili, musíme urobiť nasledujúce:
- Prejdite do sekcie Whatsapp na konzole Twilio
- Prejdite do podsekcie „Sanbox“
- Do textového poľa „KEĎ BUDE SPRÁVA“, vložte odkaz HTTP z ngrok skopírovaný s príponou /sms (NEKOPÍRUJTE _ na začiatku a na konci):
_https://d44c955749bf.ngrok.io/sms_
Teraz je všetko pre chatbot nastavené. V nasledujúcom kroku môžeme otestovať, či všetko funguje správne
Krok 5: Otestujte našu aplikáciu
V tomto kroku urobíme nasledujúce:
- Pripojte sa k nášmu robotovi pomocou prístupového kódu
- Vyskúšajte našu aplikáciu
Pripojte sa k nášmu robotovi pomocou prístupového kódu
V tomto projekte použijeme Twilio's Whatsapp Sandbox Number pre nášho robota Whatsapp. Pre každú osobu bude toto číslo iné. Svoje číslo nájdete takto:
- Prihláste sa do svojho účtu Twilio
- Prejdite na konzolu Twilio -> Sekcia Whatsapp -> Sandbox
- Uvidíte svoje číslo Twilio Sandbox s nasledujúcim textom:
Pozvite svojich priateľov do svojho karantény. Požiadajte ich, aby odoslali správu WhatsApp na adresu:
Vzhľadom na bezpečnostné zásady Whatsappu sa každý, kto sa chce rozprávať s automatizovaným robotom cez Whatsapp, musí výslovne prihlásiť pomocou kódu. Kód môžete zistiť tak, že sa pozriete do rovnakej sekcie ako číslo vášho sandboxu Twilio s textom:
Potom, čo ste získali svoje Whatsapp číslo Twilio Sandbox a prihlasovací kód, začnite používať robota na svojom mobilnom telefóne a postupujte takto:
- Uložte „Whatsapp číslo Twilio Sandbox“do svojho kontaktu s zvoleným menom (napr. CovBot)
- Otvorte Whatsapp a pošlite tomuto kontaktu nasledujúcu správu:
pridať sa
Mala by sa vám zobraziť táto správa:
Twilio Sandbox: Všetko je pripravené …
To znamená, že ste sa spojili so svojim robotom a ste pripravení ho požiadať
Vyskúšajte našu aplikáciu:
Ak chcete po pripojení otestovať rôzne funkcie svojho robota, pošlite robotovi nasledujúcu správu:
Ahoj
Mali by ste vidieť nasledujúci text:
Vitajte v CoVbot!
Jednoduchý chatbot, ktorý môže poskytovať najnovšie aktualizácie COVID-19 jednoduchým, rýchlym a jednoduchým spôsobom. Pretože sme všetci v karanténe, robota je možné použiť na navrhnutie zábavných aktivít, ktoré by nám pomohli maximálne využiť čas strávený doma, pretože sa snažíme zaistiť bezpečnosť seba, priateľov a rodiny. Dúfame, že sa vám bude páčiť a bude pre vás užitočný! Ak chcete začať, pošlite 4!
Teraz môžete využiť možnosť vyskúšať si rôzne funkcie robota.
TO JE TO! Váš Whatsapp Chatbot je pripravený !!!! Gratulujem
Krok 6: Ako to funguje a budúce zlepšenie:
Táto časť je pre ľudí, ktorí majú skúsenosti s programovaním v pythone. Ak nie, môžete túto sekciu preskočiť
Vysvetlenie kódu
Hlavná slučka:
Keď sa na číslo Twilio odošle správa Whatsapp, rozhranie Twilio API odošle požiadavku POST na váš server, ktorý ste zadali. Server je implementovaný pomocou rámca Flask, a tak môžeme použiť objekt Flask Request na načítanie údajov prijatých počas požiadavky POST. Na základe údajov (v tomto prípade čísel) sa rozhodneme, akú možnosť si užívateľ vybral, a poskytneme príslušné informácie
Údaje a filmy a televízne relácie o COVID:
Údaje o filmoch a televíznych reláciách COVID 19 sa získavajú z rozhrania API. Na získanie údajov používam knižnicu python požiadaviek a potom ju prevádzam do formátu JSON. Potom už len analyzujem relevantné informácie. V prípade filmov a televíznych relácií som tiež použil knižnicu náhodných pytónov na výber náhodnej televíznej relácie a filmu
Podrobnosti o knihe
Algoritmus navrhovania knihy použitý v projekte je len webová škrabka. Nenašiel som žiadne API, ktoré by vám poskytlo náhodnú knihu s podrobnosťami, a tak som pomocou programu BeautifulSoup4 zoškrabal webovú stránku a pomocou analyzátora lxml extrahoval príslušné informácie o knihe.
Podrobnosti podponuky:
Implementácia podponúk bola o niečo náročnejšia ako ostatné, pretože správy Whatsapp sú ako SMS, čo je protokol bez štátnej príslušnosti. Na vyriešenie tohto problému som použil dve techniky:
- Použitie globálnych premenných na zapamätanie stavu správy - Toto je implementované iba pre čiastkovú možnosť COVID 19. Keď v tomto prípade používateľ zvolí možnosť „Stav COVID 19 v mojej krajine“, globálna premenná s názvom neúplná_zpráva je nastavená na hodnotu True, aby naznačovala, že je stále potrebná ďalšia správa na základe predchádzajúcej možnosti. Potom je na začiatku kontrola, ktorá skontroluje, či je správa označená ako neúplná, ak áno, predpokladá, že správa je názvom krajiny pre údaje o COVID a odovzdá informácie správnej funkcii a nastaví neúplnú správu globálnej premennej na hodnotu False.
- Používanie súborov cookie Twilio a relácií vo fľašiach - Súbory cookie a relácie vo fľašiach sa používajú v podponuke „Navrhnúť karanténnu aktivitu“na implementáciu aktuálnosti, rovnako ako ju v dnešnej dobe používa každá webová aplikácia na internete, ale namiesto toho, aby si pamätala veci ako vaše používateľské meno alebo si to zapamätajte, prevod medzi dvoma číslami. Ak máte radi ďalšie informácie o tejto časti, odporúčam vám prečítať si túto úžasnú príručku k súborom cookie Twilio, ktorú napísal tím Twilio
Budúce vylepšenia:
- Na zlepšenie architektúry kódu a SUŠENOSTI využite objektovú orientáciu Pythonu a návrhové vzory
- Odstráňte globálne premenné
- Je možné zlepšiť spracovanie chýb
- Automaticky aktualizujte adresu ngrok pomocou kukurice a Twilio CLI
- Dokumentácia kódu
Krok 7: Záverečné poznámky
Dúfam, že sa vám tento projekt páči. Toto je môj prvý pokyn. Ak mi teda niečo nie je jasné alebo potrebuje podrobnejšie vysvetlenie, dajte mi vedieť v sekcii komentárov a ja vám môžem pomôcť. Tiež ak ste urobili tento projekt inou technikou alebo zoznamom funkcií, zdieľajte ho všetci
Odporúča:
Lacnejší štít ESP8266 WiFi pre Arduino a ďalšie mikroskopy: 6 krokov (s obrázkami)
Lacnejší štít ESP8266 WiFi pre Arduino a ďalšie mikroskopy: Aktualizácia: 29. októbra 2020 Testované s knižnicou dosiek ESP8266 V2.7.4 - funguje Aktualizácia: 23. septembra 2016 Nepoužívajte na tento projekt knižnicu dosiek Arduino ESP V2.3.0. V2.2.0 works Aktualizácia: 19. mája 2016 14. časť tohto projektu reviduje knižnice a kód, aby fungoval
Super jednoduché lacné LED diódy USB (a ďalšie položky) pre domácich majstrov: 16 krokov
Super jednoduché lacné LED diódy USB pre domácich majstrov (a ďalšie položky): Dobrý deň, vitajte pri mojom prvom pokyne:) Stavím sa, že všetci po vírusu znova nastavujeme a znovu osídľujeme naše priestory tvorcov, takže si myslím, že je načase, aby sme ich vytvorili. všetci sa naučili vyrábať vlastné USB, a nie spoliehať sa na ľahko vybitú batériu
AKO ODSTRÁNIŤ ZÁKLADNÉ INFORMÁCIE NA OBRÁZKU POUŽÍVANÍM SLOVA SLUŽBA JEDNODUCHÉ: 12 krokov
AKO ODSTRÁNIŤ ZÁKLADNÉ INFORMÁCIE NA OBRÁZKU POUŽÍVANÍM SLOVA SLOVO SNADNÉ: ahoj chlapci !! som späť!!!!! všetci mi chýbate :) mám nový návod, ktorý je veľmi jednoduchý !!! Vedeli ste, že môžete upravovať obrázky v programe Microsoft Word? áno, môžete odstrániť pozadie alebo vylepšiť obrázok, ak ste neskúsili iné aplikácie, môžete použiť
Hravé podložky citlivé na tlak (pre digitálne ihriská - a ďalšie): 11 krokov (s obrázkami)
Hravé podložky citlivé na tlak (pre digitálne ihriská - a ďalšie): Tento návod vám ukáže, ako si vyrobiť podložku citlivú na tlak - ktorú je možné použiť na vytváranie digitálnych hračiek alebo hier. Môže byť použitý ako rezistor citlivý na silu vo veľkom meradle, a hoci je hravý, môže byť použitý na serióznejšie projekty
Veľké LED „prstencové“svetlo pre Timelapse, portréty a ďalšie : 11 krokov (s obrázkami)
Veľké LED „prstencové“svetlo pre Timelapse, portréty a ďalšie …: Natáčam veľa timelapse videí, ktoré trvajú niekoľko dní, ale nenávidím nerovnomerné svetlo, ktoré vydávajú svorkové svetlá - obzvlášť v noci. Veľké kruhové svetlo je príliš drahé - preto som sa rozhodol urobiť niečo sám za jeden večer s vecami, ktoré som mal po ruke.