Satura rādītājs:

CovBot - uz WhatsApp balstīts tērzēšanas robots COVID 19 informācijai un vairāk: 7 soļi
CovBot - uz WhatsApp balstīts tērzēšanas robots COVID 19 informācijai un vairāk: 7 soļi

Video: CovBot - uz WhatsApp balstīts tērzēšanas robots COVID 19 informācijai un vairāk: 7 soļi

Video: CovBot - uz WhatsApp balstīts tērzēšanas robots COVID 19 informācijai un vairāk: 7 soļi
Video: Встреча №2-24.04.2022 | Диалог и ориентация членов команды Е... 2024, Jūlijs
Anonim
Image
Image
Izveidojiet Twilio kontu
Izveidojiet Twilio kontu

CoVbot ir vienkāršs un intuitīvs tērzēšanas robots, kura pamatā ir Whatsapp. Bota galvenā iezīme ir:

Tas vienkāršā un intuitīvā veidā var sniegt jums jaunāko Covid-19 statusu izvēlētajā valstī.

Turklāt robots var ieteikt jautras aktivitātes, ko darīt mājās, piemēram:

  1. Ieteikt filmu - skatāmā filma no Top 10 filmu saraksta ar īsu sižeta un ilguma pārskatu. Tā kā šis saraksts nav cieši kodēts programmatūrā, tas vienmēr sniegs jums jaunākos atjauninājumus, pamatojoties uz pašreizējām tendencēm.
  2. Iesakiet TV šovu - TV šovu, ko skatīties no populārākajām TV pārraidēm, ar īsu sižeta un vērtējumu pārskatu. Tā kā šis saraksts nav cieši kodēts programmatūrā, tas vienmēr sniegs jums jaunākos atjauninājumus, pamatojoties uz pašreizējām tendencēm.
  3. Ieteikt grāmatu - grāmata, kas jālasa no 10 labāko grāmatu saraksta ar grāmatas izplūdumu un vāka attēlu.
  4. Ikdienas treniņi-šis ir videoklips, kura pamatā ir 7 dienu treniņu grafiks, ko savā Instagram kontā nodrošina CRANK trenažieru zāle.

Ja jums patīk šī pamācība, lūdzu, apsveriet iespēju balsot par to pirmās vienības autoru konkursā. (un jā, šī ir mana pirmā pamācība, tāpēc, ja kaut kas nav skaidrs vai nepieciešams vairāk paskaidrojumu, lūdzu, informējiet mani komentāru sadaļā, un es varu jums palīdzēt:)

Piegādes

Šis projekts ir tikai uz programmatūru balstīts projekts, tāpēc ikviens, kurš ievēro šo pamācību ar klēpjdatoru/galddatoru/macOS/Linux un internetu, var pabeigt šo projektu. Beigās iekļaušu arī detalizētu sadaļu, lai detalizētāk izskaidrotu kodu/procesu cilvēkiem ar programmēšanas pieredzi. Lūdzu, ņemiet vērā, ka tas nav nepieciešams, lai pabeigtu projektu

Projekta grūtības pakāpe:

Nav ļoti viegli, bet ne ļoti grūti

Aparatūra, kuru mēs izmantosim:

  • Klēpjdators/galddators, kurā darbojas sistēma Windows/macOS/Linux.
  • Mobilais tālrunis ar instalētu WhatsApp Messenger

Programmatūra, kuru mēs izmantosim:

  1. Python programmēšanas valoda
  2. ngrok - ir rīks, ko izmanto, lai ļautu mums piekļūt savam serverim ārpus mūsu tīkla
  3. Redaktors pēc jūsu izvēles: (piemēram, Notepad ++, Sublime Text, Vim utt.)

1. darbība: instalējiet nepieciešamo programmatūru

Image
Image

Šajā solī mēs veiksim sekojošo:

  1. Instalējiet Python> 3.6 un pārbaudiet to
  2. Instalējiet nepieciešamās python bibliotēkas
  3. Instalējiet ngrok

Ja esat instalējis abas lietojumprogrammas, varat izlaist šo darbību

Instalējiet Python:

Visa šī projekta aizmugures/servera kodu bāze ir uzrakstīta Python 3.6. Tāpēc, lai palaistu mūsu lietojumprogrammas, datorā jābūt instalētai Python> 3.6. Izpildiet CoreySchafer apmācību, kā instalēt python operētājsistēmai Windows un macOS

Lai pārbaudītu, vai viss ir pareizi instalēts, cmd/terminālī ierakstiet šo:

python -c 'print (f "Hello World")'

Ja viss bija pareizi instalēts, tad ekrānā jāizdrukā Hello World. Ja tiek parādīta nederīga sintakses kļūda, tad ir instalēta nepareiza python versija. Instalējiet python versiju> = 3.6

Instalējiet nepieciešamās python bibliotēkas, izmantojot pip:

Lai mūsu programmatūra darbotos, mēs izmantosim šādas python bibliotēkas:

  1. Kolba - tas ir mūsu servera ietvars
  2. Twilio - šī bibliotēka nodrošina iespēju python sazināties ar WhatsApp
  3. Pieprasījums - šī bibliotēka tiek izmantota, lai pieprasītu datus no API
  4. BeautifulSoup4 - šī bibliotēka tiek izmantota, lai nokopētu informāciju no vietnēm
  5. lxml - Šī bibliotēka tiek izmantota kopā ar BeautifulSoup, lai iegūtu atbilstošu informāciju no vietnes

Lai instalētu šīs bibliotēkas, varat rīkoties šādi:

Atveriet CMD/termināli un ierakstiet šādu komandu:

pip instal kolba, twilio, pieprasījums, beautifulsoup4, lxml

VAI

Lejupielādējiet prasības.txt failu un atveriet termināli direktorijā, kurā atrodas fails, un ierakstiet:

pip instalēt -r prasības.txt

Instalējiet ngrok

ngrok ļauj atklāt jūsu serveri, kas darbojas jūsu vietējā datorā. Vienkārši pastāstiet ngrok, kurā portā jūsu serveris klausās.

Izpildiet rokasgrāmatu ngrok vietnē, lai instalētu ngrok jūsu izmantotajai operētājsistēmai.

Padoms. Rokasgrāmatas 3. darbība nav atbilstoša šim projektam, tāpēc to var izlaist

2. darbība: izveidojiet Twilio kontu

Šajā solī mēs veiksim šādas darbības:

  1. Reģistrējieties Twilio kontam
  2. Īss ievads noderīgajās sadaļās Twilio konsolē

Pierakstīties:

Šajā projektā mēs izmantosim Twilio Whatsapp API, lai savienotu mūsu python programmu ar Whatsapp. Lai varētu izmantot Twilio API, mums vispirms ir jāizveido konts Twilio oficiālajā vietnē. Izmēģinājuma kontam Twilio mums piedāvā bezmaksas kredītu 15 ASV dolāru apmērā.

Ātrs ievads:

Kad esat izveidojis kontu, visinteresantākās šī projekta Twilio konsoles sadaļas ir šādas:

Informācijas panelis - informācijas panelī varat redzēt vēl atlikušo kredīta summu, varat rediģēt projekta nosaukumu un mainīt programmēšanas valodu

Whatsapp apakšsadaļa programmējamo īsziņu sadaļā - no konsoles sadaļas Whatsapp jūs varat piekļūt robotam pievienošanas kodam, Whatsapp numuram, ko mēs izmantosim projektā, lai sarunātos ar mūsu robotu, kā arī tīmekļa āķa iestatīšanai. Sīkāka informācija par visu šo tiks aprakstīta turpmākajos soļos

3. darbība. Iegūstiet API atslēgu COVID 19 datiem, filmām un TV pārraidēm

Iegūstiet API atslēgu COVID 19 datiem, filmām un TV pārraidēm
Iegūstiet API atslēgu COVID 19 datiem, filmām un TV pārraidēm
Iegūstiet API atslēgu COVID 19 datiem, filmām un TV pārraidēm
Iegūstiet API atslēgu COVID 19 datiem, filmām un TV pārraidēm

API atslēga vai lietojumprogrammu saskarnes atslēga ir kods, ko nodod datoru lietojumprogrammas. Pēc tam programma vai lietojumprogramma izsauc API vai lietojumprogrammu saskarni, lai identificētu tās lietotāju, izstrādātāju vai zvanīšanas programmu uz vietni.

Mēs izmantojam API, lai iegūtu informāciju par jaunāko Covid 19 statusu, filmām un TV pārraidēm. Lai piekļūtu API, jums ir nepieciešama katra lietotāja personīgā atslēga. Šajā solī mēs iegūsim šīs atslēgas

Iegūstiet API atslēgu COVID 19 datiem:

  • Piesakieties vai reģistrējieties RapidAPI kontam.
  • Pēc tam dodieties uz Gramzivi COVID-19 API
  • Ritiniet uz leju līdz API konsoles sadaļai “Galvenes parametri”.
  • Jūsu API atslēgai jābūt redzamai laukā “X-RapidAPI-Key”.

Iegūstiet API atslēgu filmām un TV šovu datiem:

  • Piesakieties vai reģistrējieties savam TMDB kontam
  • Pēc tam dodieties uz savu iestatījumu - API
  • Ritiniet uz leju līdz sadaļai "API atslēga (v3 autentifikācija)"
  • Jūsu API atslēgai jābūt redzamai zem tās

Izveidojiet "config.py" failu

Tagad mēs izveidosim failu config.py, lai saglabātu mūsu API atslēgas. Mēs tiem izveidojam atsevišķu failu, jo API atslēgas ir konfidenciāla informācija, un, ja jūs kopīgojat savu projektu, jums nevajadzētu kopīgot savu API atslēgu.

  • Izveidojiet jaunu projektu direktoriju
  • Jaunizveidotā direktorijā izveidojiet jaunu failu ar nosaukumu "config.py"
  • Rediģējiet šo failu ar izvēlēto redaktoru (Sublime, Notepad ++) un nokopējiet un aizstājiet šo tekstu ar atbilstošu informāciju, kas iegūta iepriekšējā solī:

session_key = "noslēpums" #Tas nav droši.. bet tikai pārbaudei tas ir labi

rapid_api_key = "" api_key = ""

Saglabājiet failu

4. solis: savienojiet Python un Twilio, izmantojot Ngrok

Šajā solī mēs rīkosimies šādi:

  1. Lejupielādējiet avota kodu
  2. Izpildiet programmu un pārsūtiet vietējo IP uz publisku adresi, izmantojot ngrok, lai mēs varētu tai pieprasīt
  3. Konfigurējiet mūsu Twilio kontu, lai pieprasījums tiktu pārsūtīts uz mūsu serveri

Lejupielādējiet robota avota kodu:

Lejupielādējiet visu šajā iestatījumā pievienoto failu projekta direktorijā, kas izveidots pēdējā solī.

Izpildiet programmu:

Dodieties uz avota koda direktoriju CMD/terminālī un izpildiet šādu komandu:

python server_main.py

Pārliecinieties, ka jums ir “config.py”, ko izveidojām pēdējā solī, pretējā gadījumā jūs saņemsit kļūdu

Rezultātam vajadzētu būt apmēram šādam:

* Apkalpošanas kolbas lietotne "server_main" (slinka ielāde)

* Vide: ražošana BRĪDINĀJUMS: Šis ir izstrādes serveris. Nelietojiet to ražošanas izvietošanā. Tā vietā izmantojiet ražošanas WSGI serveri. * Atkļūdošanas režīms: ieslēgts * Darbojas vietnē https://127.0.0.1:5000/ (lai izietu, nospiediet taustiņu kombināciju CTRL+C) * Atkļūdotāja PIN: 740-257-236

Tas nozīmē, ka jūsu serveris darbojas pareizi jūsu vietējā tīklā portā 5000. Lai padarītu šo serveri pieejamu ārpus jūsu lokālā tīkla, mēs izmantosim ngrok

Pārsūtiet vietējo IP uz publisku adresi, izmantojot ngrok

Dodieties uz direktoriju, kurā lejupielādējāt ngrok, izmantojot CMD/termināli, un izpildiet šādu komandu:

ngrok http 5000

Rezultātam vajadzētu būt apmēram šādam:

ngrok ar @inconshreveable (Ctrl+C, lai izietu)

Sesijas statuss tiešsaistē Sesija beidzas 7 stundas, 59 minūtes Versija 2.3.35 Reģions Amerikas Savienotās Valstis (us) Tīmekļa saskarne https://127.0.0.1:4040 Pārsūtīšana _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Pārsūtīšana _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Savienojumi ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00

Kopējiet HTTP saiti no daļas "Forwading" (tikai līdz ngrok.io). (Šajā piemērā esmu pievienojis _, lai izvairītos no norādījuma pārtvert to kā saiti)

Konfigurējiet Twilio, lai tā izmantotu jauno adresi, lai pārsūtītu servera pieprasījumu uz:

Tagad, kad esam veiksmīgi pārsūtījuši savu serveri publiskai piekļuvei, mums ir jākonfigurē Twilio tā, ka, pieprasot, izmantojot Twilio Whatsapp API, pieprasījums tiek pārsūtīts uz mūsu serveri. Lai to izdarītu, mums jādara šādi:

  1. Dodieties uz sadaļu Whatsapp Twilio konsolē
  2. Dodieties uz apakšsadaļu "Sanbox"
  3. Tekstlodziņā "KAD PIENĀK ZIŅU" ielīmējiet HTTP saiti no ngrok, kas nokopēta ar /sms paplašinājumu (NEKOPĒJIET _ sākumā un beigās):

_https://d44c955749bf.ngrok.io/sms_

Tagad viss tērzēšanas robotam ir iestatīts. Nākamajā solī mēs varam pārbaudīt, vai viss darbojas pareizi

5. darbība: pārbaudiet mūsu lietojumprogrammu

Pārbaudiet mūsu lietojumprogrammu
Pārbaudiet mūsu lietojumprogrammu
Pārbaudiet mūsu lietojumprogrammu
Pārbaudiet mūsu lietojumprogrammu
Pārbaudiet mūsu lietojumprogrammu
Pārbaudiet mūsu lietojumprogrammu

Šajā solī mēs rīkosimies šādi:

  1. Pievienojieties mūsu robotam, izmantojot piekļuves kodu
  2. Izmēģiniet mūsu lietojumprogrammu

Pievienojieties mūsu robotam, izmantojot piekļuves kodu

Šajā projektā mēs izmantosim Twilio Whatsapp smilškastes numuru savam Whatsapp robotam. Katram cilvēkam šis skaitlis būs atšķirīgs. Jūs varat atrast savu numuru šādi:

  • Piesakieties savā Twilio kontā
  • Dodieties uz Twilio konsoli -> sadaļu Whatsapp -> smilškastes
  • Jūs redzēsit savu Twilio smilškastes numuru ar šādu tekstu:

Uzaiciniet savus draugus uz savu smilšu kasti. Palūdziet viņiem nosūtīt WhatsApp ziņojumu uz:

Sakarā ar Whatsapp drošības politiku, ikvienam, kas vēlas runāt ar automatizētu robotu, izmantojot Whatsapp, ir nepārprotami jāpiesakās, izmantojot kodu. Jūs varat uzzināt savu kodu, skatoties tajā pašā sadaļā, kurā ir jūsu Twilio smilškastes numurs ar tekstu:

Kad esat ieguvis Twilio Sandbox Whatsapp numuru un izvēles kodu, lai sāktu lietot robotu, dodieties uz savu mobilo tālruni un rīkojieties šādi:

  1. Saglabājiet “Twilio smilškastes Whatsapp numuru” savam kontaktam, izvēloties vārdu (piemēram, CovBot)
  2. Atveriet Whatsapp un nosūtiet šim kontaktam šādu ziņojumu:

pievienojies

Jums vajadzētu redzēt šādu ziņojumu:

Twilio smilšu kaste: viss ir gatavs….

Tas nozīmē, ka esat izveidojis savienojumu ar savu robotu un esat gatavs to uzdot qs

Izmēģiniet mūsu lietojumprogrammu:

Lai pārbaudītu dažādas robota funkcijas pēc savienojuma izveides, nosūtiet robotam šādu ziņojumu:

Sveiki

Jums vajadzētu redzēt šādu tekstu:

Laipni lūdzam CoVbot!

Vienkāršs tērzēšanas robots, kas vienkāršā, ātrā un vienkāršā veidā var sniegt jaunākos COVID-19 atjauninājumus. Tā kā mēs visi esam karantīnā, robotu var izmantot, lai ieteiktu dažas jautras aktivitātes, lai maksimāli izmantotu mūsu laiku mājās, cenšoties aizsargāt sevi, draugus un ģimeni. Mēs ceram, ka jums tas patiks un būs noderīgi! Sāciet 4, lai sāktu!

Tagad varat izmantot opciju, lai izmēģinātu dažādas robota funkcijas.

TIEŠI TĀ! Jūsu Whatsapp Chatbot ir gatavs !!!! Apsveicu

6. darbība. Kā tas darbojas un uzlabojumi nākotnē:

Kā tas darbojas un uzlabojumi nākotnē
Kā tas darbojas un uzlabojumi nākotnē
Kā tas darbojas un uzlabojumi nākotnē
Kā tas darbojas un uzlabojumi nākotnē
Kā tas darbojas un uzlabojumi nākotnē
Kā tas darbojas un uzlabojumi nākotnē
Kā tas darbojas un uzlabojumi nākotnē
Kā tas darbojas un uzlabojumi nākotnē

Šī sadaļa ir paredzēta cilvēkiem, kuriem ir zināma pieredze python programmēšanā. Ja to nedarāt, varat izlaist šo sadaļu

Koda skaidrojums

Galvenā cilpa:

Kad uz jūsu Twilio numuru tiek nosūtīts Whatsapp ziņojums, Twilio API jūsu norādītajam serverim iesniedz POST pieprasījumu. Serveris ir ieviests, izmantojot kolbas ietvaru, un tāpēc mēs varam izmantot kolbas pieprasījuma objektu, lai izgūtu datus, kas saņemti POST pieprasījuma laikā. Pamatojoties uz datiem (šajā gadījumā skaitļi), mēs izlemjam, kādu iespēju lietotājs ir izvēlējies, un sniedzam atbilstošu informāciju

COVID dati, filmas un TV pārraides:

COVID 19, filmu un TV pārraižu dati tiek izgūti no API. Es izmantoju pieprasījuma python bibliotēku, lai iegūtu datus un pēc tam pārvērstu tos JSON formātā. Tad es vienkārši analizēju attiecīgo informāciju. Filmām un TV šovam es arī izmantoju izlases pitona bibliotēku, lai izvēlētos nejaušu TV šovu un filmu

Grāmatas detaļas

Projektā izmantotais grāmatu ieteikumu algoritms ir tikai tīmekļa skrāpis. Es nevarēju atrast nevienu API, kas sniegtu jums nejaušu grāmatu ar detalizētu informāciju, tāpēc es vienkārši nokasīju vietni, izmantojot funkciju BeautifulSoup4, un, izmantojot lxml parsētāju, es iegūstu atbilstošo grāmatas informāciju

Sīkāka informācija par apakšizvēlni:

Apakšizvēlņu ieviešana bija nedaudz sarežģītāka nekā pārējās, jo Whatsapp ziņas ir kā īsziņas, kas ir bezvalstnieku protokols. Lai to atrisinātu, esmu izmantojis divas metodes:

  1. Globālo mainīgo izmantošana ziņojuma stāvokļa atcerēšanai - tas tiek ieviests tikai COVID 19 apakšvarianta gadījumā. Ja lietotājs izvēlas opciju “Covid 19 statuss manā valstī”, globālais mainīgais ar nosaukumu nepabeigts_ziņojums tiek iestatīts uz Patiess, lai norādītu, tad joprojām ir nepieciešams cits ziņojums, pamatojoties uz iepriekšējo opciju. Pēc tam sākumā tiek veikta pārbaude, kas pārbauda, vai ziņojums ir atzīmēts kā nepabeigts, ja tiek pieņemts, ka ziņojums ir COVID datu valsts nosaukums, un nodod informāciju pareizajai funkcijai un globālā mainīgā nepabeigto ziņojumu iestatīs uz False
  2. Twilio sīkfailu un kolbu sesiju izmantošana - sīkfaili un kolbas sesijas tiek izmantotas apakšizvēlnē "Ieteikt karantīnas darbību", lai ieviestu valstiskumu, tāpat kā mūsdienās to izmanto jebkura tīmekļa lietojumprogramma, bet tā vietā, lai atcerētos tādas lietas kā jūsu lietotājvārds vai kontā tas atceras reklāmguvumu starp diviem cipariem. Ja jums patīk vairāk informācijas par šo daļu, es ieteiktu izlasīt šo lielisko ceļvedi par Twilio sīkfailiem, ko uzrakstījusi Twilio komanda

Turpmākie uzlabojumi:

  1. Izmantojiet Python un Design Pattern objektorientāciju, lai uzlabotu koda arhitektūru un DRYness
  2. Noņemiet globālos mainīgos
  3. Kļūdu apstrādi var uzlabot
  4. Automātiski atjauniniet ngrok adresi, izmantojot kukurūzu un Twilio CLI
  5. Koda dokumentācija

7. solis: Noslēguma piezīmes

Es ceru, ka jums visiem patīk šis projekts. Šī ir mana pirmā pamācība, tāpēc, ja kaut kas nav skaidrs vai ir nepieciešams vairāk paskaidrojumu, informējiet mani komentāru sadaļā, un es varu jums palīdzēt. Arī tad, ja jūs izveidojāt šo projektu ar citu tehniku vai funkciju sarakstu, kopīgojiet to ar visiem

Ieteicams: