Мазмұны:

CovBot - WhatsApp негізіндегі WhatsApp 19 чатына арналған чатбот және тағы басқалар: 7 қадам
CovBot - WhatsApp негізіндегі WhatsApp 19 чатына арналған чатбот және тағы басқалар: 7 қадам

Бейне: CovBot - WhatsApp негізіндегі WhatsApp 19 чатына арналған чатбот және тағы басқалар: 7 қадам

Бейне: CovBot - WhatsApp негізіндегі WhatsApp 19 чатына арналған чатбот және тағы басқалар: 7 қадам
Бейне: CoVbot - A Simple WhatsApp Chatbot For Latest COVID 19 Status Demo 2024, Желтоқсан
Anonim
Image
Image
Twilio есептік жазбасын жасаңыз
Twilio есептік жазбасын жасаңыз

CoVbot - бұл WhatsApp -қа негізделген қарапайым және интуитивті чат -бот. Боттың басты ерекшелігі:

Ол сізге таңдаған елдегі COVID-19 соңғы мәртебесін қарапайым және интуитивті түрде бере алады.

Сонымен қатар, бот үйдегі қызықты әрекеттерді ұсына алады, мысалы:

  1. Фильм ұсыну - Үздік 10 фильмдер тізімінен көруге болатын фильм, сюжеті мен ұзақтығы туралы қысқаша шолу. Бұл тізім бағдарламалық жасақтамада кодталмағандықтан, ол сізге ағымдағы үрдістерге негізделген ең соңғы жаңартуларды береді.
  2. Телешоуды ұсыныңыз - сюжет пен рейтингтердің қысқаша шолуы бар ең танымал телешоуларды көруге арналған телешоу. Бұл тізім бағдарламалық жасақтамада кодталмағандықтан, ол сізге ағымдағы тенденцияларға негізделген ең соңғы жаңартуларды береді.
  3. Кітап ұсыныңыз - Кітаптың ашық және мұқабалық суреті бар үздік 10 кітап тізімінен оқылатын кітап.
  4. Күнделікті жаттығулар-бұл CRANK спортзалының Instagram-дағы аккаунтында ұсынылған 7 күндік жаттығу кестесіне негізделген бейне.

Егер сіз осы нұсқаулықты ұнатсаңыз, оған авторлардың бірінші конкурсында дауыс беруді қарастырыңыз. (иә, бұл менің бірінші нұсқаулығым, егер бірдеңе түсініксіз болса немесе қосымша түсініктеме қажет болса, түсініктеме бөлімінде маған хабарлаңыз, мен сізге көмектесе аламын:)

Жабдықтар

Бұл жоба тек бағдарламалық жасақтамаға негізделген жоба, сондықтан кез келген адам бұл нұсқаулықты ноутбук/жұмыс үстелі/macOS/Linux және интернет арқылы орындаса болады. Мен сонымен қатар бағдарламалау тәжірибесі бар адамдарға кодты/процесті егжей -тегжейлі түсіндіру үшін егжей -тегжейлі бөлімді қосамын, бұл жобаны аяқтау үшін қажет емес екенін ескеріңіз.

Жобаның қиындық деңгейі:

Өте оңай емес, бірақ өте қиын емес

Біз қолданатын аппараттық құралдар:

  • Windows/macOS/Linux жүйесінде жұмыс істейтін ноутбук/жұмыс үстелі.
  • WhatsApp мессенджері орнатылған ұялы телефон

Біз қолданатын бағдарламалық қамтамасыз ету:

  1. Python бағдарламалау тілі
  2. ngrok - бұл біздің серверге желіден тыс кіруге мүмкіндік беретін құрал
  3. Сіз таңдаған редактор: (мысалы, блокнот ++, жоғары мәтін, Vim және т.

1 -қадам: Қажетті бағдарламалық жасақтаманы орнатыңыз

Image
Image

Бұл қадамда біз келесі әрекеттерді орындаймыз:

  1. Python> 3.6 орнатыңыз және оны тексеріңіз
  2. Қажетті питон кітапханаларын орнатыңыз
  3. Ngrok орнатыңыз

Егер сізде екі бағдарлама да орнатылған болса, сіз бұл қадамды өткізіп жібере аласыз

Python орнату:

Бұл жобаның барлық артқы/серверлік коды Python 3.6 -да жазылған. Сондықтан қосымшаларды іске қосу үшін біздің компьютерде Python> 3.6 орнатылуы керек. Windows пен macOS үшін python орнату туралы CoreySchafer оқулығын орындаңыз

Сіз cmd/Terminal ішіне келесіні енгізу арқылы барлық нәрсенің дұрыс орнатылғанын тексере аласыз:

python -c 'print (f «Hello World»)

Егер бәрі дұрыс орнатылған болса, онда Hello World экранда басылуы керек. Егер сіз жарамсыз синтаксистік қате алсаңыз, онда сізде python қате нұсқасы орнатылған. Python> = 3.6 нұсқасын орнатыңыз

Pip көмегімен қажетті python кітапханаларын орнатыңыз:

Біз бағдарламалық жасақтаманы жұмыс істеу үшін келесі питон кітапханаларын қолданамыз:

  1. Шыныаяқ - бұл біздің сервердің негізі
  2. Twilio - Бұл кітапхана питонға WhatsApp -пен байланыс орнатуға мүмкіндік береді
  3. Сұраныс - бұл кітапхана API -ден деректерді сұрау үшін қолданылады
  4. BeautifulSoup4 - Бұл кітапхана веб -сайттардан ақпаратты алу үшін қолданылады
  5. lxml - Бұл кітапхана сайттан тиісті ақпаратты алу үшін BeautifulSoup -пен бірге қолданылады

Бұл кітапханаларды орнату үшін келесі әрекеттерді орындауға болады:

CMD/Terminal ашыңыз және келесі пәрменді теріңіз:

pip колбасы, твилио, сұраныс, beautifulsoup4, lxml

НЕМЕСЕ

Requirements.txt файлын жүктеңіз және файл орналасқан каталогта терминалды ашыңыз және теріңіз:

pip install -r талаптар.txt

Ngrok орнатыңыз

ngrok сізге жергілікті компьютерде жұмыс істейтін серверді Интернетке шығаруға мүмкіндік береді. Тек ngrok -ке сіздің сервер қандай порт тыңдайтынын айтыңыз.

Ngrok веб -сайтындағы нұсқаулықты қолданып, ngrok сіз қолданатын операциялық жүйеге орнатылады.

Кеңес: Нұсқаулықтың 3 -қадамы бұл жобаға қатысы жоқ, сондықтан өткізіп жіберуге болады

2 -қадам: Twilio есептік жазбасын жасаңыз

Бұл қадамда біз келесі әрекеттерді орындаймыз:

  1. Twilio есептік жазбасына тіркелу
  2. Twilio консолінің пайдалы бөлімдеріне жылдам кіріспе

Тіркелу:

Бұл жобада біз Twilio Whatsapp API көмегімен питон бағдарламамызды Whatsapp -қа қосамыз. Twilio API пайдалану үшін алдымен Twilio ресми сайтында тіркелгі жасау керек. Twilio сынақ шоты үшін бізге $ 15 тегін несие ұсынады.

Жылдам кіріспе:

Сіз есептік жазбаны жасағаннан кейін, Twilio консолінің осы жобаның ең қызықты бөлімдері:

Бақылау тақтасы - Бақылау тақтасынан сіз әлі де қалған несие көлемін көре аласыз, сіз жобаның атауын өңдей аласыз және бағдарламалау тілін өзгерте аласыз.

Бағдарламаланатын SMS бөліміндегі Whatsapp қосалқы бөлімі - Консольдің Whatsapp бөлімінен сіз ботқа қосылу кодына, біздің ботпен сөйлесу үшін жобада қолданатын Whatsapp нөміріне қол жеткізе аласыз, сонымен қатар веб -ілгекті баптай аласыз.. Мұның бәрі туралы толығырақ келесі қадамдарда сипатталатын болады

3 -қадам: COVID 19 деректері, фильмдері мен телешоулары үшін API кілтін алыңыз

COVID 19 деректері, фильмдер мен телешоулар үшін API кілтін алыңыз
COVID 19 деректері, фильмдер мен телешоулар үшін API кілтін алыңыз
COVID 19 деректері, фильмдер мен телешоулар үшін API кілтін алыңыз
COVID 19 деректері, фильмдер мен телешоулар үшін API кілтін алыңыз

API кілті немесе қолданбалы бағдарламалау интерфейсінің кілті - бұл компьютерлік қосымшалар жіберетін код. Бағдарлама немесе қосымша қолданушыны, әзірлеушіні немесе веб -сайтқа қоңырау шалатын бағдарламаны анықтау үшін API немесе қолданбалы бағдарламалау интерфейсін шақырады.

Біз COVID -19 соңғы күйі, фильмдер мен телешоулар туралы ақпарат алу үшін API қолданамыз. API -ге кіру үшін әр пайдаланушыға жеке кілт қажет. Бұл қадамда біз осы кілттерді аламыз

COVID 19 деректері үшін API кілтін алыңыз:

  • RapidAPI есептік жазбасына кіріңіз немесе тіркеліңіз.
  • Осыдан кейін Gramzivi ұсынған COVID-19 API-ге өтіңіз
  • API консолінің «Тақырып параметрлері» бөліміне төмен қарай айналдырыңыз.
  • Сіздің API кілтіңіз «X-RapidAPI-кілті» өрісінде көрінуі керек.

Фильмдер мен телешоу деректері үшін API кілтін алыңыз:

  • TMDB есептік жазбасына кіріңіз немесе тіркеліңіз
  • Осыдан кейін параметрлерге өтіңіз - API
  • «API кілті (v3 авторизациясы)» бөліміне төмен қарай айналдырыңыз.
  • Сіздің API кілтіңіз оның астында көрінуі керек

«Config.py» файлын жасаңыз

Енді API кілттерін сақтау үшін config.py файлын жасаймыз. Біз олар үшін бөлек файл жасаймыз, себебі API кілттері құпия ақпарат болып табылады және егер сіз өз жобаңызбен бөліссеңіз, API кілтін бөліспеуіңіз керек.

  • Жаңа жоба каталогын жасаңыз
  • Жаңадан құрылған каталог ішінде «config.py» деп аталатын жаңа файл жасаңыз.
  • Бұл файлды өзіңіз қалаған редактормен өңдеңіз (Sublime, Notepad ++) және келесі мәтінді алдыңғы қадамда алынған сәйкес ақпаратпен көшіріңіз және ауыстырыңыз:

session_key = «құпия» #Бұл қауіпсіз емес.. бірақ тест үшін бұл жақсы

rapid_api_key = «» api_key = «»

Файлды сақтаңыз

4 -қадам: Python мен Twilio арқылы Ngrok қосыңыз

Бұл қадамда біз келесі әрекеттерді орындаймыз:

  1. Бастапқы кодты жүктеңіз
  2. Бағдарламаны орындаңыз және ngrok арқылы ашық IP мекенжайына жергілікті IP жіберіңіз, осылайша біз оған сұраныс жасай аламыз
  3. Сұранысты серверге жіберу үшін Twilio есептік жазбасын конфигурациялаңыз

Боттың бастапқы кодын жүктеңіз:

Осы қондырғыда тіркелген барлық файлды соңғы қадамда жасалған жоба каталогына жүктеңіз.

Бағдарламаны орындаңыз:

CMD/терминалда бастапқы код каталогына өтіп, келесі пәрменді орындаңыз:

python server_main.py

Соңғы қадамда жасаған «config.py» бар екеніне көз жеткізіңіз, әйтпесе сіз қате аласыз

Шығару келесідей болуы керек:

* «Server_main» Flask қосымшасына қызмет көрсету (жалқау жүктеу)

* Қоршаған орта: өндіріс ЕСКЕРТУ: Бұл әзірлеу сервері. Оны өндірісте қолдануға болмайды. Оның орнына өндірістік WSGI серверін қолданыңыз. * Отладка режимі: қосулы * https://127.0.0.1:5000/ жұмыс істейді (шығу үшін CTRL+C пернелерін басыңыз) * stat көмегімен қайта іске қосу * Отладчик белсенді! * Жөндеуші PIN коды: 740-257-236

Бұл сіздің сервер 5000 жергілікті портта дұрыс жұмыс істейтінін білдіреді. Бұл серверге жергілікті желіден тыс қатынау үшін біз ngrok қолданамыз.

Ngrok арқылы ашық IP мекенжайына IP жіберіңіз

CMD/терминал арқылы ngrok жүктелген каталогқа өтіңіз және келесі пәрменді орындаңыз:

ngrok http 5000

Шығару келесідей болуы керек:

ngrok @inconshreveable (шығу үшін Ctrl+C)

Сессия күйінің онлайн режиміндегі сессиясы 7 сағат 59 минут аяқталады 2.3.35 нұсқасы Америка Құрама Штаттары (АҚШ) веб -интерфейсі https://127.0.0.1:4040 бағыттау _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Қайта бағыттау _https://d44c955749bf.ngrok.io_ -> _https:// localhost: 5000_ Қосылымдар ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00

HTTP сілтемесін «Forwading» бөлімінен көшіріңіз (ngrok.io дейін). (Мен сілтеме ретінде ұстауды болдырмау үшін осы мысалда _ қостым)

Twilio бағдарламасын сервер сұранысын жіберу үшін жаңа мекенжайды пайдалану үшін теңшеңіз:

Енді біз өз серверімізді көпшілікке қол жетімді түрде жібердік, біз Twilio -ны конфигурациялауымыз керек, осылайша Twilio Whatsapp API көмегімен сұраныс жасалған кезде біз сұранысты біздің серверге жібереміз. Ол үшін бізге келесі әрекеттерді орындау қажет:

  1. Twilio консоліндегі Whatsapp бөліміне өтіңіз
  2. «Sanbox» бөліміне өтіңіз
  3. «Хабарлама келген кезде» мәтіндік жәшігіне /sms кеңейтімімен көшірілген ngrok -тан HTTP сілтемесін қойыңыз (_ -ді басында және соңында КӨШІРМЕҢІЗ):

_https://d44c955749bf.ngrok.io/sms_

Енді чат -ботқа барлығы орнатылды. Келесі қадамда біз бәрі дұрыс жұмыс істейтінін тексере аламыз

5 -қадам: Біздің қосымшаны тексеріңіз

Біздің қосымшаны тексеріңіз
Біздің қосымшаны тексеріңіз
Біздің қосымшаны тексеріңіз
Біздің қосымшаны тексеріңіз
Біздің қосымшаны тексеріңіз
Біздің қосымшаны тексеріңіз

Бұл қадамда біз келесі әрекеттерді орындаймыз:

  1. Кіру кодын пайдаланып біздің ботқа қосылыңыз
  2. Біздің қосымшаны қолданып көріңіз

Кіру кодын пайдаланып біздің ботқа қосылыңыз

Бұл жобада біз Whatsil ботына Twilio Whatsapp Sandbox нөмірін қолданамыз. Әр адам үшін бұл сан әр түрлі болады. Сіз өз нөміріңізді келесідей таба аласыз:

  • Twilio есептік жазбаңызға кіріңіз
  • Twilio Console -> Whatsapp бөліміне -> Sandbox тармағына өтіңіз
  • Сіз Twilio Sandbox нөмірін келесі мәтінмен көресіз:

Достарыңызды құм жәшігіне шақырыңыз. Олардан WhatsApp хабарламасын жіберуді сұраңыз:

Whatsapp-тың қауіпсіздік саясатына байланысты, Whatsapp арқылы автоматтандырылған ботпен сөйлескісі келетіндердің барлығына кодты қолдану қажет. Сіз өзіңіздің кодыңызды Twilio құм жәшігінің нөмірімен мәтінді қамтитын бөлімде қарап біле аласыз:

Сіз өзіңіздің Twilio Sandbox Whatsapp нөмірін және қосылу кодын алғаннан кейін, ботты қолдануды бастау үшін ұялы телефонға өтіп, келесі әрекеттерді орындаңыз:

  1. «Twilio Sandbox Whatsapp нөмірін» контактіге таңдаған атыңызбен сақтаңыз (мысалы, CovBot)
  2. Whatsapp ашыңыз және контактіге келесі хабарламаны жіберіңіз:

қосылу

Сіз келесідей хабарды көруіңіз керек:

Twilio Sandbox: бәрі дайын ….

Бұл сіздің ботқа қосылғаныңызды және оны qs сұрауға дайын екеніңізді білдіреді

Біздің қосымшаны қолданып көріңіз:

Боттың әр түрлі мүмкіндіктерін тексеру үшін қосқаннан кейін ботқа келесі хабарды жіберіңіз:

Сәлем

Сіз келесі мәтінді көруіңіз керек:

CoVbot -қа қош келдіңіз!

Ковид-19 туралы соңғы жаңартуларды қарапайым, жылдам және қарапайым түрде бере алатын қарапайым чатбот. Барлығымыз карантинге жатқызылғандықтан, бот үйде уақытты тиімді өткізу үшін бірнеше қызықты іс -шараларды ұсынуға болады, өйткені біз өзімізді, достарымызды және отбасымызды қауіпсіз етуге тырысамыз. Сізге ұнайды және пайдалы болады деп үміттенеміз! Бастау үшін 4 жіберіңіз!

Енді сіз боттың әр түрлі мүмкіндіктерін сынап көру үшін опцияны қолдана аласыз.

МІНЕ БІТТІ! Whatsapp чатботыңыз дайын !!!! Құттықтаймын

6 -қадам: Бұл қалай жұмыс істейді және болашақта жетілдіру:

Бұл қалай жұмыс істейді және болашақта жетілдіру
Бұл қалай жұмыс істейді және болашақта жетілдіру
Бұл қалай жұмыс істейді және болашақта жетілдіру
Бұл қалай жұмыс істейді және болашақта жетілдіру
Бұл қалай жұмыс істейді және болашақта жетілдіру
Бұл қалай жұмыс істейді және болашақта жетілдіру
Бұл қалай жұмыс істейді және болашақта жетілдіру
Бұл қалай жұмыс істейді және болашақта жетілдіру

Бұл бөлім python бағдарламалау тәжірибесі бар адамдарға арналған. Егер бұл болмаса, сіз бұл бөлімді өткізіп жібере аласыз

Кодты түсіндіру

Негізгі цикл:

Сіздің Twilio нөміріңізге Whatsapp хабарламасы жіберілген кезде, Twilio API серверге сіз көрсеткен POST сұрауын жібереді. Сервер Flask құрылымының көмегімен жүзеге асады, сондықтан біз POST сұранысы кезінде алынған деректерді алу үшін Flask Request объектісін пайдалана аламыз. Деректерге сүйене отырып (бұл жағдайда сандар) біз пайдаланушының қандай опцияны таңдағанын шешеміз және сәйкес ақпаратты береміз

COVID туралы деректер мен фильмдер мен телешоулар:

COVID 19, фильмдер мен телешоулар туралы деректер API -ден алынады. Мен деректерді алу үшін python кітапханасының сұранысын қолданамын, содан кейін оны JSON форматына түрлендіремін. Содан кейін мен тек тиісті ақпаратты талдаймын. Фильмдер мен телешоулар үшін мен кездейсоқ питон кітапханасын кездейсоқ телешоу мен фильмді таңдау үшін қолдандым

Кітап туралы мәліметтер

Жобада қолданылатын кітап ұсыну алгоритмі - бұл веб -қырғыш. Мен сізге кездейсоқ кітап беретін егжей -тегжейлі API таба алмадым, сондықтан мен BeautifulSoup4 көмегімен веб -сайтты алып тастаймын және lxml талдағышты пайдаланып, кітаптың тиісті ақпаратын шығарамын.

Ішкі мәзір туралы мәліметтер:

Қосымша мәзірлерді енгізу басқаларға қарағанда біршама қиын болды, өйткені Whatsapp хабарламалары азаматтығы жоқ протоколға ұқсас SMS-ке ұқсайды. Бұл мәселені шешу үшін мен екі техниканы қолдандым:

  1. Хабардың күйін есте сақтау үшін жаһандық айнымалыларды қолдану - бұл тек COVID 19 қосалқы нұсқасы үшін қолданылады. Бұл жағдайда пайдаланушы «Менің елімдегі COVID 19 күйі опциясын» таңдаған кезде, толық емес_мессаж деп аталатын жаһандық айнымалы мән «True» мәніне орнатылады, содан кейін бұрынғы опцияға негізделген басқа хабар алмасу қажет болады. Содан кейін бастапқыда хабарлама толық емес деп белгіленетінін тексеретін тексеру бар, егер ол хабарлама COVID деректерінің елінің атауын қабылдайды және ақпаратты дұрыс функцияға береді және жаһандық айнымалы толық емес хабарды жалған етіп қояды.
  2. Twilio cookie файлдары мен колбалар сеанстарын қолдану - Cookie файлдары мен колбалар сеанстары «карантиндік әрекетті ұсыныңыз» ішкі мәзірінде күйді қамтамасыз ету үшін қолданылады, дәл қазір интернеттегі кез келген веб -қосымшалар оны пайдаланатын сияқты, бірақ пайдаланушы аты сияқты нәрселерді есте сақтаудың орнына. немесе ол екі сан арасындағы түрлендіруді еске түсіреді. Егер сізге осы бөлім туралы қосымша ақпарат қажет болса, мен Twilio тобы жазған Twilio cookie файлдары бойынша осы керемет нұсқаулықты оқуды ұсындым.

Болашақ жақсартулар:

  1. Python мен Design Patterns объектілеріне бағдарлануды код архитектурасы мен DRYness жақсарту үшін қолданыңыз
  2. Жаһандық айнымалыларды жою
  3. Қателерді өңдеуді жақсартуға болады
  4. Жүгері мен Twilio CLI көмегімен ngrok мекенжайын автоматты түрде жаңартыңыз
  5. Кодтық құжаттама

7 -қадам: Қорытынды жазбалар

Бұл жоба бәріңізге ұнайды деп сенемін. Бұл менің бірінші нұсқаулығым, сондықтан егер бірдеңе түсініксіз болса немесе қосымша түсініктеме қажет болса, түсініктеме бөлімінде маған хабарлаңыз, мен сізге көмектесе аламын. Егер сіз бұл жобаны басқа техникамен немесе мүмкіндіктер тізімімен жасаған болсаңыз, оны бөлісіңіз

Ұсынылған: