Slack هي أداة مريحة وشائعة يمكنك تحسينها باستخدام أوامرك الخاصة ، والمصممة خصيصًا لمؤسستك.

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

بينما يوفر لك Slack العديد من أوامر الشرطة المائلة المضمنة ، يمكنك إنشاء أوامر مخصصة باستخدام Slack's API. يمكنك بعد ذلك تكوين الأمر المخصص لأداء مهمة معينة عندما يقوم المستخدم بتشغيلها.

لماذا إنشاء أمر مائل مخصص في Slack؟

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

إعداد تطبيق Slack

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

افتح علامة تبويب أخرى وانتقل إلى ملف موقع ويب Slack API.

اضغط على أنشئ تطبيقًا زر. في الصفحة التالية التي تظهر ، حدد خيار إنشاء تطبيق من الصفر.

instagram viewer

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

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

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

قم بالتمرير لأعلى إلى ملف رموز OAuth المميزة لمساحة عملك ، وانقر فوق التثبيت في مساحة العمل زر.

في الصفحة التالية التي تظهر ، انقر فوق يسمح زر. سيؤدي هذا إلى تثبيت التطبيق في مساحة العمل الخاصة بك.

إنشاء أمر مائل مخصص باستخدام Slack API

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

أكمل ال يأمر, طلب URL، و وصف قصير من الأمر الذي تريد إنشاءه. عنوان URL للطلب هو نقطة النهاية التي يرسل Slack طلب POST إليها عندما يقوم المستخدم بتشغيل الأمر. استخدم عنوان URL للمضيف المحلي كعنصر نائب ؛ ستقوم بتبديل عنوان URL هذا لاحقًا.

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

في الصفحة التي تظهر بعد ذلك ، انقر فوق السماح بإعادة تثبيت التطبيق في مساحة العمل الخاصة بك.

تكوين سلوك الأمر المائل

قم بتشغيل أي Python IDE. خلق بيئة افتراضية جديدة. قم بإنشاء ملف Python جديد وملف env جديد. على الجهاز ، قم بتشغيل الأمر التالي لتثبيت المكتبات المطلوبة.

نقطة تثبيت طلبات python-dotenv Flask-slack-bolt

ال بيثون دوتنف ستسمح لك المكتبة بتحميل متغيرات البيئة في ملف .env. ال الطلبات مكتبة تتيح لك إجراء طلبات HTTP و قارورة يعالج طلبات HTTP الواردة ويعيد الردود. سلاك بولت يعالج طلبات Slack الواردة.

افتح ملف .env وأنشئ متغيرين للبيئة. سميهم BOT_TOKEN و SIGNING_SECRET على التوالى. انتقل إلى موقع Slack API. تحت التطبيق الخاص بك معلومات اساسية انسخ سر التوقيع واستخدمه لتهيئة متغير BOT_TOKEN. انتقل إلى ميزة OAuth & أذونات وانسخ رمز OAuth لمستخدم Bot. استخدمه لتهيئة متغير SIGNING_SECRET.

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

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

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

يستورد نظام التشغيل
من باثليب يستورد طريق
من دوتنف يستورد تحميل
يستورد الطلبات
من قارورة يستورد قارورة ، طلب ، jsonify
من سلاك_بولت يستورد برنامج
من slack_bolt.adapter.flask يستورد SlackRequestHandler

قم بإنشاء مثيل جديد لتطبيق Flask.

التطبيق = قارورة (__name__)

قم بتحميل متغيرات البيئة من ملف .env باستخدام الامتداد load_dotenv () وظيفة.

env_path = مسار ('.') / ".env"
load_dotenv (dotenv_path = env_path)

قم بإنشاء مثيل جديد لتطبيق Slack باستخدام امتداد برنامج فصل دراسي من مكتبة slack_bolt.

slack_app = التطبيق (
الرمز المميز = os.environ ["BOT_TOKEN"],
Sign_secret = os.environ ["SIGNING_SECRET"]
)

قم بإنشاء وظيفة معالج التوجيه التي تعالج الطلبات الواردة إلى /slack/command نقطة النهاية. عندما تتلقى نقطة النهاية ملف بريد الطلب ، يوزع بيانات نص الطلب. ثم يتحقق ما إذا كان الأمر /joke. إذا كان الأمر كذلك ، فإنه يستدعي get_joke () دالة وإرجاع استجابة JSON إلى Slack مع نتيجة الأمر.

@ app.route ("/ slack / command"، الأساليب = ["POST"])
defيأمر():
# تحليل بيانات نص الطلب
data = request.form

# قم باستدعاء الوظيفة المناسبة بناءً على أمر الشرطة المائلة
لو بيانات["يأمر"] == "/نكتة":
message = get_joke ()
آخر:
رسالة = f "أمر غير صالح: {بيانات['يأمر']}"

# رد الرد على سلاك
يعود jsonify ({"نص": رسالة})

قم بإنشاء وظيفة ترسل طلب GET إلى نكت API لاسترداد نكتة عشوائية بتنسيق JSON. ثم تقوم بإرجاع النكتة كسلسلة.

defget_joke():
url = " https://icanhazdadjoke.com/"
رؤوس = {"يقبل": "التطبيق / json"}
response = request.get (url، headers = headers، timeout =5)
نكتة = response.json () ["نكتة"]
يعود نكتة

قم بإنشاء مثيل جديد لملف SlackRequestHandler الكائن الذي سيتعامل مع الطلبات الواردة من Slack.

المعالج = SlackRequestHandler (slack_app)

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

لو __name__ == "__رئيسي__":
# ابدأ تطبيق Flask على المنفذ 5000
app.run (المنفذ =5000، تصحيح =حقيقي)

قم بتشغيل البرنامج لبدء تشغيل الخادم على المضيف المحلي.

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

قم بتشغيل الأمر التالي للحصول على عنوان URL العام:

ngrok http 5000

تُظهر الصورة أدناه عنوان URL العام على ngrok ، مظللًا باللون الأبيض.

انسخ عنوان URL وانتقل إلى موقع Slack API. اضغط على أوامر القطع ميزة. قم بتحرير الأمر / joke واستبدل العنصر النائب لعنوان URL للطلب بعنوان URL العام الخاص بك. أضف / Slack / الأحداث في نهاية عنوان URL للإشارة إلى نقطة النهاية الخاصة بك.

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

تعرف على ميزات Slack الأخرى

يحتوي Slack على الكثير من الميزات التي يقدمها بخلاف أوامر Slash. إن التعرف على هذه الميزات سيمكنك من فهم كيفية عملها.

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