צור את הבוט הרפוי הזה והעניק לערוץ שלך אווירה ידידותית יותר.

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

תלמד כיצד להגדיר את האישורים של הבוט שלך, להאזין לאירועים ב-Slack ולשלוח הודעות בחזרה למשתמשים.

יצירת בוט Slack וקבלת אסימון ה-API שלו

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

היכנס לסביבת העבודה החדשה שלך. Slack יוצר עבורך באופן אוטומטי ערוץ אקראי וכללי.

שימו לב למקטע האפליקציה בפינה השמאלית התחתונה של סביבת העבודה. זה המקום שבו הבוט שלנו יופיע כשתיצור אותו. נווט אל אתר Slack API.

לחץ על צור אפליקציה. צור את האפליקציה מאפס בחלון שמופיע.

תן שם לאפליקציה שלך ובחר את סביבת העבודה שבה תרצה לפתח אותה.

לאחר מכן לחץ על צור אפליקציה לַחְצָן. לחיצה תפנה אותך לדף המכיל את המידע הבסיסי של האפליקציה שלך. שימו לב לסוד החתימה מתחת לאישורי האפליקציה. הבוט שלך ישתמש בסוד החתימה כדי לוודא שאירוע הגיע מ-Slack ולא התעסק בו במהלך השידור.

instagram viewer

עבור אל התכונה OAuth והרשאות.

תחת OAuth והרשאות, נווט ל-Bot Token Scopes. זה המקום שבו תוסיף את ההרשאות של מה שהבוט שלך יכול לעשות בסביבת העבודה שלך. תוסיף את ה משתמשים: לקרוא תְחוּם. היקף זה יאפשר לבוט שלך לראות את האנשים בסביבת העבודה שלך. כמו כן, הוסף את צ'אט: לכתוב scope שיאפשר לבוט שלך לשלוח הודעות לסביבת העבודה.

נווט חזרה למידע הבסיסי של הבוט שלך ולחץ התקן ב-Workspace.

לחץ על אפשר בעמוד הבא שיופיע. כעת סיימת להתקין את הבוט בסביבת העבודה שלך. נווט אל התכונה OAuth והרשאות. שימו לב ל-Bot User OAuth Token ש-Slack מייצר לאחר ההתקנה. הבוט יהיה גלוי בחלק האפליקציה של סביבת העבודה שלך.

כעת התקנת את הבוט בסביבת העבודה שלך, אתה יכול לכתוב את הקוד כדי לשלוט בו.

הכנת הסביבה שלך

אתה צריך להכיר את ה יסודות פייתון כדי לעקוב אחר דוגמאות הקוד הללו.

צור סביבה וירטואלית חדשה וכן א .env קוֹבֶץ. אתה תשתמש בקובץ ‎.env כדי לאחסן את האסימון ואת סוד החתימה שלך, שאתה צריך לשמור על פרטיות. אין להעלות את קובץ ה-env לאף פלטפורמה ציבורית.

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

pip להתקין slack-sdk pathlib dotenv flask slackeventsapi

ספריית slack-sdk תספק לך כלים לבניית אפליקציות ואינטגרציות של Slack, כולל שיטות API, לקוחות Web API ו-OAuth. pathlib ו-dotenv יעזרו לך לטעון את משתני הסביבה. flask יעזור לך לטפל בבקשות HTTP ובתגובות. slackeventsapi תספק לכם מאזין אירועים שמקבל ומטפל באירועים מ-Slack.

קוד המקור המלא זמין ב-a מאגר GitHub.

ייבוא ​​הספריות הנדרשות

צור קובץ Python חדש, והתחל בייבוא ​​הספריות שהתקנת בעבר, כדי שתוכל להשתמש בפונקציונליות שלהן בקוד שלך.

יְבוּא slack_sdk כפי ש רָפוּי
יְבוּא OS
מ pathlib יְבוּא נָתִיב
מ dotenv יְבוּא load_dotenv
מ בקבוק יְבוּא בקבוק
מ slackeventsapi יְבוּא SlackEventAdapter

מודול מערכת ההפעלה של Python מגיע עם השפה, כך שאינך צריך להתקין אותה. SlackEventAdapter הוא מחלקה ממודול slackeventsapi שמטפל באירועים מ-Slack API.

הגדרת ה-Slack Bot

צור שני משתנים בקובץ .env. תן שם ל-SLACK_BOT_TOKEN אחד והקצה לו את אסימון ה-Bot User OAuth. תן שם לשני SLACK_SIGNING_SECRET והקצה לו את סוד החתימה. חזור לקובץ Python וצור אובייקט Flask. לאחר מכן טען את משתני הסביבה מקובץ ה-.env באמצעות הפונקציה load_dotenv מהמודול dotenv.

app = Flask (__name__)
env_path = Path('.') / '.env'
load_dotenv (dotenv_path=env_path)

צור מופע slack_event_adapter. הוא יטפל באירועים מ-Slack API, תוך שימוש במשתנה הסביבה SLACK_SIGNING_SECRET כדי לאמת בקשות.

slack_event_adapter = SlackEventAdapter (os.environ['SLACK_SIGNING_SECRET'],
'/slack/events', אפליקציה)

/slack/events הוא נקודת הקצה שבה ישתמש ה-API של Slack לשליחת אירועים.

צור מופע WebClient שישלח הודעות ל-Slack API. בצע קריאת API כדי לאחזר את מזהה הבוט.

לקוח = רפיון. WebClient (token=os.environ['SLACK_BOT_TOKEN'])
BOT_ID = client.api_call("auth.test")['זהות המשתמש']

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

GREETING_MESSAGE = "שלום {user_name}, ברוך הבא ל-{channel_name} " \
"עָרוּץ! אנחנו שמחים לראות אותך כאן."
welcomed_users = set()

אתה יכול להתאים אישית את הברכה לפי טעמך.

יצירת פונקציה לטיפול באירוע "ערוץ הצטרף לחבר".

הגדר מאזין אירועים. זה יקשיב לאירוע member_joined_channel.

@slack_event_adapter.on('member_joined_channel')

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

defhandle_member_joined_channel(נתוני אירוע):
user_id = event_data['מִקרֶה']['מִשׁתַמֵשׁ']
channel_id = event_data['מִקרֶה']['עָרוּץ']

# שלח הודעת פתיחה רק אם המשתמש חדש
אם זהות המשתמש לֹאב בברכה_משתמשים:
welcomed_users.add (מזהה_משתמש)

user_info = client.users_info (user=user_id)
user_name = user_info['מִשׁתַמֵשׁ']['שֵׁם']

channel_info = client.conversations_info (channel=channel_id)
channel_name = ערוץ_מידע['עָרוּץ']['שֵׁם']

greeting = GREETING_MESSAGE.format (user_name=user_name,
channel_name=channel_name)

client.chat_postMessage (channel=channel_id, text=greeting)

ה-event_data מכיל את כל המידע על האירוע שבו משתמש הצטרף לערוץ.

הפעל את אפליקציית Flask והפעל את הסקריפט. אם הרצה כתוכנית הראשית (לא מיובאת כמודול), הפעל במצב ניפוי באגים והאזנה ביציאה 5000.

אם __שם__ == "__רָאשִׁי__":
app.run (debug=נָכוֹן, port=5000)

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

חיבור ההיגיון עם הבוט שלך

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

לאחר הפעלתו, השתמש בפקודה הבאה כדי למפות את הכתובת של השרת המקומי שלך לזו של Ngrok.

ngrok http 500

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

נווט אל אתר Slack API. תחת מנויים לאירועים תכונה, לאפשר אירועים. תַחַת בקש כתובת אתר הזן את כתובת Ngrok ואחריה /slack/events. זה יצביע על נקודת הקצה שלך.

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

לחץ על התקן מחדש את האפליקציה שלך.

בודקים את הבוט שלך

עבור אל סביבת העבודה שלך. עבור לערוץ שבו אתה רוצה להשתמש בבוט. שלח הודעה ישירה לבוט. למשל @Welcoming Bot. תופיע הנחיה להוסיף את הבוט לערוץ. לחץ על הוסף.

כעת, בכל פעם שמשתמש חדש מצטרף לערוץ הבוט ישלח הודעת קבלת פנים.

התמונה למעלה מציגה את הבוט מברך משתמש חדש לערוץ.

להפיק את המקסימום ממרחב העבודה הרפוי שלך

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

הכירו את האינטגרציות הללו מכיוון שהם יגדילו את הפרודוקטיביות שלכם ב-Slack.