كيفية بناء Meetupbot لسلاك باستخدام Node.js

Meetupbot لسلاك

ما هو سلاك؟

إذا كنت مستخدمًا جديدًا لـ Slack ، فهو منصة رائعة لتعاون الفريق والرسائل الفورية المستخدمة داخل المؤسسات وخارجها للمساعدة في التواصل الجماعي والتعاون.

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

أفضل وظيفة هي أنها تسمح أيضًا بالتكامل على نظامها الأساسي. وهذا ما يجعله مختلفًا عن منصات المراسلة والتعاون الأخرى.

يمكنك دمج تقويم Google و Twitter و Trello والمزيد. يتيح لك أيضًا إنشاء تطبيقات مخصصة مثل برامج الروبوت.

مشروع

في هذا المنشور ، سوف أسير عبر مبنى MeetupBot لـ Slack باستخدام Node.js. سوف يوفر لك قائمة بالاجتماعات التي تحدث بالقرب من موقعك بناءً على اهتمامك.

شعور بالحماس؟

سوف تستخدم أوامر القطع Slack. يمكنك كتابة / meetupbot من داخل Slack للاتصال بـ MeetupBot وسيستقبلك مع قائمة الأوامر.

لقد قمت ببناء هذا المشروع كجزء من مجموعة Chingu مع اثنين من أعضاء فريقي Zameer و Linus

ستحتاج إلى معرفة أساسية بـ Node.js وكيفية عمل واجهات برمجة التطبيقات. هيا بنا نبدأ.

خطوات بناء MeetupBot لـ Slack

الخطوة 1 - إعداد المشروع

عنوان URL الخاص بي الريبو: الركود - ميتوب بوت
خلل: glitch.com
Meetup_api: meetup.com/meetup_api

  • أول شوكة مستودع بلدي هنا.
  • ثم انتقل إلى glitch.com وقم بإنشاء مشروع وتعديل اسم المشروع إلى اسم أقصر.
  • انقر فوق اسم المشروع> خيارات متقدمة. ثم انقر فوق استيراد من جيثب. تحتاج أولاً إلى منح حق الوصول إلى ريبو GitHub لاستيراد مستودعاتك إلى Glitch.
  • انتقل إلى Meetup Api هنا وانقر فوق علامة التبويب Key API وحفظها كما سيتم تمريرها مع كل طلب إلى Meetup API.
  • في مشروع Glitch ، افتح ملف .env وقم بتعيين متغير SECRET كمفتاح API Meetup الخاص بك كـ SECRET =
  • انقر فوق "إظهار Live في Glitch" وستحصل على عنوان URL الخاص بمشروع Glitch.

الخطوة 2 - إنشاء تطبيق سلاك

  • انتقل إلى تطبيقات Slack ، ثم انقر فوق تطبيقاتك> إنشاء تطبيق جديد.
    وسوف تظهر لك الشاشة التالية:

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

في الشاشة التالية ، سترى صفحة تكوين التطبيق مع الأمور التالية:

  1. تنشيط صفحات الويب الواردة.
  2. إنشاء أوامر القطع.
  3. تثبيت التطبيق الخاص بك إلى مساحة العمل الخاصة بك.
  • الآن انقر على Webhooks الواردة وتنشيطها.
    Webhooks الواردة تسمح لك بنشر الرسائل في Slack.
  • الشيء التالي انقر على Slash Command "وإنشاء واحد باسم / meetupbot. أمر باسم / meetupbot ، اطلب عنوان URL كـ / meetupbot ، وأضف وصفًا مختصرًا وتلميح استخدام.
  • عن طريق تنشيط Webhooks الواردة وإنشاء أوامر Slash ، يجب أن تكون قد حصلت بالفعل على علامة خضراء على الأذونات.
  • انقر الآن على تثبيت التطبيق الخاص بك إلى مساحة العمل الخاصة بك ، وسوف يأخذك إلى الشاشة التالية للتأكيد والتفويض قبل التثبيت. والآن أنت جيد للذهاب.

الخطوة 3 - اختباره في قناتك

افتح قناة فريق Slack واكتب / meetupbot وستتمكن من رؤية أوامرك تظهر. انقر فوق Enter وسترى رسالة ترحيب من MeetupBot وقائمة بالأوامر التي يمكنك استخدامها.

نظرًا لأنك قمت بإنشاء أمر شرطة مائل واحد فقط ، انتقل إلى صفحة التطبيق الخاصة بك وقم بإنشاء أمر واحد آخر كـ / meetupbot-show بعنوان طلب URL كـ / meetupbot-show (اتبع الخطوة 2 - إنشاء أمر Slack).

جرب الآن هذا الأمر ، اكتب / meetupbot-show سان فرانسيسكو وجافا سكريبت ، ثم اضغط على Enter وستظهر لك قائمة بلقاءات جافا سكريبت في سان فرانسيسكو مع تفاصيل مثل اسم الحدث ومجموعة Meetup ، تاريخ الاجتماع ، الحالة ، المكان ، وعدد Rsvp. انقر فوق "حدث" وسوف يأخذك إلى صفحة "حدث ميتوب" الخاصة بها.

لذلك ، تهانينا على إنشاء MeetupBot لـ Slack بنجاح باستخدام Node.js.

لنفهم الكود.

نحن نستخدم Google Geocode API للحصول على خط الطول والعرض من معلمة الموقع / العنوان التي يتم تمريرها في الأمر. بعد ذلك يتم تمرير خطوط الطول والعرض هذه إلى جانب معلمة الاهتمامات إلى واجهة برمجة تطبيقات Meetup للحصول على قائمة بالاجتماعات.

نحن نستخدم أيضًا Express.js و JavaScript Promises ، حزم npm Moment.js لتحليل التواريخ وطلب إجراء مكالمات API.

ماذا يحدث عند الاتصال / meetupbot؟ يجعل طلب بوست إلى خلل مشروع- url / meetupbot.

يحتوي نص الطلب على اسم المستخدم والنص ومعلومات أخرى. كائن الرد هو تنسيق استجابة JSON لواجهة برمجة تطبيقات Slack.

ماذا يحدث عند الاتصال / meetupbot المعرض؟ يجعل طلب بوست إلى خلل مشروع- url / meetupbot. يحتوي نص الطلب على اسم المستخدم والنص (مثل الموقع والفائدة مفصولة بـ "&") ومعلومات أخرى.

نتأكد أولاً من أن معلمات الموقع والفائدة المرسلة بواسطة الأمر ليست فارغة.

بعد ذلك ، نقوم بتمرير الموقع إلى طريقة getGeocode وهي عبارة عن وعد JavaScript يُجري مكالمات إلى Google Geocode API ويعيد Latitude و Longitude ، والذي يتم تمريره بعد ذلك إلى getMeetupEvents Promise للحصول على قائمة من Meetup عن طريق إجراء مكالمة إلى Meetup API.

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

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

ستكون هذه الاستجابة مرئية لك فقط (المستخدم الذي يتصل بالروبوت) ولن تزعج أعضاء القناة الآخرين.

في الكود أعلاه لدينا 2 وعود على النحو التالي:

  • getGeoCode () - يأخذ هذا الموقع كمعلمة ويقوم بإجراء مكالمة API إلى Google Geocode API مع الموقع كسلسلة استعلام وإرجاع منذ فترة طويلة.
  • getMeetupEvents () - يأخذ هذا الموقع والاهتمام كمعلمات ويجعل واجهة برمجة التطبيقات (API) تستدعي Meetup API التي تحتوي على مفتاح API أو Latitude أو Longitude أو text أو الاهتمام ونصف قطرها كمعلمات سلسلة استعلام.

يستخدم الرمز أعلاه JavaScript Promise والذي يستخدم بشكل أساسي لمعالجة العمليات غير المتزامنة. يتيح لك كتابة التعليمات البرمجية غير المتزامنة التي تشبه في النمط الرموز المتزامنة.

يساعد أيضًا في تجنب عمليات الاسترجاعات المتداخلة باستخدام السلسلة. إذا كان لديك عمليات رد اتصال متداخلة في التعليمات البرمجية ، فسيبدو كأنها بنية هرمية تُعرف أيضًا باسم "callback hell".

MeetupBot الرسمية

لدى MeetupBot الرسمي أمر واحد آخر هو / meetupbot-find للحصول على قائمة بمجموعة Meetup في موقعك / منطقتك ولديه أيضًا رمز Oauth بحيث يمكنك تثبيته بالنقر فوق زر الإضافة إلى slack.

يمكنك العثور عليه هنا من صفحة MeetupBot المقصودة و MeetupBot github repo. البدء في استخدامه الآن.

هل وجدت هذه المادة مفيدة؟ اكتب تعليقاتك أدناه.

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

- شكرا جزيلا :)

نشرت أصلا هنا.