תוכן עניינים:

CovBot - צ'אט בוט מבוסס WhatsApp למידע על COVID 19 ועוד: 7 שלבים
CovBot - צ'אט בוט מבוסס WhatsApp למידע על COVID 19 ועוד: 7 שלבים

וִידֵאוֹ: CovBot - צ'אט בוט מבוסס WhatsApp למידע על COVID 19 ועוד: 7 שלבים

וִידֵאוֹ: CovBot - צ'אט בוט מבוסס WhatsApp למידע על COVID 19 ועוד: 7 שלבים
וִידֵאוֹ: שירות לקוחות בוואטסאפ- בוט לוואטסאפ 2024, נוֹבֶמבֶּר
Anonim
Image
Image
צור חשבון Twilio
צור חשבון Twilio

CoVbot הוא צ'אטבוט מבוסס וואטסאפ פשוט ואינטואיטיבי. המאפיין העיקרי של הבוט הוא:

זה יכול לתת לך את הסטטוס העדכני ביותר של COVID-19 במדינה המועדפת בצורה פשוטה ואינטואיטיבית.

בנוסף, הרובוט יכול להציע פעילויות מהנות לביצוע בבית כמו:

  1. הצע סרט - סרט לצפייה מרשימת 10 הסרטים המובילים, עם סקירה קצרה של העלילה ומשך הזמן. מכיוון שרשימה זו אינה מקודדת בתוכנות זה תמיד ייתן לך את העדכונים האחרונים המבוססים על טרנדים עדכניים.
  2. הצע תוכנית טלוויזיה - תוכנית טלוויזיה לצפייה מתוך תוכניות הטלוויזיה הפופולריות ביותר, עם סקירה קצרה של העלילה והרייטינג. מכיוון שרשימה זו אינה מקודדת בתוכנות זה תמיד ייתן לך את העדכונים האחרונים המבוססים על טרנדים עדכניים.
  3. הצע ספר - ספר לקריאה מרשימת 10 הספרים המובילים, עם תמונת הכתובת והכריכה של הספר.
  4. אימונים יומיים-זהו סרטון המבוסס על לוח זמנים של 7 ימים שמספק חדר הכושר CRANK בחשבון האינסטגרם שלהם.

אם אתה נהנה מהנחיה זו, אנא שקול להצביע בעד תחרות המחבר של הפריט הראשון. (וכן, זו ההנחיה הראשונה שלי אז אם משהו לא ברור או שצריך הסבר נוסף אנא יידע אותי בקטע ההערות ואני יכול לעזור לך:)

אספקה

פרויקט זה הינו פרויקט מבוסס תוכנה בלבד, כך שכל מי שעוקב אחר הוראות אלה עם מחשב נייד/מחשב שולחני/macOS/Linux ואינטרנט יכול להשלים את הפרויקט. אני אכלול גם קטע מפורט כמו בסוף כדי להסביר את הקוד/התהליך בפירוט רב יותר לאנשים עם ניסיון בתכנות כלשהו, שימו לב שאין צורך בכך להשלמת הפרויקט

רמת קושי בפרויקט:

לא קל במיוחד, אבל לא קשה במיוחד

החומרה שבה נשתמש:

  • מחשב נייד/שולחן עבודה שבו פועל Windows/macOS/Linux.
  • טלפון נייד עם WhatsApp Messenger מותקן

התוכנה בה נשתמש:

  1. שפת תכנות Python
  2. ngrok - הוא כלי המשמש לאפשר לנו לגשת לשרת שלנו מחוץ לרשת שלנו
  3. עורך לבחירתך: (למשל פנקס רשימות ++, טקסט נשגב, Vim וכו ')

שלב 1: התקן את התוכנה הדרושה

Image
Image

בשלב זה נבצע את הפעולות הבאות:

  1. התקן את פייתון> 3.6 ובדוק אותו
  2. התקן את ספריות הפייתון הנדרשות
  3. התקן את ngrok

אם יש לך את שני האפליקציות מותקנות תוכל לדלג על שלב זה

התקן את פייתון:

כל בסיס הקוד/שרת הקוד של הפרויקט הזה כתוב ב- Python 3.6. לכן כדי להריץ את היישומים שלנו עלינו להתקין Python> 3.6 במחשב שלנו. עקוב אחר ההדרכה של CoreySchafer כיצד להתקין פייתון עבור Windows ו- macOS

אתה יכול לבדוק שהכל מותקן כראוי על ידי הקלדת הדברים הבאים ב- cmd/טרמינל:

python -c 'הדפס (f "שלום עולם")'

אם הכל הותקן כראוי, אז שלום העולם צריך להיות מודפס על המסך. אם אתה מקבל שגיאת תחביר לא חוקית, התקנת הגירסה הלא נכונה של פייתון. התקן גרסה של פייתון> = 3.6

התקן את ספריות הפייתון הדרושות באמצעות pip:

אנו נשתמש בספריות הפייתון הבאות כדי לגרום לתוכנה שלנו לפעול:

  1. בקבוק - זוהי המסגרת לשרת שלנו
  2. Twilio - ספרייה זו מספקת דרך לפייתון לתקשר עם WhatsApp
  3. בקשה - ספרייה זו משמשת לבקשת נתונים מממשקי API
  4. BeautifulSoup4 - ספרייה זו משמשת לגרידת מידע מאתרים
  5. lxml - ספרייה זו משמשת בשילוב עם BeautifulSoup לחילוץ המידע הרלוונטי מאתר אינטרנט

כדי להתקין ספריות אלה תוכל לבצע את הפעולות הבאות:

פתח את CMD/Terminal והקלד את הפקודה הבאה:

בקבוק התקנת pip, twilio, request, beautifulsoup4, lxml

אוֹ

הורד את הקובץ requirements.txt ופתח מסוף בספרייה שבה נמצא הקובץ והקלד:

pip install -r requirements.txt

התקן את ngrok

ngrok מאפשר לך לחשוף שרת הפועל במחשב המקומי שלך לאינטרנט. רק ספר ל- ngrok באיזה יציאה השרת שלך מקשיב.

עוקב אחר המדריך באתר ngrok להתקנת ngrok עבור מערכת ההפעלה שבה אתה משתמש.

טיפ: שלב 3 במדריך אינו רלוונטי לפרויקט זה ולכן ניתן לדלג עליו

שלב 2: צור חשבון Twilio

בשלב זה נבצע את הפעולות הבאות:

  1. הרשמה לחשבון Twilio
  2. היכרות מהירה עם חלקים שימושיים במסוף Twilio

הירשם:

בפרויקט זה נשתמש ב- API Twilio Whatsapp כדי לחבר את תוכנית הפיתון שלנו ל- Whatsapp. כדי שנוכל להשתמש ב- Twilio API עלינו ליצור תחילה חשבון באתר הרשמי של Twilio. עבור חשבון ניסיון Twilio מציעה לנו זיכוי בסך $ 15 בחינם.

מבוא מהיר:

לאחר שתיצור חשבון, החלקים המעניינים ביותר במסוף Twilio לפרויקט זה הם:

לוח מחוונים - מלוח המחוונים תוכלו לראות את סכום האשראי שנותר לכם, תוכלו לערוך את שם הפרויקט ולשנות את שפת התכנות

סעיף משנה של Whatsapp בקטע SMS לתכנות - מתוך קטע הווטסאפ בקונסולה, תוכל לקבל גישה לקוד הצטרפות לבוט, למספר הווטסאפ בו נשתמש בפרויקט כדי לדבר עם הבוט שלנו וגם על הגדרת ווה ווק. פרטים נוספים על כל אלה יתוארו בשלבים הבאים

שלב 3: קבל מפתח API לנתוני COVID 19, סרטים ותוכנית טלוויזיה

קבל מפתח API לנתוני COVID 19, סרטים ותוכניות טלוויזיה
קבל מפתח API לנתוני COVID 19, סרטים ותוכניות טלוויזיה
קבל מפתח API לנתוני COVID 19, סרטים ותוכניות טלוויזיה
קבל מפתח API לנתוני COVID 19, סרטים ותוכניות טלוויזיה

מפתח ממשק API או מפתח ממשק לתכנות יישומים הוא קוד שמועבר על ידי יישומי מחשב. התוכנית או היישום קוראים לאחר מכן לממשק ה- API או לתכנות היישומים כדי לזהות את המשתמש, המפתח או תוכנית ההתקשרות שלו לאתר.

אנו משתמשים בממשק API כדי לקבל מידע על הסטטוס העדכני ביותר של COVID 19, סרטים ותוכניות טלוויזיה. כדי לגשת ל- API אתה צריך מפתח אישי לכל משתמש. בשלב זה נקבל את המפתחות האלה

קבל מפתח API לנתוני COVID 19:

  • היכנס או הירשם לחשבון RapidAPI שלך.
  • לאחר מכן עבור אל ה- COVID-19 API של Gramzivi
  • גלול מטה אל הקטע "פרמטרי כותרת" במסוף ה- API.
  • מפתח ה- API שלך צריך להיות גלוי בשדה "X-RapidAPI-Key".

קבל מפתח API לסרטים ולנתוני תוכניות טלוויזיה:

  • היכנס או הירשם לחשבון TMDB שלך
  • לאחר מכן עבור אל ההגדרה שלך - API
  • גלול מטה לקטע "מפתח API (אימות v3)"
  • מפתח ה- API שלך צריך להיות גלוי מתחתיו

צור קובץ "config.py"

כעת ניצור קובץ config.py לאחסון מפתחות ה- API שלנו. אנו יוצרים קובץ נפרד עבור אלה, מכיוון שמפתחות API הם מידע סודי ואם אתה משתף את הפרויקט שלך אל תשתף את מפתח ה- API שלך.

  • צור ספריית פרוייקטים חדשה
  • בתוך הספרייה החדשה שנוצרה צור קובץ חדש בשם "config.py"
  • ערוך את הקובץ הזה עם עורך לבחירתך (Sublime, Notepad ++) והעתק והחליף את הטקסט הבא במידע רלוונטי שהתקבל בשלב הקודם:

session_key = "סוד" #זה לא בטוח.. אבל רק לבדיקה זה בסדר

rapid_api_key = "" api_key = ""

שמור את הקובץ

שלב 4: חבר את Python ו- Twilio Via Ngrok

בשלב זה נעשה את הפעולות הבאות:

  1. הורד את קוד המקור
  2. בצע את התוכנית והעבר את ה- IP המקומי לכתובת ציבורית באמצעות ngrok כדי שנוכל להגיש בקשה אליה
  3. הגדר את חשבון Twilio שלנו כדי להעביר את הבקשה לשרת שלנו

הורד את קוד המקור לבוט:

הורד את כל הקובץ המצורף בהגדרה זו לספריית הפרויקטים שנוצרה בשלב האחרון.

בצע את התוכנית:

עבור לספרייה של קוד המקור ב- CMD/מסוף ובצע את הפקודה הבאה:

python server_main.py

הקפד להחזיק את "config.py" שיצרנו בשלב האחרון, אחרת תקבל שגיאה

הפלט צריך להיות בערך כך:

* יישום בקבוק "server_main" (טעינה עצלה)

* סביבה: ייצור אזהרה: זהו שרת פיתוח. אל תשתמש בו בפריסת ייצור. השתמש במקום זאת בשרת WSGI ייצור. * מצב איתור באגים: פועל * פועל ב- https://127.0.0.1:5000/ (הקש CTRL+C כדי להפסיק) * הפעלה מחדש עם stat * Debugger פעיל! * קוד ניפוי באגים: 740-257-236

המשמעות היא שהשרת שלך פועל כראוי ברשת המקומית שלך ביציאה 5000. כדי להפוך את השרת הזה לנגיש מחוץ לרשת המקומית שלך נשתמש ב- ngrok

העבר IP מקומי לכתובת ציבורית באמצעות ngrok

עבור לספרייה שבה הורדת את ngrok באמצעות CMD/terminal ובצע את הפקודה הבאה:

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 מהקטע "העברה" (רק עד ngrok.io). (הוספתי את _ בדוגמה זו כדי להימנע מהוראה ליירט אותו כקישור)

הגדר את Twilio לשימוש בכתובת החדשה כדי להעביר את בקשת השרת אל:

כעת, לאחר שהעברנו בהצלחה את השרת שלנו לגישה פומבית, עלינו להגדיר את Twilio כך שכאשר תתבצע בקשה באמצעות Twilio Whatsapp API אנו מעבירים את הבקשה לשרת שלנו. לשם כך עלינו לבצע את הפעולות הבאות:

  1. עבור אל הקטע Whatsapp במסוף Twilio
  2. נווט אל סעיף המשנה "Sanbox"
  3. בתיבת הטקסט "כאשר מגיעה הודעה" הדבק את קישור HTTP מ- ngrok שהועתק עם הסיומת /sms (אין להעתיק את _ בהתחלה ובסוף):

_https://d44c955749bf.ngrok.io/sms_

עכשיו הכל עבור הצ'אט בוט מוגדר. בשלב הבא נוכל לבדוק אם הכל פועל כהלכה

שלב 5: בדוק את היישום שלנו

בדוק את היישום שלנו
בדוק את היישום שלנו
בדוק את היישום שלנו
בדוק את היישום שלנו
בדוק את היישום שלנו
בדוק את היישום שלנו

בשלב זה נעשה את הפעולות הבאות:

  1. הצטרף לבוט שלנו באמצעות קוד הגישה
  2. נסה את היישום שלנו

הצטרף לבוט שלנו באמצעות קוד הגישה

בפרויקט זה נשתמש במספר ארגז החול של וואטסאפ של טווילי עבור בוט הווטסאפ שלנו. עבור כל אחד, מספר זה יהיה שונה. תוכל למצוא את המספר שלך כך:

  • התחבר לחשבון Twilio שלך
  • עבור אל מסוף Twilio -> מדור וואטסאפ -> ארגז חול
  • תראה את מספר ארגז החול Twilio שלך עם הטקסט הבא:

הזמן את החברים שלך לארגז החול שלך. בקשו מהם לשלוח הודעת וואטסאפ ל:

עקב מדיניות אבטחה של Whatsapp, כל מי שרוצה לדבר עם בוט אוטומטי באמצעות Whatsapp צריך להביע הסכמה מפורשת באמצעות קוד. תוכל לברר את הקוד שלך על ידי עיון באותו קטע שמספר ארגז החול של Twilio שלך עם הטקסט:

לאחר שרכשת את מספר ה- Whatsapp של ארגז החול של Twilio וקוד הצטרפות, כדי להתחיל להשתמש בבוט, עבור לטלפון הנייד שלך ובצע את הפעולות הבאות:

  1. שמור את "מספר הוואטסאפ של Twilio Sandbox" לאיש הקשר שלך עם שם בחירתך (למשל CovBot)
  2. פתח את Whatsapp ושלח את ההודעה הבאה לאותו איש קשר:

לְהִצְטַרֵף

אתה אמור לראות הודעה כזו:

ארגז חול של טוויליו: הכל מוכן …

פירוש הדבר שהתחברת לבוט שלך ומוכן לשאול אותו qs

נסה את היישום שלנו:

כדי לבדוק את התכונות השונות של הבוט שלך לאחר שהתחברת שלח את ההודעה הבאה לבוט:

היי

אתה אמור לראות את הטקסט הבא:

ברוכים הבאים ל- CoVbot!

צ'אט בוט פשוט שיכול לתת את העדכונים האחרונים של COVID-19 בצורה פשוטה, מהירה וקלה. מכיוון שכולנו בהסגר, ניתן להשתמש בבוט כדי להציע כמה פעילויות מהנות כדי להפיק את המרב מהזמן שלנו בבית כשאנחנו שואפים לשמור על עצמנו, חברים ובני משפחה. אנו מקווים שתיהנו ממנו ותמצאו אותו שימושי! שלח 4 כדי להתחיל!

כעת תוכל לעקוב אחר האפשרות לנסות את התכונות השונות של הבוט.

זהו זה! צ'אט בוט שלכם ב- Whatsapp מוכן !!!! מזל טוב

שלב 6: איך זה עובד ושיפור עתידי:

איך זה עובד ושיפור עתידי
איך זה עובד ושיפור עתידי
איך זה עובד ושיפור עתידי
איך זה עובד ושיפור עתידי
איך זה עובד ושיפור עתידי
איך זה עובד ושיפור עתידי
איך זה עובד ושיפור עתידי
איך זה עובד ושיפור עתידי

חלק זה מיועד לאנשים בעלי ניסיון בתכנות פיתון כלשהו. אם לא תוכל לדלג על סעיף זה

הסבר קוד

לולאה ראשית:

כאשר הודעת Whatsapp נשלחת למספר Twilio שלך, ה- API של Twilio מגיש בקשת POST לשרת שציינת. השרת מיושם באמצעות מסגרת הבקבוק וכך נוכל להשתמש באובייקט בקשת הבקבוק כדי לאחזר את הנתונים שהתקבלו במהלך בקשת ה- POST. בהתבסס על הנתונים (מספרים במקרה זה) אנו מחליטים איזו אפשרות בחר המשתמש ונותנים את המידע המתאים

נתוני COVID וסרטים ותוכניות טלוויזיה:

נתוני ה- COVID 19, סרטים ותוכניות טלוויזיה מאוחזרים מממשק API. אני משתמש בספריית פייתון הבקשה כדי לקבל את הנתונים ולאחר מכן להמיר אותם לתבנית JSON. ואז אני פשוט מנתח את המידע הרלוונטי. עבור סרטים ותוכנית טלוויזיה, השתמשתי גם בספריית פייתון אקראית כדי לבחור תוכנית טלוויזיה אקראית וסרט

פרטי הספר

אלגוריתם הצעות הספרים המשמש בפרויקט הוא רק מגרד אינטרנט. לא הצלחתי למצוא שום API שנותן לך ספר אקראי עם פרטים, אז אני פשוט מגרד אתר באמצעות BeautifulSoup4 ובאמצעות מנתח lxml אני מחלץ את המידע הרלוונטי של הספר

פרטי תפריט משנה:

יישום תפריטי המשנה היה קצת יותר מסובך מהשאר מכיוון שהודעות ווטסאפ הן כמו הודעות SMS שזהו פרוטוקול חסר מדינה. כדי לפתור זאת השתמשתי בשתי טכניקות:

  1. שימוש במשתנים גלובליים כדי לזכור את מצב ההודעה - זה מיושם רק עבור אופציית המשנה COVID 19. כאשר משתמש בוחר באפשרות "סטטוס COVID -19 במדינה שלי" משתנה גלובלי בשם incomplete_message מוגדר ל- True כדי לציין כי עדיין יש צורך בהודעות נוספות המבוססות על האפשרות הקודמת. לאחר מכן יש בדיקה בהתחלה הבודקת אם הודעה מסומנת כשלמה אם כן היא מניחה שההודעה היא שם המדינה של נתוני ה- COVID ומעבירה את המידע לפונקציה הנכונה ומגדירה את המשתנה העולמי הודעה לא מלאה על False
  2. שימוש בעוגיות Twilio והפעלות בקבוקים - עוגיות ושיעורי בקבוקים משמשים בתפריט המשנה "הצע פעילות הסגר" כדי ליישם סטטוס, בדיוק כמו כל יישום אינטרנט באינטרנט שמשתמש בו בימים אלה, אך במקום לזכור את הדברים כמו שם המשתמש שלך. או חשבון זה זכור את ההמרה בין שני מספרים. אם אתה אוהב מידע נוסף על חלק זה המלצתי לקרוא את המדריך המדהים הזה על עוגיות Twilio שנכתב על ידי צוות Twilio

שיפורים עתידיים:

  1. השתמש באוריינטציות אובייקט של פייתון ודפוסי עיצוב לשיפור ארכיטקטורת קוד ויובש
  2. הסר משתנים גלובליים
  3. ניתן לשפר את הטיפול בשגיאות
  4. עדכן אוטומטית את כתובת ngrok באמצעות תירס ו- Twilio CLI
  5. תיעוד קוד

שלב 7: הערות אחרונות

אני מקווה שכולכם אוהבים את הפרויקט הזה. זו ההנחיה הראשונה שלי, כך שאם משהו לא ברור או צריך עוד הסבר, הודע לי בפרק ההערות, ואני יכול לעזור לך. כמו כן אם יצרת את הפרויקט הזה בטכניקה או ברשימת תכונות אחרת, שתף אותו כולם

מוּמלָץ: