
Satura rādītājs:
- Piegādes
- 1. darbība: instalējiet nepieciešamo programmatūru
- 2. darbība: izveidojiet Twilio kontu
- 3. darbība. Iegūstiet API atslēgu COVID 19 datiem, filmām un TV pārraidēm
- 4. solis: savienojiet Python un Twilio, izmantojot Ngrok
- 5. darbība: pārbaudiet mūsu lietojumprogrammu
- 6. darbība. Kā tas darbojas un uzlabojumi nākotnē:
- 7. solis: Noslēguma piezīmes
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59



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:
- 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.
- 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.
- 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.
- 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:
- Python programmēšanas valoda
- ngrok - ir rīks, ko izmanto, lai ļautu mums piekļūt savam serverim ārpus mūsu tīkla
- Redaktors pēc jūsu izvēles: (piemēram, Notepad ++, Sublime Text, Vim utt.)
1. darbība: instalējiet nepieciešamo programmatūru


Šajā solī mēs veiksim sekojošo:
- Instalējiet Python> 3.6 un pārbaudiet to
- Instalējiet nepieciešamās python bibliotēkas
- 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:
- Kolba - tas ir mūsu servera ietvars
- Twilio - šī bibliotēka nodrošina iespēju python sazināties ar WhatsApp
- Pieprasījums - šī bibliotēka tiek izmantota, lai pieprasītu datus no API
- BeautifulSoup4 - šī bibliotēka tiek izmantota, lai nokopētu informāciju no vietnēm
- 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:
- Reģistrējieties Twilio kontam
- Ī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


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:
- Lejupielādējiet avota kodu
- Izpildiet programmu un pārsūtiet vietējo IP uz publisku adresi, izmantojot ngrok, lai mēs varētu tai pieprasīt
- 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:
- Dodieties uz sadaļu Whatsapp Twilio konsolē
- Dodieties uz apakšsadaļu "Sanbox"
- 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



Šajā solī mēs rīkosimies šādi:
- Pievienojieties mūsu robotam, izmantojot piekļuves kodu
- 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:
- Saglabājiet “Twilio smilškastes Whatsapp numuru” savam kontaktam, izvēloties vārdu (piemēram, CovBot)
- 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ē:




Šī 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:
- 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
- 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:
- Izmantojiet Python un Design Pattern objektorientāciju, lai uzlabotu koda arhitektūru un DRYness
- Noņemiet globālos mainīgos
- Kļūdu apstrādi var uzlabot
- Automātiski atjauniniet ngrok adresi, izmantojot kukurūzu un Twilio CLI
- 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:
Laktors ar tiešraides ziņojumu, izmantojot tērzēšanas robotu: 4 soļi

Laktors ar tiešraides ziņojumu, izmantojot tērzēšanas robotu: izmantojot WhatsApp, saņemiet mainīgos (atrašanās vietu, augstumu, spiedienu …) no NodeMCU, kā pieprasīts, vai nosūtiet komandas NodeMCU, izmantojot Twilio API. Dažas nedēļas esmu strādājis ar Twilio API, īpaši WhatsApp ziņojumapmaiņai un pat izveidoja ap
Vairāk salātu audzēšana mazāk vietas vai Salātu audzēšana kosmosā, (vairāk vai mazāk): 10 soļi

Vairāk salātu audzēšana mazāk vietas vai … Salātu audzēšana kosmosā, (vairāk vai mazāk) .: Šis ir profesionāls iesniegums augošajai zemei, Maker Contest, kas iesniegts, izmantojot Instructables. Es nevarēju būt vairāk satraukti par to, ka plānoju kosmosa kultūraugu ražošanu un ievietoju savu pirmo Instructable. Lai sāktu, konkursā mums tika lūgts
Kā ierakstīt mobilās spēles, izmantojot balss tērzēšanas audio *bez saknes: 4 soļi

Kā ierakstīt mobilās spēles, izmantojot balss tērzēšanas audio lai ierakstītu balss tērzēšanu. Vai nu jūs varat ierakstīt savu balsi
Arduino balstīts bezkontakta infrasarkanais termometrs - Uz IR balstīts termometrs, izmantojot Arduino: 4 soļi

Arduino balstīts bezkontakta infrasarkanais termometrs | Uz IR balstīts termometrs, izmantojot Arduino: Sveiki puiši, šajā instrukcijā mēs izgatavosim bezkontakta termometru, izmantojot arduino. Tā kā dažreiz šķidruma/cietās vielas temperatūra ir pārāk augsta vai zema, un tad ir grūti ar to sazināties un izlasīt temperatūra tādā situācijā
Līdzsvarojošais robots / 3 riteņu robots / STEM robots: 8 soļi

Līdzsvarojošais robots / trīs riteņu robots / STEM robots: mēs esam izveidojuši kombinētu balansēšanas un trīsriteņu robotu, kas paredzēts lietošanai skolās un pēc skolas izglītības programmās. Robota pamatā ir Arduino Uno, pielāgots vairogs (visas konstrukcijas detaļas ir iekļautas), litija jonu akumulators (viss atbilst