كيفية بناء الروبوت ميتوب سلاك مع المكتبة القياسية و Node.js

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

يعد Meetup موقعًا مشهورًا حيث يشكل الأفراد ذوو الاهتمامات المتشابهة مجموعات لتنظيم الأحداث في مدنهم المحلية.

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

كيف تعمل:

عندما ترسل / nextmeetup 94709 & javascript (أو أي رمز بريدي وموضوع اهتمام) في مربع رسالة Slack ، سيتم تشغيل webhook. سيقدم موقع الويب webhook ، الذي تم إنشاؤه واستضافته على Standard Library ، أولاً طلبًا إلى واجهة برمجة تطبيقات Meetup ، والتي ستُرجع حمولة JSON مع نتائج من الاستعلام.

سيقوم Webhook بعد ذلك بإنشاء رسائل Slack لكل حدث ونشرها على قناة محددة.

لا حاجة للحصول على طغت! لنأخذها خطوة في كل مرة.

ماذا ستحتاج:

1X حساب سلاك

1x حساب ميتوب

1x حساب المكتبة القياسية

الخطوة 1: إعداد تطبيق سلاك الخاص بك

تأكد من تسجيل الدخول إلى Slack وزيارة لوحة معلومات تطبيقات Slack على https://api.slack.com/apps. سترى شاشة تبدو كما يلي.

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

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

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

اجعل صفحة المعلومات الأساسية مفتوحة في متصفحك. سنستخدمه في الثانية لاسترداد بيانات اعتماد تطبيق Slack لربط هذا التطبيق بمنطق الواجهة الخلفية المستضافة على Standard Library - الرمز الذي يشغل تطبيقك.

الخطوة 2: إنشاء حساب مكتبة قياسي مجاني

سنستضيف رمز تطبيق Slack الخاص بنا على Standard Library - الرمز الذي سيطلب وتلقي معلومات محددة من Meetups API. لذا توجه إلى Code on Standard Library وادعي حسابك المجاني.

الخطوة 3: نسخ وتعديل قالب رمز التطبيق سلاك على المكتبة القياسية

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

أدخل اسمًا فريدًا لمشروع API الخاص بك واضغط على Okay.

شرح موجز لقالب كود سلاك التطبيق:

دعنا نتوقف للحظة لفهم ما ننظر إليه. الشريط الجانبي الأيسر عبارة عن سقالة لمشروع واجهة برمجة التطبيقات (API) التي أنشأتها Standard Library لتتمكن من إنشاء تطبيقات Slack.

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

الإجراءات / ، الأوامر / ، والأحداث / وكذلك ملف واحد __main __. js. الإرشادات الخاصة بإجراءات Slack وأوامر الشرطة المائلة والأحداث الخاصة بالتطبيق مباشرة داخل هذه المجلدات.

عندما تقوم بنشر واجهة برمجة التطبيقات ، ستنشئ Standard Library تلقائيًا نقاط نهاية HTTPS (عناوين URL) لكل دليل. ستسمح لنا عناوين URL الناتجة بتكوين صفحات الويب التي تستمع وتستجيب لإجراءات Slack وأوامر القطع والأحداث.

يتم إعداد جميع المجلدات الخمسة (بما في ذلك مجلد الوظائف مع ملف __main __. js (نقطة النهاية الرئيسية للدليل). ترسل نقاط النهاية هذه __. js الوظائف المناسبة عندما يتلقون رسالة من Slack. بالنسبة لهذا البرنامج التعليمي ، سيتم إرسال نقطة نهاية الأوامر عند استدعاء API الخاصة بنا عبر Slack Bot ، والآن ، دعنا نعود إلى إعداد bot الخاص بنا!

الخطوة 4: إضافة أمر إلى واجهة برمجة تطبيقات المكتبة القياسية

إنشاء أمر إضافي

الأوامر: دليل الأوامر هو نقطة النهاية لجميع أوامر Slack slash. قم بإنشاء أمر إضافي عن طريق وضع المؤشر فوق دليل الأوامر والنقر بزر الماوس الأيمن. حدد ملف جديد وقم بتسمية ملف أمر الشرطة المائلة nextmeetup.js وانقر فوق "موافق".

اسم القيادة الخاصة بك

في هذه المرحلة ، ستلاحظ وجود وظيفة JavaScript "hello world" داخل (__main __. js) ، والتي يتم إنشاؤها تلقائيًا.

استبدال محتويات nextmeetup.js بما يلي:

شرح موجز للمدونة:

عندما ترسل / nextmeetup عبر تطبيق Slack ، فأنت تقدم طلبًا للحصول على واجهة برمجة تطبيقات Meetup.

يجب المصادقة على كل طلب لواجهة برمجة التطبيقات Meetups بمفتاح API ، لذلك نقوم بتمرير مفتاح Meetup الخاص بنا من ملف env.json إلى طلبنا. نرسل أيضًا طلب GET الخاص بنا مع المعلمتين ، الرمز البريدي والموضوع.

تقوم واجهة برمجة تطبيقات Meetup بإرجاع مجموعة من كائنات أحداث الاجتماع ، والتي يمكننا عرضها من الشفرة في سجلات المكتبة القياسية عن طريق تسجيل ردنا: console.log (response.data). توجد علامة التبويب سجلات أسفل قسم التصحيح.

إن response.data عبارة عن مجموعة من الأحداث التي تتطابق مع استفسارك ، ونريد إنشاء مرفقين لكل حدث (إحداها للموقع والأخرى للتفاصيل). لدينا وظيفة تسمى formatAttachement التي يمكننا الاتصال بها في كل حدث. يتم وضع النتائج في صفيف يسمى المرفقات التي يتم إرسالها إلى Slack.

بمجرد نسخ الشفرة ولصقها في ملفك nextmeetup.js ، احفظ التغييرات وانتقل إلى ملف env.json في قائمة الشريط الأيسر.

الخطوة 5: املأ ملف env.json الخاص بك باستخدام بيانات اعتماد التطبيق والمفاتيح

داخل env.json ستلاحظ متغيرات البيئة لواجهة برمجة التطبيقات. يمكنك تعيين قيم مختلفة للبيئات المحلية وديف والإصدار (الإنتاج). سيحتفظ هذا الملف بكافة مفاتيح الوصول الفريدة الخاصة بك إلى حساب Standard Library الخاص بك ، وحساب Meetup وبيانات اعتماد تطبيق Slack.

سنقوم فقط بإجراء تعديلات على متغيرات البيئة "dev" - تأكد من تعديل المجموعة الصحيحة! لاحظ أن قيم "dev" مخصصة لبيئة التطوير الخاصة بك ، ويجب ملء قيم "حرر" فقط عندما تكون جاهزًا لإصدار التطبيق الخاص بك. يمكن ترك المتغيرات "المحلية" فارغة عند النشر من Code في Standard Library ، ولكن يجب أن تملأ عند العمل مع أدوات سطر الأوامر.

لنبدأ بملء المتغير "STDLIB_TOKEN". ضع المؤشر بين علامات الاقتباس (انظر الشاشة) ثم انقر بزر الماوس الأيمن وحدد Insert Library Token ... أو استخدم الاختصار ⌘ + K.

حدد رمز مكتبتك

حدد Library Token لملء بيئة "dev".

انتقل الآن إلى صفحة المعلومات الأساسية في تطبيق Slack وانتقل لأسفل إلى مؤهلات اعتماد التطبيق:

انسخ معرف العميل وسري العميل ورمز التحقق. الصقها في حقولها في قسم "dev" من ملف env.json.

أضف الاسم الذي أعطيته تطبيق Slack الخاص بك لـ SLACK_APP_NAME.

على سبيل المثال: SLACK_APP_NAME: Meetup-bot

ستكون قيمة "SLACK_REDIRECT" هي نقطة نهاية https التي تم إنشاؤها بواسطة Standard Library بمجرد نشر واجهة برمجة التطبيقات. على الرغم من أننا لم نُنشر بعد ، فابدأ في ملء هذا النموذج الآن باستخدام هذا الهيكل. https: // .api.stdlib.com / @ dev / auth / - باستخدام اسم المستخدم القياسي للمكتبة واسم واجهة برمجة التطبيقات. بمجرد نشر الرمز ، يمكنك العودة للتأكيد على أنك ملأت هذه القيمة بشكل صحيح.

يبدو SLACK_REDIRECT مثل هذا: https://Janethl.api.stdlib.com/slack-meetup-bot@dev/auth/ - تأكد من إضافة مسار المصادقة بخط مائل في النهاية.

سيتم بالفعل إعداد إمكانات أذونات تطبيق Slack الخاص بك باستخدام النطاقات التالية:

"SLACK_OAUTH_SCOPE": بوت، الأوامر، دردشة: الكتابة: بوت، دردشة: الكتابة: المستخدم، الملفات: الكتابة: المستخدم، قنوات: التاريخ

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

الخطوة 6: استرداد مفتاح API Meetup الخاص بك

تسجيل الدخول أو إنشاء حساب في Meetup.com. انتقل إلى https://secure.meetup.com/meetup_api/key/ لاسترداد مفتاح واجهة برمجة التطبيقات الفريدة. انقر على القفل للكشف عن مفتاح API ونسخه.

ارجع إلى env.jsonfile على الرمز في المكتبة القياسية. أضف مفتاح Meetup الخاص بك كقيمة "مفتاح" ، تمامًا كما فعلت في الصورة:

تأكد من حفظ التغييرات باستخدام "+" (أو اضغط على "حفظ" في أسفل اليمين).

في قائمة الشريط الجانبي بالقلم ، ملف __main __. js الموجود أسفل دليل الأحداث. انشر كود تطبيق Slack الخاص بك على Standard Library من خلال النقر على "Run".

  • بعد نشر الشفرة بفترة قصيرة ، تنشئ Standard Library عنوان URL لنقطة نهاية واجهة برمجة تطبيقات HTTPS حيث تعيش الشفرة. يتكون هذا العنوان من .api.stdlib.com متبوعًا بالاسم الذي أعطيته API @ البيئة: https://janethl.api.stdlib.com/slack-meetup-bot@dev/

لدينا الآن عنوان URL الذي سيسمح لنا بإرسال واستقبال الرسائل من تطبيق Slack إلى واجهة برمجة تطبيقات Meetup. نحتاج الآن إلى تعيين عنوان URL الخاص بنا باعتباره webhook في Slack ، لذا دعنا نعود إلى لوحة معلومات تطبيق Slack

الخطوة 7: إنشاء أمر مائل جديد وتعيين Webhook

نحتاج الآن إلى تعيين تطبيق Slack للرد على أمر شرطة مائلة (/). لهذا ، نحتاج إلى إعداد webhook على صفحة Slacks API.

ما هو Webhook؟

ربما يمكننا أن نفهم ماهية webhook من خلال مقارنته بواجهة برمجة التطبيقات. تستند واجهات برمجة التطبيقات إلى طلب - بمعنى أنها تعمل عند تقديم طلب من تطبيق تابع لجهة خارجية. يستند webhook إلى الحدث - سيتم تشغيل الرمز عندما يقوم حدث معين بتشغيله.

لتعيين webhook ، يجب على مقدم الخدمة السماح للمستهلكين بتسجيل عنوان URL حيث يمكن للمزود إرسال المعلومات عند حدوث حدث. في هذا المثال ، يُمكّنك Slack من تسجيل عنوان URL الخاص بنا ، وبمجرد تسجيل أمر مائل يمكن أن يؤدي إلى تشغيل webhook الخاص بنا ، والذي سينفذ الكود في عنوان URL الخاص بنا.

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

بعد النقر فوق "إنشاء أمر جديد" ، سيُطلب منك إدخال تفاصيل الأمر ، على سبيل المثال استخدم:

القيادة: / nextmeetup

RequestURL: https: // .api.stdlib.com / @ dev / commands /: bg

وصف قصير: يسترجع أحداث Meetup

تلميح الاستخدام: [ & ]

اضغط على "حفظ" بمجرد الانتهاء.

الخطوة 8: تمكين OAuth والأذونات

ارجع إلى تطبيق Slack ، في قائمة الشريط الجانبي ، انقر فوق OAuth & أذونات.

بمجرد وصولك ، ستحتاج إلى إدخال عنوان URL لإعادة التوجيه على النحو التالي: https: // .api.stdlib.com / @ dev / auth /

انقر فوق "إضافة" و "حفظ عناوين URL".

يجب أن يتطابق عنوان URL المعاد توجيهه مع عنوان URL الذي قمنا بتعيينه في ملف env.json في Code on Standard Library.

الخطوة 9: إضافة بوت إلى تطبيق سلاك الخاص بك

ارجع إلى صفحة Slack App ، وانقر فوق Bot Users على الشريط الجانبي الأيسر. انقر فوق إضافة مستخدم Bot. الحفاظ على الإعدادات الافتراضية.

إضافة مستخدم بوت

الخطوة الأخيرة هي تفويض التطبيق. في متصفحك ، اكتب: https: // .api.stdlib.com / @ dev /

انقر فوق الزر "إضافة إلى سلاك". سيتم نقلك إلى شاشة ترخيص أخرى.

انقر فوق تخويل. يجب أن ترى رسالة نجاح!

الخطوة 10: اختبار التطبيق الخاص بك Slack Meetup

لقد انتهيت جميعًا. حاول! تطبيق Slack متاح للاستخدام الآن في مساحة عمل Slack التي سمحت لها باستخدامها. يجب أن يستجيب تطبيق Slack الخاص بك إلى / nextmeetup <94709> & كما تظهر في لقطة الشاشة أعلاه.

هذا هو & شكرا لك!

أتمنى أن تكون قد وجدت هذا البرنامج التعليمي مفيدًا. أود منك التعليق هنا أو إرسال بريد إلكتروني إلي في Janeth [at] stdlib [dot] com أو متابعة Standard Library على Twitter ،StdLibHQ.

جانيث ليدزما هي محامية مطوّرة لمكتبة ستاندرد ومكتبة كال غراد. عندما لا تتعلم اللغة العربية ، أو لا تعمل ، يمكنك أن تجدها تستكشف NorCal على CBR500R لها. 🏍 تابع رحلتها مع Standard Library من خلال Twittermss_ledezma.