CovBot - Chatbot Kulingana na WhatsApp ya Habari ya COVID 19 na Zaidi: Hatua 7
CovBot - Chatbot Kulingana na WhatsApp ya Habari ya COVID 19 na Zaidi: Hatua 7
Anonim
Image
Image
Unda Akaunti ya Twilio
Unda Akaunti ya Twilio

CoVbot ni mazungumzo rahisi na ya angavu ya Whatsapp. Kipengele kuu cha bot ni:

Inaweza kukupa hali ya hivi karibuni ya COVID-19 katika nchi ya chaguo kwa njia rahisi na ya angavu.

Kwa kuongeza, bot inaweza kupendekeza shughuli za kufurahisha kufanya NYUMBANI kama vile:

  1. Pendekeza Sinema - Sinema ya kutazama kutoka orodha ya sinema 10 Bora, na muhtasari mfupi wa njama na muda. Kwa kuwa orodha hii haijasajiliwa katika programu hii itakupa visasisho vipya kulingana na mwenendo wa sasa.
  2. Pendekeza kipindi cha Runinga - Kipindi cha Runinga cha kutazama kutoka vipindi maarufu vya Runinga, na muhtasari mfupi wa njama na ukadiriaji. Kwa kuwa orodha hii haijasajiliwa katika programu hii itakupa visasisho vipya kulingana na mwenendo wa sasa.
  3. Pendekeza Kitabu - Kitabu cha kusoma kutoka kwenye Orodha ya Vitabu 10 Bora, na blurb na picha ya kufunika ya kitabu.
  4. Kufanya mazoezi ya kila siku - Hii ni video-msingi wa ratiba ya mazoezi ya siku 7 iliyotolewa na mazoezi ya CRANK kwenye Akaunti yao ya Instagram.

Ikiwa unafurahiya Agizo hili, tafadhali fikiria kuipigia kura katika Mashindano ya Mwandishi wa Bidhaa ya Kwanza. (na ndio hii ni maagizo yangu ya kwanza kwa hivyo ikiwa kitu hakieleweki au kinahitaji maelezo zaidi tafadhali nifahamishe katika sehemu ya maoni na ninaweza kukusaidia nje:)

Vifaa

Mradi huu ni mradi unaotegemea programu, kwa hivyo mtu yeyote anayefuata hii anayefundishwa na Laptop / desktop PC / MacOS / Linux na mtandao anaweza kumaliza mradi huu. Nitajumuisha pia sehemu ya kina kama mwisho kuelezea nambari / mchakato kwa undani zaidi kwa watu walio na uzoefu wa programu, Tafadhali kumbuka hii haihitajiki kukamilisha mradi

Kiwango cha Ugumu wa Mradi:

Sio rahisi sana, lakini sio ngumu sana

Vifaa ambavyo tutatumia:

  • Laptop / desktop inayoendesha Windows / MacOS / Linux.
  • Simu ya rununu iliyo na WhatsApp Messenger imewekwa

Programu tutakayotumia:

  1. Lugha ya Programu ya Chatu
  2. ngrok - ni zana inayotumika kuturuhusu kufikia seva yetu kutoka nje ya mtandao wetu
  3. Mhariri wa chaguo lako: (k.m Notepad ++, Nakala Tukufu, Vim nk)

Hatua ya 1: Sakinisha Programu Inayotakiwa

Image
Image

Katika hatua hii tutakuwa tukifanya yafuatayo:

  1. Sakinisha Python> 3.6 na ujaribu
  2. Sakinisha maktaba za chatu zinazohitajika
  3. Sakinisha ngrok

Ikiwa umeweka programu zote mbili unaweza kuruka hatua hii

Sakinisha Python:

Msimbo mzima wa backend / server kwa mradi huu umeandikwa katika Python 3.6. Kwa hivyo kuendesha programu zetu tunahitaji kuwa na Python> 3.6 iliyosanikishwa kwenye kompyuta yetu. Fuata mafunzo kutoka kwa CoreySchafer juu ya jinsi ya kusanikisha chatu kwa Windows na MacOS

Unaweza kujaribu kila kitu kimewekwa kwa usahihi kwa kuandika zifuatazo kwenye cmd / Terminal:

chatu -c 'chapa (f "Hello World")'

Ikiwa kila kitu kiliwekwa kwa usahihi, basi Hello World inapaswa kuchapishwa kwenye skrini. Ukipata hitilafu batili ya sintaksia, basi una toleo lisilo sahihi la chatu iliyosanikishwa. Sakinisha toleo la chatu> = 3.6

Sakinisha maktaba za chatu zinazohitajika ukitumia bomba:

Tutatumia maktaba zifuatazo za chatu kufanya programu yetu ifanye kazi:

  1. Flask - Huu ndio mfumo wa seva yetu
  2. Twilio - Maktaba hii inatoa njia kwa chatu kuwasiliana na WhatsApp
  3. Ombi - Maktaba hii hutumiwa kuomba data kutoka kwa API
  4. BeautifulSoup4 - Maktaba hii hutumiwa kufuta habari kutoka kwa wavuti
  5. lxml - Maktaba hii hutumiwa pamoja na BeautifulSoup kutoa habari inayofaa kutoka kwa wavuti

Ili kufunga maktaba hizi unaweza kufanya yafuatayo:

Fungua CMD / Terminal na andika amri ifuatayo:

bomba funga chupa, twilio, ombi, beautifulsoup4, lxml

AU

Pakua faili ya mahitaji.txt na ufungue kituo kwenye saraka ambayo faili iko na andika:

bomba kufunga -r mahitaji.txt

Sakinisha ngrok

ngrok hukuruhusu kufunua seva inayoendesha kwenye mashine yako ya ndani kwenye wavuti. Sema tu ngrok seva yako inasikiliza bandari gani.

Inafuata mwongozo kwenye wavuti ya ngrok kusakinisha ngrok kwa mfumo wa uendeshaji unaotumia.

Kidokezo: Hatua ya 3 ya mwongozo haifai kwa mradi huu kwa hivyo inaweza kurukwa

Hatua ya 2: Unda Akaunti ya Twilio

Katika hatua hii tutakuwa tukifanya yafuatayo:

  1. Jisajili kwa Akaunti ya Twilio
  2. Utangulizi wa haraka wa sehemu muhimu kwenye Dashibodi ya Twilio

Jisajili:

Katika mradi huu, tutatumia Twilio Whatsapp API kuunganisha programu yetu ya chatu na Whatsapp. Ili kuweza kutumia Twilio API tunahitaji kwanza kuunda akaunti kwenye wavuti rasmi ya Twilio. Kwa akaunti ya majaribio Twilio anatupatia deni ya bure ya $ 15 kwetu.

Utangulizi wa Haraka:

Mara tu ukiunda akaunti, Sehemu zinazovutia zaidi za kiwambo cha Twilio cha mradi huu ni:

Dashibodi - Kutoka kwenye dashibodi, unaweza kuona kiwango cha mkopo ambacho bado umebaki nacho, unaweza kuhariri jina la mradi wako na ubadilishe lugha ya programu

Sehemu ndogo ya Whatsapp katika sehemu ya SMS inayopangwa - Kutoka kwa sehemu ya Whatsapp ya dashibodi, unaweza kupata nambari ya kujiunga na bot, idadi ya Whatsapp tutakayotumia katika mradi huo kuzungumza na bot yetu na pia kuanzisha kitanzi. Maelezo zaidi juu ya haya yote yataelezewa katika hatua zifuatazo

Hatua ya 3: Pata Ufunguo wa API wa Takwimu za COVID 19, Sinema na Kipindi cha Runinga

Pata Ufunguo wa API wa Takwimu za COVID 19, Sinema na Kipindi cha Runinga
Pata Ufunguo wa API wa Takwimu za COVID 19, Sinema na Kipindi cha Runinga
Pata Ufunguo wa API wa Takwimu za COVID 19, Sinema na Kipindi cha Runinga
Pata Ufunguo wa API wa Takwimu za COVID 19, Sinema na Kipindi cha Runinga

Kitufe cha API au ufunguo wa interface ya programu ni msimbo ambao hupitishwa na matumizi ya kompyuta. Mpango au programu hiyo basi huita API au kiolesura cha programu ya programu kutambua mtumiaji wake, msanidi programu au mpango wa kupiga simu kwenye wavuti.

Tunatumia API kupata habari kwa Hali ya hivi karibuni ya COVID 19, Sinema na Maonyesho ya Runinga. Ili kufikia API unahitaji ufunguo ambao ni wa kibinafsi kwa kila mtumiaji. Katika hatua hii, tutapata funguo hizi

Pata Ufunguo wa API wa Takwimu za COVID 19:

  • Ingia au jiandikishe kwa akaunti yako ya RapidAPI.
  • Baada ya hapo nenda kwa COVID-19 API na Gramzivi
  • Nenda chini kwenye sehemu ya "Vigezo vya Kichwa" ya kiweko cha API.
  • Ufunguo wako wa API unapaswa kuonekana katika uwanja wa "X-RapidAPI-Key".

Pata Ufunguo wa API wa sinema na data ya kipindi cha televisheni:

  • Ingia au jiandikishe kwa akaunti yako ya TMDB
  • Baada ya hapo nenda kwenye mpangilio wako - API
  • Nenda chini hadi kwenye sehemu "Ufunguo wa API (v3 auth)"
  • Kitufe chako cha API kinapaswa kuonekana chini yake

Unda faili ya "config.py"

Sasa tutaunda faili ya config.py kuhifadhi funguo zetu za API. Tunatengeneza faili tofauti kwa hizi, sababu funguo za API ni habari ya siri na ikiwa unashiriki mradi wako haupaswi kushiriki ufunguo wako wa API.

  • Unda saraka mpya ya mradi
  • Ndani ya saraka mpya iliyoundwa tengeneza faili mpya inayoitwa "config.py"
  • Hariri faili hii na mhariri wa chaguo lako (Sublime, Notepad ++) na unakili na ubadilishe maandishi yafuatayo na habari inayofaa iliyopatikana katika hatua ya awali:

kikao_key = "siri" #Hii sio salama.. lakini kwa jaribio tu ni sawa

rapid_api_key = "" api_key = ""

Hifadhi faili

Hatua ya 4: Unganisha Python na Twilio Via Ngrok

Katika hatua hii tutafanya yafuatayo:

  1. Pakua nambari ya chanzo
  2. Tekeleza programu hiyo na usambaze IP ya ndani kwa anwani ya umma kupitia ngrok ili tuweze kutoa ombi kwake
  3. Sanidi akaunti yetu ya Twilio kupeleka ombi kwa seva yetu

Pakua nambari ya chanzo ya bot:

Pakua faili yote iliyoambatanishwa katika usanidi huu kwenye saraka ya mradi iliyoundwa katika hatua ya mwisho.

Tekeleza programu:

Nenda kwenye saraka ya nambari ya chanzo kwenye CMD / terminal na utekeleze amri ifuatayo:

chatu server_main.py

Hakikisha kuwa na "config.py" ambayo tuliunda katika hatua ya mwisho la sivyo utapata hitilafu

Pato linapaswa kuwa kitu kama hiki:

* Kutumikia programu ya Flask "server_main" (upakiaji wavivu)

* Mazingira: uzalishaji ONYO: Hii ni seva ya maendeleo. Usitumie katika upelekaji wa uzalishaji. Tumia seva ya uzalishaji ya WSGI badala yake. * Njia ya utatuzi: imewashwa * Kuendesha https:// 127.0.0.1: 52/0 (Bonyeza CTRL + C kuacha) * Kuanzisha tena na stat * Debugger inafanya kazi! * PIN ya Kutatua: 740-257-236

Hii inamaanisha seva yako inaendesha kwa usahihi kwenye mtandao wako wa karibu kwenye bandari 5000. Ili kuifanya seva hii ipatikane kutoka nje ya mtandao wako tutatumia ngrok

Sambaza IP ya ndani kwa anwani ya umma kupitia ngrok

Nenda kwenye saraka ambapo umepakua ngrok kupitia CMD / terminal na utekeleze amri ifuatayo:

ngrok http 5000

Pato linapaswa kuwa kitu kama hiki:

ngrok na @inconshreveable (Ctrl + C kuacha)

Hali ya Kikao mkondoni Kikao kinaisha masaa 7, dakika 59 Toleo 2.3.35 Mkoa wa Merika (sisi) Kiolesura cha Mtandao https:// 127.0.0.1: 4040 Usambazaji _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Kusambaza _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Connections ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00

Nakili kiunga cha HTTP kutoka sehemu ya "Forwading" (mpaka ngrok.io). (Nimeongeza _ katika mfano huu ili kuepuka kufundisha kuikamata kama kiunga)

Sanidi Twilio kutumia anwani mpya kupeleka ombi la seva kwa:

Sasa kwa kuwa tumefanikiwa kupeleka seva yetu kupatikana hadharani tunahitaji kusanidi Twilio kama vile ombi linapotolewa kwa kutumia Twilio Whatsapp API tunasambaza ombi kwa seva yetu. Ili kufanya hivyo tunahitaji kufanya yafuatayo:

  1. Nenda kwenye sehemu ya Whatsapp kwenye Dashibodi ya Twilio
  2. Nenda kwenye kifungu cha "Sanbox"
  3. Katika sanduku la maandishi "WAKATI WA UJUMBE UNAPOKUJA" weka kiunga cha HTTP kutoka kwa ngrok iliyonakiliwa na kiendelezi cha / sms (USIITE NAKILI _ mwanzoni na mwisho):

_https://d44c955749bf.ngrok.io/sms_

Sasa kila kitu kwa chatbot kimewekwa. Katika hatua inayofuata, tunaweza kujaribu ikiwa kila kitu kinafanya kazi kwa usahihi

Hatua ya 5: Jaribu Maombi yetu

Jaribu Maombi Yetu
Jaribu Maombi Yetu
Jaribu Maombi Yetu
Jaribu Maombi Yetu
Jaribu Maombi Yetu
Jaribu Maombi Yetu

Katika hatua hii tutafanya yafuatayo:

  1. Jiunge na bot yetu ukitumia nambari ya ufikiaji
  2. Jaribu maombi yetu

Jiunge na bot yetu ukitumia nambari ya ufikiaji

Katika mradi huu, tutatumia Nambari ya Sandbox ya Whatsapp ya Twilio kwa bot yetu ya Whatsapp. Kwa kila mtu, nambari hii itakuwa tofauti. Unaweza kupata nambari yako kama hii:

  • Ingia kwenye Akaunti yako ya Twilio
  • Nenda kwa Twilio Console -> Sehemu ya Whatsapp -> Sandbox
  • Utaona nambari yako ya Twilio Sandbox na maandishi yafuatayo:

Alika marafiki wako kwenye Sandbox yako. Waulize watume ujumbe wa WhatsApp kwa:

Kwa sababu ya sera ya usalama ya Whatsapp, kila mtu ambaye anataka kuzungumza na bot ya kiotomatiki kupitia Whatsapp anahitaji kuchagua wazi kutumia nambari. Unaweza kujua nambari yako kwa kuangalia katika sehemu sawa na nambari yako ya sanduku la mchanga la Twilio na maandishi:

Baada ya kupata Nambari yako ya Twilio Sandbox Whatsapp na nambari ya kuingia, kuanza kutumia bot kwenda kwa simu yako ya rununu na kufanya yafuatayo:

  1. Hifadhi Nambari ya Whatsapp ya Twilio Sandbox kwenye anwani yako na jina lako unalochagua (kwa mfano CovBot)
  2. Fungua Whatsapp na utume ujumbe ufuatao kwa mawasiliano huyo:

jiunge

Unapaswa kuona ujumbe kama huu:

Sandbox ya Twilio: Yako yote yamewekwa….

Hii inamaanisha umeunganisha na bot yako na uko tayari kuiuliza qs

Jaribu programu yetu:

Ili kujaribu huduma anuwai ya bot yako baada ya kushikamana tuma ujumbe ufuatao kwa bot:

Halo

Unapaswa kuona maandishi yafuatayo:

Karibu kwenye CoVbot!

Gumzo rahisi ambayo inaweza kutoa sasisho za hivi karibuni za COVID-19 kwa njia rahisi, haraka na rahisi. Kwa kuwa sote tumetengwa, bot inaweza kutumiwa kupendekeza shughuli kadhaa za kufurahisha kutumia vizuri wakati wetu nyumbani tunapojitahidi kujiweka salama, marafiki na familia salama. Tunatumahi unafurahiya na kuiona kuwa muhimu! Tuma 4 ili uanze!

Sasa unaweza kufuata chaguo kujaribu huduma tofauti za bot.

NDIO HAYO! Whatsapp Chatbot yako iko tayari !!!! Hongera

Hatua ya 6: Inafanyaje Kazi na Uboreshaji wa Baadaye:

Inafanyaje Kazi na Uboreshaji wa Baadaye
Inafanyaje Kazi na Uboreshaji wa Baadaye
Inafanyaje Kazi na Uboreshaji wa Baadaye
Inafanyaje Kazi na Uboreshaji wa Baadaye
Inafanyaje Kazi na Uboreshaji wa Baadaye
Inafanyaje Kazi na Uboreshaji wa Baadaye
Inafanyaje Kazi na Uboreshaji wa Baadaye
Inafanyaje Kazi na Uboreshaji wa Baadaye

Sehemu hii ni ya watu ambao wana uzoefu wa programu ya chatu. Usipofanya hivyo unaweza kuruka sehemu hii

Maelezo ya Kanuni

Kitanzi kuu:

Wakati ujumbe wa Whatsapp unatumwa kwa nambari yako ya Twilio, Twilio API inafanya ombi la POST kwa seva yako uliyobainisha. Seva inatekelezwa kwa kutumia mfumo wa Flask na kwa hivyo tunaweza kutumia kitu cha Ombi la Flask kupata data iliyopokelewa wakati wa ombi la POST. Kulingana na data (Nambari katika kesi hii) tunaamua chaguo gani mtumiaji amechagua na kutoa habari inayofaa

Takwimu za COVID na Sinema na Maonyesho ya Runinga:

Takwimu za 19, Filamu na Maonyesho ya Televisheni ya COVID hurejeshwa kutoka kwa API. Ninatumia ombi la maktaba ya chatu kupata data na kisha kuibadilisha kuwa fomati ya JSON. Kisha mimi huchunguza habari inayofaa. Kwa kipindi cha Sinema na Televisheni, nilitumia pia maktaba ya chatu isiyo ya kawaida kuchagua kipindi cha Runinga na Kisasa

Maelezo ya Kitabu

Algorithm ya pendekezo la kitabu iliyotumiwa katika mradi huo ni kichocheo cha wavuti tu. Sikuweza kupata API yoyote ambayo inakupa kitabu bila mpangilio na maelezo, kwa hivyo mimi hufuta tu tovuti kwa kutumia BeautifulSoup4 na kutumia kichunguzi cha lxml ninatoa habari inayofaa ya kitabu

Maelezo ya Menyu ndogo:

Utekelezaji wa menyu-ndogo ulikuwa gumu kidogo kuliko zingine kwani ujumbe wa Whatsapp ni kama SMS ambazo ni itifaki isiyo na utaifa. Ili kutatua hili nimetumia mbinu mbili:

  1. Kutumia Vigeuzo vya Ulimwenguni kukumbuka hali ya ujumbe - Hii inatekelezwa tu kwa chaguo-ndogo la COVID 19. Katika hili wakati mtumiaji anachagua "Hali ya COVID 19 katika chaguo la nchi yangu" ubadilishaji wa ulimwengu unaopewa jina incomplete_message umewekwa kuwa Kweli kuonyesha kisha ujumbe mwingine kulingana na chaguo la awali bado unahitajika. Halafu kuna hundi mwanzoni ambayo huangalia ikiwa ujumbe umewekwa alama kutokamilika ikiwa inachukua kuwa ujumbe ni jina la nchi kwa data ya COVID na hupitisha habari hiyo kwa kazi sahihi na kuweka ujumbe usiokamilika wa ulimwengu kuwa Uongo
  2. Kutumia Vidakuzi vya Twilio na Vipindi vya Flask - Vidakuzi na Vipindi vya Flask hutumiwa katika menyu ndogo ya "Pendekeza Shughuli ya Kutenga" kutekeleza ustadi, kama vile programu yoyote ya wavuti kwenye wavuti hutumia siku hizi, lakini badala ya kukumbuka vitu kama jina lako la mtumiaji au akaunti inakumbuka uongofu kati ya nambari mbili. Ikiwa ungependa habari zaidi juu ya sehemu hii nilipendekeza kusoma mwongozo huu mzuri kwenye Vidakuzi vya Twilio vilivyoandikwa na Timu ya Twilio

Maboresho ya Baadaye:

  1. Tumia Uelekezaji wa Object ya Swala na Sampuli za Kubuni ili kuboresha usanifu wa nambari na Ukavu
  2. Ondoa anuwai za ulimwengu
  3. Kushughulikia Makosa kunaweza kuboreshwa
  4. Sasisha kiatomati anwani ya ngrok ukitumia mahindi na Twilio CLI
  5. Nyaraka za Kanuni

Hatua ya 7: Vidokezo vya Mwisho

Natumahi nyote mnapenda mradi huu. Huu ndio mafunzo yangu ya kwanza, kwa hivyo ikiwa kitu kisicho wazi au kinahitaji maelezo zaidi nifahamishe katika sehemu ya maoni, na ninaweza kukusaidia. Pia ikiwa ulifanya mradi huu kwa mbinu tofauti au orodha ya huduma wote washiriki

Ilipendekeza: