قم بإنشاء روبوت Slack هذا وامنح قناتك أجواء أكثر ودية.

إن الترحيب بالمستخدمين الجدد في قناتك يجعلهم يشعرون بأنهم في وطنهم ، لكن تتبع كل مستخدم ينضم قد يكون مهمة مرهقة. هذا هو المكان الذي يأتي فيه برنامج الترحيب على Slack. يرسل الروبوت رسالة ترحيب مخصصة لكل مستخدم جديد للقناة. إنه متصل دائمًا بالإنترنت وبالتالي لن تكون هناك رسائل ترحيب متأخرة.

سوف تتعلم كيفية إعداد بيانات اعتماد الروبوت الخاص بك ، والاستماع إلى الأحداث في Slack ، وإرسال الرسائل مرة أخرى إلى المستخدمين.

إنشاء Slack Bot والحصول على رمز API الخاص به

إنشاء حساب سلاك أو سجل الدخول إلى حسابك الحالي. ثم قم بإنشاء ملف مساحة عمل Slack الجديدة لاختبار الروبوت الخاص بك قبل تثبيته في مساحة العمل النشطة الخاصة بك.

تسجيل الدخول إلى مساحة العمل الجديدة الخاصة بك. يقوم Slack تلقائيًا بإنشاء قناة عشوائية وعامة لك.

لاحظ قسم التطبيقات في الجزء السفلي الأيسر من مساحة العمل. هذا هو المكان الذي سيظهر فيه الروبوت الخاص بنا عند إنشائه. انتقل إلى موقع ويب Slack API.

انقر فوق أنشئ تطبيقًا. قم بإنشاء التطبيق من الصفر في النافذة التي تظهر.

قم بتسمية التطبيق الخاص بك وحدد مساحة العمل التي تريد تطويره فيها.

instagram viewer

ثم انقر فوق إنشاء التطبيق زر. سيؤدي النقر فوق إعادة توجيهك إلى صفحة تحتوي على المعلومات الأساسية لتطبيقك. قم بتدوين سر التوقيع ضمن بيانات اعتماد التطبيق. سيستخدم الروبوت الخاص بك سر التوقيع للتحقق من أن حدثًا جاء من Slack ولم يتم العبث به أثناء الإرسال.

انتقل إلى ميزة OAuth & أذونات.

ضمن OAuth والأذونات ، انتقل إلى Bot Token Scopes. هذا هو المكان الذي ستضيف فيه أذونات ما يمكن أن يفعله الروبوت الخاص بك في مساحة العمل الخاصة بك. أضف ال المستخدمون: قراءة نِطَاق. سيسمح هذا النطاق لبرنامج الروبوت الخاص بك بمشاهدة الأشخاص في مساحة العمل الخاصة بك. أيضًا ، أضف ملف الدردشة: الكتابة النطاق الذي سيسمح لبرنامج الروبوت الخاص بك بإرسال رسائل إلى مساحة العمل.

انتقل مرة أخرى إلى المعلومات الأساسية لبرنامج الروبوت الخاص بك وانقر فوق التثبيت في مساحة العمل.

انقر فوق السماح في الصفحة التالية التي تظهر. لقد انتهيت الآن من تثبيت الروبوت في مساحة العمل الخاصة بك. انتقل إلى ميزة OAuth & أذونات. لاحظ رمز OAuth المميز لمستخدم الروبوت الذي ينشئه Slack بعد التثبيت. سيكون الروبوت مرئيًا في قسم التطبيقات في مساحة عملك.

الآن بعد أن قمت بتثبيت الروبوت على مساحة عملك ، يمكنك كتابة الكود للتحكم فيه.

تحضير بيئتك

يجب أن تكون على دراية بـ أساسيات لغة بايثون لاتباع نماذج التعليمات البرمجية هذه.

خلق بيئة افتراضية جديدة و أ .env ملف. ستستخدم ملف .env لتخزين الرمز المميز وسر التوقيع ، والذي تحتاج إلى الحفاظ على خصوصيته. يجب عدم تحميل ملف .env على أي منصة عامة.

قم بتشغيل الأمر التالي في Terminal لتثبيت المكتبات المطلوبة:

نقطة تثبيت slack-sdk pathlib dotenv flask slackeventsapi

ستوفر لك مكتبة slack-sdk أدوات لإنشاء تطبيقات وتكامل Slack ، بما في ذلك طرق API وعملاء Web API و OAuth. سيساعدك pathlib و dotenv في تحميل متغيرات البيئة. سوف يساعدك القارورة في التعامل مع طلبات واستجابات HTTP. سيوفر لك slackeventsapi مستمعًا للأحداث يتلقى الأحداث ويتعامل معها من Slack.

كود المصدر الكامل متاح في ملف مستودع جيثب.

استيراد المكتبات المطلوبة

قم بإنشاء ملف Python جديد ، وابدأ باستيراد المكتبات التي قمت بتثبيتها مسبقًا ، حتى تتمكن من استخدام وظائفها في التعليمات البرمجية الخاصة بك.

يستورد slack_sdk مثل تثاقل
يستورد نظام التشغيل
من باثليب يستورد طريق
من دوتنف يستورد تحميل
من قارورة يستورد قارورة
من slackeventsapi يستورد SlackEventAdapter

وحدة نظام التشغيل في Python يأتي مع اللغة ، لذلك لا تحتاج إلى تثبيتها. SlackEventAdapter هو فئة من الوحدة النمطية slackeventsapi التي تعالج الأحداث من Slack API.

إعداد Slack Bot

قم بإنشاء متغيرين في ملف .env. قم بتسمية واحدة SLACK_BOT_TOKEN وقم بتعيين رمز OAuth لمستخدم Bot. قم بتسمية الآخر SLACK_SIGNING_SECRET وقم بتعيين سر التوقيع له. ارجع إلى ملف Python وأنشئ كائن Flask. ثم قم بتحميل متغيرات البيئة من ملف .env باستخدام وظيفة load_dotenv من وحدة dotenv.

التطبيق = قارورة (__name__)
env_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 API لإرسال الأحداث.

قم بإنشاء مثيل WebClient الذي سيرسل رسائل إلى Slack API. قم بإجراء استدعاء API لاسترداد معرف الروبوت.

العميل = الركود. WebClient (الرمز المميز = os.environ ["SLACK_BOT_TOKEN"])
BOT_ID = client.api_call ("المصادقة. اختبار")['معرف المستخدم']

قم بإعداد الرسالة التي سترسلها إلى المستخدمين الجدد الذين ينضمون إلى القناة. قم بتهيئة مجموعة فارغة لتتبع المستخدمين المرحب بهم.

GREETING_MESSAGE = "مرحبًا {user_name} ، مرحبًا بك في {channel_name}" \
"قناة! نحن متحمسون لوجودك هنا ".
مرحبًا بالمستخدمين = مجموعة ()

يمكنك تخصيص التحية حسب رغبتك.

إنشاء وظيفة للتعامل مع حدث "قناة انضم العضو"

قم بإعداد مستمع الحدث. سيستمع إلى حدث member_joined_channel.

@ slack_event_adapter.on ('member_joined_channel')

حدد الوظيفة التي ستتصل بها عندما ينضم مستخدم إلى قناة. استخدم الوظيفة لاستخراج معرف المستخدم ومعرف القناة من بيانات الحدث. تحقق مما إذا كان المستخدم جديدًا في القناة. إذا لم يكن الأمر كذلك ، فاحصل على معلومات المستخدم والقناة باستخدام فئة WebClient. قم بإنشاء رسالة ترحيب مخصصة. أرسل التحية إلى القناة

defمقبض_العضو_المشارك_قناة(event_data):
user_id = event_data ['حدث']['مستخدم']
channel_id = event_data ['حدث']['قناة']

# إرسال رسالة ترحيب فقط إذا كان المستخدم جديدًا
لو معرف المستخدم لافي المستخدمون المرحبون:
Welcome_users.add (user_id)

user_info = client.users_info (المستخدم = معرف المستخدم)
user_name = user_info ['مستخدم']['اسم']

channel_info = client.conversations_info (channel = channel_id)
channel_name = channel_info ['قناة']['اسم']

تحية = GREETING_MESSAGE.format (user_name = user_name ،
channel_name = channel_name)

client.chat_postMessage (القناة = معرف القناة ، النص = تحية)

تحتوي event_data على جميع المعلومات حول الحدث الذي انضم فيه المستخدم إلى القناة.

ابدأ تشغيل تطبيق Flask وقم بتشغيل البرنامج النصي. إذا تم التشغيل كبرنامج رئيسي (لم يتم استيراده كوحدة نمطية) ، فقم بالتشغيل في وضع التصحيح والاستماع على المنفذ 5000.

لو __name__ == "__رئيسي__":
app.run (تصحيح =حقيقي، المنفذ =5000)

يقوم وضع التصحيح تلقائيًا بإعادة تحميل التطبيق عند إجراء تغييرات على الرمز. لا تستخدم وضع التصحيح في بيئة الإنتاج ، فقد يعرض معلومات حساسة ويجعل تطبيقك عرضة للهجمات. قم بتشغيل التطبيق الخاص بك. سيتم تشغيله كخادم محلي على المنفذ 5000.

ربط المنطق مع الروبوت الخاص بك

بعد إنشاء المنطق ، تحتاج الآن إلى الاتصال بالروبوت في مساحة العمل الخاصة بك. سيمكنه ذلك من استخدام هذا المنطق لإجراء عمليات في مساحة العمل الخاصة بك. ابدأ بالتنزيل والتشغيل نجروك. ستساعدك Ngrok في عرض خادم الويب المحلي لديك على الإنترنت.

بعد تشغيله ، استخدم الأمر التالي لتعيين عنوان خادمك المحلي إلى عنوان Ngrok.

ngrok http 500

انسخ عنوان Ngrok الذي يعين مضيفك المحلي.

انتقل إلى موقع Slack API. تحت اشتراكات الحدث ميزة تمكين الأحداث. تحت طلب URL أدخل عنوان نجروك متبوعًا بـ /slack/events. سيشير هذا إلى نقطة النهاية الخاصة بك.

ثم اشترك في حدث member_joined_channel. سيؤدي هذا إلى إخطار الروبوت الخاص بك في كل مرة ينضم فيها المستخدم إلى قناة. انقر فوق حفظ التغييرات. سيضيف Slack تلقائيًا النطاقات التي تحتاجها للاشتراك في هذا الحدث. في كل مرة تقوم فيها بتغيير نطاق ، سيتعين عليك إعادة تثبيت تطبيقك في مساحة العمل.

انقر فوق إعادة تثبيت التطبيق الخاص بك.

اختبار الروبوت الخاص بك

اذهب إلى مكان عملك. انتقل إلى القناة التي تريد استخدام الروبوت. إرسال رسالة مباشرة إلى الروبوت. على سبيل المثالWelcoming Bot. ستظهر مطالبة لإضافة الروبوت إلى القناة. انقر فوق إضافة.

الآن ، في كل مرة ينضم فيها مستخدم جديد إلى القناة ، سيرسل الروبوت رسالة ترحيب.

تُظهر الصورة أعلاه أن الروبوت يرحب بمستخدم جديد في القناة.

حقق أقصى استفادة من مساحة عمل Slack الخاصة بك

ليست برامج Slack هي الطريقة الوحيدة لتوسيع وظائف نظام المراسلة في Slack. الطريقة الأخرى هي دمج أدوات الجهات الخارجية مع Slack. أنها توفر وظائف إضافية داخل النظام الأساسي.

تعرف على عمليات الدمج هذه لأنها ستزيد من إنتاجيتك في Slack.