كيف ترسل رسائل Microsoft Teams باستخدام بايثون

كل الوظائف تتضمن مهام متكررة. سواء كان ضمناً مندوب الدعم يحلل طلبات المساعدة المتكررة، أم قائد الفريق يراقب مؤشرات الأداء، أو مهندس البرمجيات يتحقق من عمليات الأعمال، هذه المهام تتكرر عادة – يومياً، أسبوعياً، أو حتى كل ساعة.

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

في هذا الدرس التوجيهي، سننظر إلى الحالة المحددة لتشغيل كود Python لجلب توقعات الطقس لموقع محدد وإرسال ملخص لهذه التوقعات إلى منصة Microsoft Teams، وهي منصة تواصل الفرق التابعة لمايكروسوفت. سنغطي جميع الخطوات الضرورية لإعداد webhook لـ Teams، وبرنامج Python يستفيد من الwebhook لإرسال الرسائل، وإعداد جدول لكي يتم تشغيل السكرت بتناوب منتظم. هذا العرض الخاص عن التقرير على توقعات الطقس، ولكن يمكنك بالتأكيد تغيير هذه العملية الأعمالية بأي شيء تريد؛ جميع إعدادات والكود لإرسال الرسالة إلى Teams سيظلون بالضبط نفسهم.

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

يمكنك أيضًا البحث في دليلنا المنفصل عن كيفية إرسال رسائل Slack مع Python.

دعونا نغوص في الماء!

1. إعداء فورك الويب لتيمز.

في داخل تيمز، هناك فوركات وهي تتحدث فيها فوركات. يمكنك أن تضيف ما يسمى ‘تطبيقات’ إلى تلك القنوات. يمكنك تخيل التطبيق التيمزي كمتمركز أو إضافة ل MS Teams لغرض معين. يوجد تطبيقات لتكافؤ Jira وZendesk وSalesforce وما يعد كثيرًا في Teams، لذا يمكنك أن تتلقى إشعارات بشيء ما الذي يحدث بداخلهم، لكن يمكنك أيضًا أن تقوم بعمليات في تلك التطبيقات من داخل Teams. لمشروعنا الصغير، سنحتاج إلى تثبيت أحد هذه التطبيقات بالفعل، وبالتحديد، تطبيق “فورك الويب المصادر” المنتظم من قبل Microsoft نفسها.

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

ثم انتقل إلى القناة الفريقية التي تريد فيها نشر الرسائل. في مثالنا، هذه هي القناة “العامة” داخل فريق “بطلون تحليل البيانات”:

انقر على الإشارة + بجوار اسم القناة؛ سترى ملخصاً للتطبيقات التي يمكنك إضافتها إلى القناة:

انقر على “الحصول على المزيد من التطبيقات”. ستصل إلى سوق تطبيقات كامل يمكنك إضافته إلى تيمز MS:

في مربع البحث، اكتب “Incoming Webhook.” التطبيق الذي يظهر أولاً هو الذي نحتاج إليه:

انقر على إضافة، ثم على “إضافة إلى فريق.” سيطرح عليك الآن تحديد الفريق أو القناة التي تريد إرسال الرسائل إليها:

مثال هذه الدرسة هو القناة “العامة” في فريق “بطلون تحليل البيانات”, لكن هذا سيختلف عنك. ثم انقر على “إعداد الموصل.” ستظهر شاشة أخرى لطلب بعض إعدادات الوب هوك أكثر.

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

plaintext
ستحتاج إلى URL الوب هوك في برنامجك بلغة Python، لذا تأكد من نسخه إلى الحافظة وحفظه في مكان ما (مثل تطبيق النوتات الخاص بك) للاستخدام لاحقاً. أخيراً، قم بالنقر على “تم”. سترون في المراجعة التي تظهر عرضاً لجميع المتصلين في القناة التي اخترتها.

يمكنك ببساطة إغلاق هذه الشاشة. في القناة التي قمت بإعداد الوب هوك الوارد لها، يجب أن تروا رسالة تؤكد الإعداد:

هذا كل شيء! الآن، قناة Microsoft Teams الخاصة بك جاهزة لاستقبال الرسائل من خلال الوب هوك.

2. كتابة العملية التجارية بلغة Python

إنجازكم الكبير في الوصول إلى هنا! بعد تهيئة الوب هوك الوارد في Teams، وصلنا إلى الجزء الممتع: كتابة الكود بلغة Python. سنبدأ بكتابة بعض الأوامر بلغة Python لـ’العملية التجارية’ لحل المهمة التي نتعامل معها.

إذا كنت بحاجة إلى تحديث لكتابة الكود بلغة Python، يمكنك البدء بدورة مقدمة لغة Python التي هي المكان المثالي للبدء.

يمكنك إما إنشاء دفتر عمل خالٍ من البداية، الذي هو مفيد إذا كنت تعرف بالفعل ما هو برنامج Python الذي تود تلكيره وتدمجه مع Microsoft Teams.

إذا كنت هنا لتتعلم عن المفاهيم، يمكنك البدء بدفتر عمل عينة يلخصت موقعاً للتقرير الجوي لمدينة يمكنك تحديدها. سيكون هناك بيانات جديدة كل يوم، لذا هذا مرشح جيد للتقارير اليومية! قم بالنقر على زر “تشغيل الكود” أدناه لإنشاء هذا الدفتر العمل.

plaintext
تشغيل وتحرير الشفرة من هذا الدرس على الإنترنت

Run code

في كلا الحالتين، يجب أن ينتهي الأمر بورقة داتالاب بتكوين منطقة تشفير الأعمال بالكامل:

3. إرسال رسالة إلى الفرق

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

تخزين عنوان URL للبوابة الخاصة

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

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

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

  • انقر فوق الأزرار “البيئة” على الجانب الأيسر
  • انقر فوق الرمز الإضافي بجوار “متغيرات البيئة”
  • في قائمة “إضافة متغيرات البيئة”:
    • قم بتعيين “الاسم” إلى MS_TEAMS_WEBHOOK_URL
    • في حقل “القيمة”,لصق URL الوب هوك التي حفظتها سابقا。
    • قم بتعيين “اسم مجموعة متغيرات البيئة” إلى “Microsoft Teams” (يمكن أن يكون أي شيء بالفعل)

بعد ملء جميع الحقول,انقر على “إنشاء”,”التالي”,وأخيرا “اتصل”。سيعاد تشغيل جلسة الوركبوك، وMS_TEAMS_WEBHOOK_URL سيكون متاحا كمتغير بيئي في الوركبوك الخاص بك。يمكنك التحقق من ذلك من خلال إنشاء خلية Python بالكود التالي وتشغيله:

import os webhook_url = os.environ["MS_TEAMS_WEBHOOK_URL"] print(webhook_url)

إذا كنت تريد استخدام بيانات الحساب الخدمات الشبيه في وركبوك آخر,لا تحتاج إلى إعداد متغير البيئة مرة أخرى:يمكنك إعادة استخدام متغير البيئة في وركبوكات أخرى。

كود Python لإرسال رسالة Microsoft Teams

مع MS_TEAMS_WEBHOOK_URL جاهز للإستخدام,يمكننا الآن كتابة الكود الخاص ب Python لإرسال رسالة إلى Teams! لهذا,سنستخدم حزمة pymsteams، التي توفر غلافا مريحا للواجهة الخاصة بال API العقيمة لإرسال الرسائل إلى Teams。دعونا نثبتها ونستوردها، بالإضافة إلى حزمة os لقراءة متغيرات البيئة:

!pip install pymsteams import pymsteams import os

بعد ذلك، يمكننا إنشاء ما يسمى ‘بطاقة الموصل’ – كلمة عبقرية لرسالة نصية غنية في Teams -، وإضافة بعض النص إليها، وإرسالها:

card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"]) card.text("Hello Teams!") assert card.send()

شغل هذا الكود! يجب أن ترى هذه الرسالة في القناة:

رائع! هذه كانت رسالة مجردة و لكن يمكنك أيضًا إنشاء رسالة بناءً على نتائج خوارزميات أعمالك، كما فعلنا في مجرد مرفق عمل:

card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"]) card.title("Weather Forecast") card.text("\n".join([ f"Weather for {CITY} in the next three days:", f"- Min temperature: {weather_df['temperature_2m'].min()} {unit_temperature}", f"- Max temperature: {weather_df['temperature_2m'].max()} {unit_temperature}", f"- Total precipitation: {weather_df['precipitation'].sum():.2f} {unit_prec}" ])) assert card.send()

مع تلك النتيجة التالية:

في النهاية يمكنك أيضًا تسخير DL_WORKBOOK_ID المتغير البيئي لتضمين أزرارًا يصل إلى مرفق عملك في حال أردت بمجرد إضافة طريقة سهلة للتحويل من الفرقة التعاونية الى المرفق العملي الذي يدفع هذه الرسالة:

card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"]) card.title("Weather Forecast") card.text("\n".join([ f"Weather for {CITY} in the next three days:", f"- Min temperature: {weather_df['temperature_2m'].min()} {unit_temperature}", f"- Max temperature: {weather_df['temperature_2m'].max()} {unit_temperature}", f"- Total precipitation: {weather_df['precipitation'].sum():.2f} {unit_prec}" ])) card.addLinkButton("View detailed forecast", f"https://www.datacamp.com/datalab/w/{os.environ.get('DL_WORKBOOK_ID', 'invalid')}/edit") assert card.send()

مع تلك النتيجة التالية:

هذا رائع ، أليس كذلك!

4. تautomate!

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

  • في شريط المENU العام في الأعلى ، انقر على تشغيل > تنظيم التشغيل
  • ختاز تنظيم التشغيل كما ترغب:
    • قم بإعداد الدفتر للتشغيل تلقائيًا بشكل يومي أو أسبوعي. في الجدولات الأسبوعية ، اختار اليوم و الوقت الدقيقين.
    • قم بإضافة مستخدمين لـ DataCamp الذين تود أن يتم إخبارهم كل مرة يتم إنتهاء المستند (بنجاح أو بفشل). هذا مفيد للفشل، لذا يمكنك أن تغوص وتصحح عندما يحدث مشكلة.

إذا تم Configured كما يظهر في الشاشة السابقة، سيتم تشغيل المستند الآن في الوقت المحلي الصباحي 9:30 بموجب تواصل الرسالة في القناة المحددة لتيم كل صباح.

التوعية أو عدم التوعية

ليس كل مهمة من المرشحين للتوعية. يعتمد على مدى وجودك لها ومدى وقت تطبيقها يدوياً ووقت إنشاء script البوتن لتوعيةها. على سبيل المثال، أخذ تقرير سنوي يتطلب 20 دقيقة لتجميعه يدوياً. إذا أستغرق لك نصف يوم لكتابة خطوة له ، فسيتمكن من الاستفادة منها بعد العشر سنوات!

هذه توصيف في شكل جدول:

لذا إذا كان مهمة تقوم بها يومياً تستغرق 5 دقائق قبلًا ، يمكنك أن تنفق أقل من 6 أيام لمحاولة توعية هذه المهمة. إذا أستغرقت أقل وقت من ذلك للتوعية ، سيكون لديك وقت أضافي (يعتمد على خمس سنوات).

خلاصة

تعميم إعداد DataLab لإرسال رسائل إلى Microsoft Teams يتطلب مرور عدة شاشات في البداية. ومع ذلك ، بمجرد أن تكون جميع الإعدادات مع الرابط القصير لـ DataLab ، تكون إرسال الرسالة مجرد إضافة بعض أخطوات البوتن القصيرة — إنه بسيط جدًا! الجزء الأفضل ؟ يمكنك توعية أي script البوتن وت

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

تذكر، إذا كان عليك تجديد مهاراتك في كتابة البرمجيات البيتونية، دراستنا للبدء بالبرمجيات البيتونية هي المكان المثالي للبدء.

Source:
https://www.datacamp.com/tutorial/how-to-send-microsoft-teams-messages-with-python