البوتس تتحدث العربية!

لمصنعي البوتات: كيف تُنشىء بوت إخباري على منصة سلاك

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

0 335

يعرض الكاتب هنا كيفية إنشاء بوت إخباري على منصة سلاك، هنا يقتبس البوت المحتوى الخاص به (الأخبار–المقالات) من موقع developerWorks، وبإمكانك أيضًا أن تعزز البوت الخاص بك باستخدام خدمات IBM Watson، يمكنك بالطبع تعديل مصدر المحتوى الخاص بك لتلبية احتياجاتك بحُرّية.

كيف يعمل البوت على منصة سلاك؟

أولا، يجب أن نتعرف على كيفية عمل بوت developerWorks على منصة سلاك في الأساس، بعد أن تفهم كيف يعمل سوف يظهِر لنا الكاتب كيف تم تطويره بالإضافة إلى الأكواد المستخدمة في ذلك. لكي تستفيد من هذا البوت، ستحتاج إلى تثبيت تطبيق منصة سلاك، يمكنك العثور على التطبيق في مسار Slack، أو الوصول إليه من هنا بعد تثبيت التطبيق، قم بالبحث عن بوت “dW News” عن طريق كتابة @dw_news في مساحة العمل الخاصة بك، يمكنك بدأ محادثة شخصية مع البوت أو سحبه إلى الدردشة الجماعية.

اتبع هذه الخطوات للقيام بذلك:

1- في سلاك، انقر على @dw_news لبدء محادثة دردشة مع البوت.

2- قم باختيار الموضوعات التي تُهمّك.

3- ستظهر لك قائمة من المقالات والمحتويات وفقاً لاختيارك.

4- يمكنك الانتقال إلى مواضيع محددة. لكل مقال أو درس، يُمكِن للبوت أن يعطيك ملخصًا جاهزاً. ويمكنك أن تُراجِع المقالات والدروس بالكامل على موقع developerWorks.

من الملاحظ أيضا أن بوت dW News يدعم خدمات البحث عن المقالات بالعلامات والاقتباسات مثل جوجل. يمكنك تحميل الكود المصدري الكامل لبوت dwNews على موقع GitHub من هنا.

ربما يهمك أيضًا لمصنعي البوتات: 6 دروس من تجارب مستخدمي الشات بوتس!

أساسيات روبوتات الدردشة التفاعلية على منصة سلاك

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

يُمكنك إنشاء بوت مخصص لفريقك في سلاك مع كود مميز وذلك عن طريق:

قم بكتابة تطبيق للاتصال بخوادم سلاك أولًا وتحديدًا بواجهة برمجة التطبيقات الخاصة بالمراسلة في سلاك والتي تعرف بـ”Slack Real Time Messaging API. يُعرّف التطبيق نفسه للمنصة عبر رمز مميز يسمى بالـSecret Token. عندئذٍ يقوم سلاك بإرسال جميع الأحداث والردود عبر قناة TCP/IP ويعرض ردود التطبيق الخاص بك في صورة رسائل من بوت الدردشة.

يمكنك حزم بوت الدردشة الخاص بك في تطبيق سلاك. وذلك عن طريق عملية OAuth –بروتوكول يتيح للمستخدم امكانية مشاركة المحتوى لمواقع أو برامج خارجيه بطريقه سريه وآمنه- ثم تنصيب التطبيق عن طريق رابط، بعد تثبيت تطبيق سلاك الخاص بك. سيظهر بوت الدردشة الخاص بك في برنامج Slack، منذ هذه اللحظة يُمكنك أن تتفاعل مع البوت باستخدام واجهة المحادثات الفورية “Real Time Messaging” أو باستخدام واجهة برمجة HTTP Events.

يتناول الكاتب في هذا المقال شرح أحد التطبيقات الكاملة على منصة سلاك وهو بوت “dw News” والذي يستخدم واجهة HTTP Events للتواصل مع منصة سلاك، وفي هذه الحالة يقوم التطبيق المكتوب بلغة الجافا بأربع مهام:

  • استكمال عملية OAuth والمُصادقة بين الخادم والتطبيق.
  • تخزين الرموز المميزة “التوكن”.
  • تلقي الرسائل باستخدام واجهة برمجة HTTP Events وإرسال الردود مرة أخرى لواجهة الويب لمنصة سلاك.
  • الرد مع أزرار تفاعلية داخل الرسائل.

ربما قد يهمك أيضًا 9 أسئلة لمصنعي البوتات عن الشات بوتس!

كيف تنشىء بوت دردشة بلغة الجافا؟

كما ذكر الكاتب سابقًا في هذا المقال، روبوتات الدردشة يُمكِن تركيبها بسهولة على منصة سلاك، والآن يوضح لنا كيفية إنشاء تطبيق على منصة سلاك:

1- انتقل إلى هذا الرابط لرؤية قائمة التطبيقات التي قاام الكاتب بإنشاءها. من هناك قم بالضغط على إنشاء تطبيق جديد “Create a new app“. ستظهر لك قائمة على اليسار توضح لك الخطوات اللازمة لإكمال إنشاء التطبيق.

2- تعرض نافذة المعلومات الأساسية مُعرِّف التطبيق والرمز السري، حيث يلزم معرفة كلاهما لتطبيق عملية OAuth وذلك عندما يحاول أي مستخدم إضافة هذا التطبيق إلى الدردشة الجماعية، وفي هذه النافذة يمكنك اختيار أيقونة للتطبيق، ملء حقل وصف التطبيق، وتقديم روابط لصفحة التطبيق وشروطه ووثيقة الخصوصية.

3- في النافذة الثانية المخصصة لعملية المصادقة والتصاريح، قم بإدخال رابط الـServlet التي قمنا بإنشائه في الخطوة السابقة، سيقوم برنامج الـServlet بمعالجة الرموز السرية وإتمام عملية OAuth. في هذه النافذة يُمكنك إعطاء التصاريح المطلوبة من التطبيق. في حالتنا سنختار تصريح البوت “Bot Permission” يحتوي ذلك التصريح على جميع تصاريح البوت لتلقي والرد على الرسائل.

4- في نافذة Bot User: يُمكنك تحديد الاسم الخاص بالبوت. بعد تثبيت المستخدم للبوت في الدردشة الجماعية وسيظهر اسم بوت الدردشة كعضو في الفريق.

5- النافذة الرابعة هي نافذة الرسائل التفاعلية وذلك لإعداد كيفية رد البوت على أحداث مثل الضغطات على الأزرار في المحادثة. كما ذكرنا سابقًا يُمكنك وضع رابط الـServlet الذي طورناه بالأعلى. يتم نقل هذه الأحداث عبر بروتوكول HTTP لهذا البرنامج “Servlet“، عندئذ يقوم الإطار بتمريرها إلى التطبيق الخاص بك لتنفيذها.

5- في نافذة Slash Commands، يمُكنك إضافة أوامر جديدة للتطبيق ولكن نحن لا نحتاج هذه الخاصية في الوقت الحالي.

6- النافذة الأخيرة وهي نافذة Event Subscriptions: يُمكن للبوت أن يشترك في أحداث المستخدمين في المحادثة، كأن يقوم أحد الأعضاء بإضافة ملف جديد في المحادثة وغيرها، مجدداً، في خانة Request URL  قم بوضع رابط برنامج الـServlet.

يُمكنك تحديد الأحداث التي يتم إرسالها إلى البوت، هذه العملية تتم عبر بروتوكول HTTP والذي ينقل الأحداث من المحادثة إلى الـServlet، ثم يقوم الإطار المستخدم في تطوير البرنامج بتمرير هذه الأحداث للرد عليها باستخدام الطريقة العكسية.

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

اختبار ونشر بوت الدردشة الخاص بك

أسهل طريقة لاختبار تطبيق سلاك تكون عن طريق استخدام زر الإضافة إلى سلاك “Add To Slack”. والزر فعليًا عبارة عن رابط لموقع ويب. قم باستبدال CLIENT_ID بالمُعرف الخاص بالتطبيق ويُمكنك الحصول عليه من أول نافذة أثناء تثبيت التطبيق وهي نافذة Basic Information.

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

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

ختامًا،

تناول الكاتب هنا شرح طريقة بناء ونشر بوت دردشة على منصة سلاك الشهيرة والذي يتميز باستخدامه ثلاثة عناوين ويب مختلفة لإتمام ثلاثة عمليات مهمة جدًا وهي”المصادقة، ورسائل الأحداث، والأزرار التفاعلية”. ولكن الإطار الذي استخدمناه أثناء تطوير تطبيق الجافا الخاص بنا يقلل من الكود المستخدم، بحيث يُمكنك إنشاء تطبيق جافا “Servlet” واحد فقط باستخدام IBM Bluemix ليقوم بالوظائف الثلاث.