Мазмұны:
- Жабдықтар
- 1 -қадам: Қажетті бағдарламалық жасақтаманы орнатыңыз
- 2 -қадам: Twilio есептік жазбасын жасаңыз
- 3 -қадам: COVID 19 деректері, фильмдері мен телешоулары үшін API кілтін алыңыз
- 4 -қадам: Python мен Twilio арқылы Ngrok қосыңыз
- 5 -қадам: Біздің қосымшаны тексеріңіз
- 6 -қадам: Бұл қалай жұмыс істейді және болашақта жетілдіру:
- 7 -қадам: Қорытынды жазбалар
Бейне: CovBot - WhatsApp негізіндегі WhatsApp 19 чатына арналған чатбот және тағы басқалар: 7 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
CoVbot - бұл WhatsApp -қа негізделген қарапайым және интуитивті чат -бот. Боттың басты ерекшелігі:
Ол сізге таңдаған елдегі COVID-19 соңғы мәртебесін қарапайым және интуитивті түрде бере алады.
Сонымен қатар, бот үйдегі қызықты әрекеттерді ұсына алады, мысалы:
- Фильм ұсыну - Үздік 10 фильмдер тізімінен көруге болатын фильм, сюжеті мен ұзақтығы туралы қысқаша шолу. Бұл тізім бағдарламалық жасақтамада кодталмағандықтан, ол сізге ағымдағы үрдістерге негізделген ең соңғы жаңартуларды береді.
- Телешоуды ұсыныңыз - сюжет пен рейтингтердің қысқаша шолуы бар ең танымал телешоуларды көруге арналған телешоу. Бұл тізім бағдарламалық жасақтамада кодталмағандықтан, ол сізге ағымдағы тенденцияларға негізделген ең соңғы жаңартуларды береді.
- Кітап ұсыныңыз - Кітаптың ашық және мұқабалық суреті бар үздік 10 кітап тізімінен оқылатын кітап.
- Күнделікті жаттығулар-бұл CRANK спортзалының Instagram-дағы аккаунтында ұсынылған 7 күндік жаттығу кестесіне негізделген бейне.
Егер сіз осы нұсқаулықты ұнатсаңыз, оған авторлардың бірінші конкурсында дауыс беруді қарастырыңыз. (иә, бұл менің бірінші нұсқаулығым, егер бірдеңе түсініксіз болса немесе қосымша түсініктеме қажет болса, түсініктеме бөлімінде маған хабарлаңыз, мен сізге көмектесе аламын:)
Жабдықтар
Бұл жоба тек бағдарламалық жасақтамаға негізделген жоба, сондықтан кез келген адам бұл нұсқаулықты ноутбук/жұмыс үстелі/macOS/Linux және интернет арқылы орындаса болады. Мен сонымен қатар бағдарламалау тәжірибесі бар адамдарға кодты/процесті егжей -тегжейлі түсіндіру үшін егжей -тегжейлі бөлімді қосамын, бұл жобаны аяқтау үшін қажет емес екенін ескеріңіз.
Жобаның қиындық деңгейі:
Өте оңай емес, бірақ өте қиын емес
Біз қолданатын аппараттық құралдар:
- Windows/macOS/Linux жүйесінде жұмыс істейтін ноутбук/жұмыс үстелі.
- WhatsApp мессенджері орнатылған ұялы телефон
Біз қолданатын бағдарламалық қамтамасыз ету:
- Python бағдарламалау тілі
- ngrok - бұл біздің серверге желіден тыс кіруге мүмкіндік беретін құрал
- Сіз таңдаған редактор: (мысалы, блокнот ++, жоғары мәтін, Vim және т.
1 -қадам: Қажетті бағдарламалық жасақтаманы орнатыңыз
Бұл қадамда біз келесі әрекеттерді орындаймыз:
- Python> 3.6 орнатыңыз және оны тексеріңіз
- Қажетті питон кітапханаларын орнатыңыз
- 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 кітапханаларын орнатыңыз:
Біз бағдарламалық жасақтаманы жұмыс істеу үшін келесі питон кітапханаларын қолданамыз:
- Шыныаяқ - бұл біздің сервердің негізі
- Twilio - Бұл кітапхана питонға WhatsApp -пен байланыс орнатуға мүмкіндік береді
- Сұраныс - бұл кітапхана API -ден деректерді сұрау үшін қолданылады
- BeautifulSoup4 - Бұл кітапхана веб -сайттардан ақпаратты алу үшін қолданылады
- lxml - Бұл кітапхана сайттан тиісті ақпаратты алу үшін BeautifulSoup -пен бірге қолданылады
Бұл кітапханаларды орнату үшін келесі әрекеттерді орындауға болады:
CMD/Terminal ашыңыз және келесі пәрменді теріңіз:
pip колбасы, твилио, сұраныс, beautifulsoup4, lxml
НЕМЕСЕ
Requirements.txt файлын жүктеңіз және файл орналасқан каталогта терминалды ашыңыз және теріңіз:
pip install -r талаптар.txt
Ngrok орнатыңыз
ngrok сізге жергілікті компьютерде жұмыс істейтін серверді Интернетке шығаруға мүмкіндік береді. Тек ngrok -ке сіздің сервер қандай порт тыңдайтынын айтыңыз.
Ngrok веб -сайтындағы нұсқаулықты қолданып, ngrok сіз қолданатын операциялық жүйеге орнатылады.
Кеңес: Нұсқаулықтың 3 -қадамы бұл жобаға қатысы жоқ, сондықтан өткізіп жіберуге болады
2 -қадам: Twilio есептік жазбасын жасаңыз
Бұл қадамда біз келесі әрекеттерді орындаймыз:
- Twilio есептік жазбасына тіркелу
- Twilio консолінің пайдалы бөлімдеріне жылдам кіріспе
Тіркелу:
Бұл жобада біз Twilio Whatsapp API көмегімен питон бағдарламамызды Whatsapp -қа қосамыз. Twilio API пайдалану үшін алдымен Twilio ресми сайтында тіркелгі жасау керек. Twilio сынақ шоты үшін бізге $ 15 тегін несие ұсынады.
Жылдам кіріспе:
Сіз есептік жазбаны жасағаннан кейін, Twilio консолінің осы жобаның ең қызықты бөлімдері:
Бақылау тақтасы - Бақылау тақтасынан сіз әлі де қалған несие көлемін көре аласыз, сіз жобаның атауын өңдей аласыз және бағдарламалау тілін өзгерте аласыз.
Бағдарламаланатын SMS бөліміндегі Whatsapp қосалқы бөлімі - Консольдің Whatsapp бөлімінен сіз ботқа қосылу кодына, біздің ботпен сөйлесу үшін жобада қолданатын Whatsapp нөміріне қол жеткізе аласыз, сонымен қатар веб -ілгекті баптай аласыз.. Мұның бәрі туралы толығырақ келесі қадамдарда сипатталатын болады
3 -қадам: 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 қосыңыз
Бұл қадамда біз келесі әрекеттерді орындаймыз:
- Бастапқы кодты жүктеңіз
- Бағдарламаны орындаңыз және ngrok арқылы ашық IP мекенжайына жергілікті IP жіберіңіз, осылайша біз оған сұраныс жасай аламыз
- Сұранысты серверге жіберу үшін 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 көмегімен сұраныс жасалған кезде біз сұранысты біздің серверге жібереміз. Ол үшін бізге келесі әрекеттерді орындау қажет:
- Twilio консоліндегі Whatsapp бөліміне өтіңіз
- «Sanbox» бөліміне өтіңіз
- «Хабарлама келген кезде» мәтіндік жәшігіне /sms кеңейтімімен көшірілген ngrok -тан HTTP сілтемесін қойыңыз (_ -ді басында және соңында КӨШІРМЕҢІЗ):
_https://d44c955749bf.ngrok.io/sms_
Енді чат -ботқа барлығы орнатылды. Келесі қадамда біз бәрі дұрыс жұмыс істейтінін тексере аламыз
5 -қадам: Біздің қосымшаны тексеріңіз
Бұл қадамда біз келесі әрекеттерді орындаймыз:
- Кіру кодын пайдаланып біздің ботқа қосылыңыз
- Біздің қосымшаны қолданып көріңіз
Кіру кодын пайдаланып біздің ботқа қосылыңыз
Бұл жобада біз Whatsil ботына Twilio Whatsapp Sandbox нөмірін қолданамыз. Әр адам үшін бұл сан әр түрлі болады. Сіз өз нөміріңізді келесідей таба аласыз:
- Twilio есептік жазбаңызға кіріңіз
- Twilio Console -> Whatsapp бөліміне -> Sandbox тармағына өтіңіз
- Сіз Twilio Sandbox нөмірін келесі мәтінмен көресіз:
Достарыңызды құм жәшігіне шақырыңыз. Олардан WhatsApp хабарламасын жіберуді сұраңыз:
Whatsapp-тың қауіпсіздік саясатына байланысты, Whatsapp арқылы автоматтандырылған ботпен сөйлескісі келетіндердің барлығына кодты қолдану қажет. Сіз өзіңіздің кодыңызды Twilio құм жәшігінің нөмірімен мәтінді қамтитын бөлімде қарап біле аласыз:
Сіз өзіңіздің Twilio Sandbox Whatsapp нөмірін және қосылу кодын алғаннан кейін, ботты қолдануды бастау үшін ұялы телефонға өтіп, келесі әрекеттерді орындаңыз:
- «Twilio Sandbox Whatsapp нөмірін» контактіге таңдаған атыңызбен сақтаңыз (мысалы, CovBot)
- 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-ке ұқсайды. Бұл мәселені шешу үшін мен екі техниканы қолдандым:
- Хабардың күйін есте сақтау үшін жаһандық айнымалыларды қолдану - бұл тек COVID 19 қосалқы нұсқасы үшін қолданылады. Бұл жағдайда пайдаланушы «Менің елімдегі COVID 19 күйі опциясын» таңдаған кезде, толық емес_мессаж деп аталатын жаһандық айнымалы мән «True» мәніне орнатылады, содан кейін бұрынғы опцияға негізделген басқа хабар алмасу қажет болады. Содан кейін бастапқыда хабарлама толық емес деп белгіленетінін тексеретін тексеру бар, егер ол хабарлама COVID деректерінің елінің атауын қабылдайды және ақпаратты дұрыс функцияға береді және жаһандық айнымалы толық емес хабарды жалған етіп қояды.
- Twilio cookie файлдары мен колбалар сеанстарын қолдану - Cookie файлдары мен колбалар сеанстары «карантиндік әрекетті ұсыныңыз» ішкі мәзірінде күйді қамтамасыз ету үшін қолданылады, дәл қазір интернеттегі кез келген веб -қосымшалар оны пайдаланатын сияқты, бірақ пайдаланушы аты сияқты нәрселерді есте сақтаудың орнына. немесе ол екі сан арасындағы түрлендіруді еске түсіреді. Егер сізге осы бөлім туралы қосымша ақпарат қажет болса, мен Twilio тобы жазған Twilio cookie файлдары бойынша осы керемет нұсқаулықты оқуды ұсындым.
Болашақ жақсартулар:
- Python мен Design Patterns объектілеріне бағдарлануды код архитектурасы мен DRYness жақсарту үшін қолданыңыз
- Жаһандық айнымалыларды жою
- Қателерді өңдеуді жақсартуға болады
- Жүгері мен Twilio CLI көмегімен ngrok мекенжайын автоматты түрде жаңартыңыз
- Кодтық құжаттама
7 -қадам: Қорытынды жазбалар
Бұл жоба бәріңізге ұнайды деп сенемін. Бұл менің бірінші нұсқаулығым, сондықтан егер бірдеңе түсініксіз болса немесе қосымша түсініктеме қажет болса, түсініктеме бөлімінде маған хабарлаңыз, мен сізге көмектесе аламын. Егер сіз бұл жобаны басқа техникамен немесе мүмкіндіктер тізімімен жасаған болсаңыз, оны бөлісіңіз
Ұсынылған:
Ақылды мотоцикл HUD прототипі (кезекпен навигация және тағы басқалар): 9 қадам
Ақылды мотоцикл HUD прототипі (кезек-кезек навигация және тағы басқалар): Сәлеметсіз бе! Бұл нұсқаулық-бұл мотоциклдердің дулыға киюге арналған HUD (Heads-Up Display) платформасын қалай құрастырғаным және құрастырғаным туралы әңгіме. Ол " карталар " байқауы аясында жазылған. Өкінішке орай, мен оны толығымен аяқтай алмадым
VBScript негіздері - сценарийлерді бастау, кідірістер және тағы басқалар !: 5 қадам
VBScript негіздері - сценарийлерді бастау, кідірістер және тағы басқалар!: Блокнотпен VBScript жасау бойынша менің бірінші оқулығыма қош келдіңіз. With.vbs файлдарының көмегімен сіз күлкілі ойындар немесе өлімге әкелетін вирустар жасай аласыз. Бұл оқулықта мен сізге сценарийді бастау, файлдарды ашу және тағы басқалар сияқты негізгі командаларды көрсетемін. Т
Блокнотта ойын жасау және тағы басқалар: 10 қадам
Блокнотта ойын жасау және тағы басқалар: Бұл менің бірінші нұсқаулығым. Сондықтан егер сізде қандай да бір ұсыныстар болса, түсініктеме беріңіз. Бәріміз блокнот сөзін естігенде, кейбір нәрселерді жазып алу үшін жалықтыратын пайдасыз қосымшалар туралы ойлаймыз. Блокнот одан да көп. Біз өз бетін басқара аламыз
NFC құлпы - ПХД түймелері, антенна және тағы басқалар болғанда: 7 қадам (суреттермен)
NFC құлпы - ПХД түймелері, антенна және тағы басқалар болғанда: Сіз осы нұсқаулықтан екі нәрсенің бірін ала аласыз. Сіз сандық пернетақта мен NFC оқу құралының жеке комбинациясын жасай аласыз. Схема осында. ПХД орналасуы осында. Сіз тапсырысқа тапсырыс беру үшін сізге қажетті материалдарды таба аласыз
Үй жануарларына арналған тағамдарды лақтыруға арналған автоматты катапульт (ит, мысық, тауық, т.б.), лақтыру және басқалар!: 4 қадам (суреттермен)
Үй жануарларына арналған тағамдарды лақтыруға арналған автоматты катапульт (ит, мысық, тауық, т.б.), лақтыру және тағы басқалар!: Сәлеметсіз бе, менің бірінші нұсқаулығыма қош келдіңіз! Біздің ит өз тағамын жақсы көреді, ол бәрін бірнеше секунд ішінде жейді. Мен мұны бәсеңдетудің жолдарын ойлап таптым, ішіндегі тамағы бар шарлардан бастап ауланың барлық жеріне лақтыруға дейін. Бір ғажабы, ол