إنشاء التدفقات الفرعية (Sub-Flows)

مبتدئ

image_pdf

إنشاء Slack Bot للاستعلام عن البيانات :

دعونا نختم هذا الدرس مع مثال أكثر تعقيدا يستخدم أحد العقد ضمن المجموعة الموسعة التي تقدمها FRED -عقدة slack bot و الاستفسارات عن البيانات من منصة Openweathermap  .

Openweathermap هي المنصة التي توفر بيانات توقعات الطقس في جميع أنحاء العالم. بإستخدام APIs من الموقع، أنت قادر على الاستعلام عن اي موقع في Slack  . سوف تحتاج إلى اعداد حساب مطور على Openweathermap  من أجل استخدام عقدة openweathermap في FRED  .

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

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

create-reusable-sub-flows

بعد إنشاء Slack Bot الخاص بك سوف تحصل على رمز (API Token) ، كما هو موضح بالصورة التالية :

create-reusable-sub-flows

بعد ذلك، سوف تحتاج إلى أن يكون لديك عقدة openweathermap  المثبتة في FRED . ببساطة يتم تثبيت عقدة openweathermap من خلال “Add or Remove Nodes” من الشريط الجانبي .

للقيام بذلك، يجب عليك تسجيل الدخول إلى حساب FRED ، وإعداد لوحة جديدة للتدفق. قم بسحب و اسقاط عقدة Slack Bot إلى لوحة عمل التدفق. قم بالضغط مرتين على العقدة ليتم إضافة Slack Bot API  الخاص بك ، كما هو مبين بالشكل أدناه. يمكنك الاستماع إلى قناه محددة عن طريق تعيينها في حقل Channel .

create-reusable-sub-flows

الآن قم بربط عقدة function و انقر مرتيين عليها ليتم تهيئتها. سوف تحتاج إلى إعداد مخرجين إلى عقدة function  .
قم بنسخ ولصق الكود أدناه، وظيفية الكود هي تحليل استعلام يستند إلى نص:

var query = msg.payload.split(",");
if (query.length == 2){
 msg.location={
 city:query[0],
 country:query[1]
 }
 return [msg, null];
} else {
 msg.payload="invalid search";
 return [null,msg] 
}
create-reusable-sub-flows

وظيفة عقدة Function هو تحليل الرسائل الواردة من قبلBot الخاص بنا . إذا كانت الرسائل تحتوي على كلمتين ويتم فصل الكلمات بواسطة “,” ، سيتم قطع(فصل) أجزاء السلسلة و إنشاء معلمة استعلام في راسلة الإخراج. وهذا الذي سيكون في متناول اليد في الخطوة التالية .

بعد ذلك، يتم ربط عقدة openweathermap إلى عقدة Function ولا تنسى إضافة API في علامة التبويب التهيئة في الحقل المخصص .

بعد ذلك، يتم ربط عقدة Function بعد عقدة  openweathermap لتحليل استجابة الانتاج.

create-reusable-sub-flows

ثم قم بإضافة التعليمات البرمجية التالية داخل عقدة Function المضافه:

var newMsg = msg;
newMsg.payload="The city you asked was "+
msg.location.city+", "+msg.location.country+", "+ 
"the weather is "+msg.payload.weather+" with "+ 
msg.payload.detail+". "+ 
"The temperature is "+msg.payload.tempc+"C right now.";
return newMsg;

وأخيرا، سوف تحتاج إلى إضافة عقدة Slack bot للإخراج و تهيئتها مع Bot API Token و القناه. و تصميم التدفق النهائي لهذا الدرس موضح بالصورة أدناه :

create-reusable-sub-flows

الآن، لإختبار عمل التدفق، عد إلى صفحة الرئيسية Slack الخاصة بك ، ثم قم بإضافة الـ Botاالذي قمت بإنشاءه على قناه #general كما هو موضح بالصورة أدناه :

create-reusable-sub-flows

عند نشر التدفق و عد إلى الصفحة الرئيسية للـ Slack الخاصة بك وقم بكتابة Jeddah, SA ، سوف يقوم التدفق  بالاستعلام عن الطقس منopenweathermap  وتحليل بيانات توقعات الطقس إلى Slack bot ، سوف يظهر لك على Bot الخاص بك بيانات الطقس كما هو موضح بالصورة أدناه :

create-reusable-sub-flows
X
تم إضافة المنتج إلى السلة بنجاح