أصبحت مساحات العمل الافتراضية مثل Slack جزءاً كبيراً من ثقافة العمل لدينا.
هل تحتاج إلى التواصل مع زملائك في الفريق؟ فقط أرسل لهم رسالة مباشرة على Slack. هل تريد التعاون في مشروع ما؟ سلاك يوفر لك القنوات والتكاملات ومشاركة الملفات بسهولة.
واحدة من أفضل إمكانيات Slack هي الروبوتات الآلية، التي تؤدي ثلاثة أدوار رئيسية عند دمجها في مجموعة أو قناة Slack - تنفيذ المهام تلقائياً، وإرسال الإشعارات، والإجابة على الأسئلة.
تبدو وكأنها منقذة للحياة، أليس كذلك؟ في هذه المقالة، سنستكشف كيفية إنشاء روبوت سلاك المثالي الذي يناسب احتياجات فريقك.
❗ملاحظة: قبل أن تبدأ، ستحتاج إلى تثبيت Slack CLI وتفويض مساحة العمل الجديدة الخاصة بك. قم بتشغيل قائمة مصادقة Slack للتحقق من ذلك.
كيف تصنع روبوت الدردشة الخاص بك على Slack لنستعرض الخطوات اللازمة لإنشاء و
دمج روبوت Slack .
لتسهيل الأمر عليك، سنبدأ بمثال - كيفية كتابة روبوت Slack bot يرسل نصًا ترحيبيًا للمستخدمين الجدد. لاحظ أن العملية مشابهة إلى حد ما لوظائف الروبوتات الأخرى.
كل خطوة تتطلب بعض الترميز. لكن لا تقلق - سيرشدك هذا الدليل إلى كل التفاصيل لضمان قدرتك على إنشاء روبوت الدردشة الآلي الخاص بك دون أي متاعب.
الخطوة 1: إنشاء تطبيق Slack باستخدام واجهة برمجة التطبيقات (CLI)
قبل أن تغوص في إنشاء روبوت Slack الخاص بك، ستحتاج إلى الأدوات المناسبة. تتضمن الخطوة الأولى إنشاء تطبيق Slack الخاص بك باستخدام واجهة سطر الأوامر (CLI).
ابدأ بإعداد تطبيق فارغ باستخدام واجهة سلاك CLI باستخدام هذا الأمر:
Slack create welcome-bot-app -template https://github.com/slack-samples/deno-welcome-bot
سيؤدي تشغيل هذا الأمر إلى إنشاء مجلد تطبيق مرتبط بحسابك على Slack. داخل مجلد التطبيق الجديد الخاص بك، قم بإنشاء ثلاثة أدلة رئيسية ستكون بمثابة الأساس لروبوت Slack الخاص بك:
- الوظائف
- سير العمل
- المشغلات
مع وجود هذه المجلدات والأذونات في مكانها الصحيح، فأنت جاهز لبدء إنشاء تطبيق Slack الخاص بك!
بدلاً من ذلك، بدلاً من كتابة كل التعليمات البرمجية بنفسك، يمكنك استخدام الأمر التالي لإنشاء تطبيق "بوت الترحيب" مباشرةً:
slack create welcome-bot-app --template https://github.com/slack-samples/deno-welcome-bot
بمجرد إنشاء مشروعك، انتقل إلى دليل المشروع لتخصيص روبوت Slack الخاص بك.
الخطوة 2: إنشاء تفويض التطبيق
بيان التطبيق هو المخطط الخاص بك لبوت Slack. بالنسبة لروبوت الترحيب، سيتضمن البيان الخاص بك:
سير العمل:
- سير عمل إعداد الرسائل
- سير عمل SendWelcomeMessageWorkflow
مخزن البيانات:
- مخزن بيانات الرسائل الترحيبية
النطاقات:
- دردشة:كتابة
- دردشة:كتابة.عام
- مخزن البيانات:قراءة
- مخزن البيانات:كتابة
- القنوات:قراءة
- المشغلات:كتابة
- المشغلات:قراءة
عندما تجمع كل هذه المكونات معًا، سيشبه ملف manifest.ts الخاص بك شيئًا كهذا:
// /manifest.ts
استيراد { البيان } من "deno-slack-sdk/mod.ts";
استيراد { WelcomeMessageMessageDatastore } من " من "./datastastores/messages.ts";
استيراد { MessageSetupWorkflow } من "./workflows/create_welcome_welcome_message.ts" ؛ استيراد { MessageSetupWorkflow } من "./workflows/create_welcome_message.ts";
استيراد { SendWindWelcomeMessageWorkflow } من "./workflows/send_welcome_message.ts";
تصدير البيان الافتراضي ({
الاسم: "روبوت رسالة الترحيب",
الوصف:
"طريقة سريعة لإعداد رسائل ترحيب آلية للقنوات في مساحة العمل الخاصة بك."
أيقونة: "assets/default_new_app_new_icon.png",
سير العمل: [MessageSetupWorkflow، SendWelcomeMessageWorkflow],
المجالات الصادرة: [],
مخازن البيانات: [WelcomeMessageDatastastore],
بوتسكوبس: []
"الدردشة: كتابة",
"chat:write.public",
"datastore:read",
"مخزن البيانات:كتابة",
"القنوات:قراءة",
"المشغلات: كتابة",
"المشغلات: قراءة",
],
});
الخطوة 3: قم بإنشاء سير عمل لإعداد رسالة الترحيب
أولاً، نبدأ بتحديد سير العمل:
- إنشاء ملف: أضف ملفًا جديدًا باسم create\welcome\message.ts في مجلد سير العمل
- تعريف سير العمل: في هذا الملف، عرّف سير عمل MessageSetupWorkflow للسماح لمستخدم روبوت بإعداد رسالة ترحيب عبر نموذج
إليك كيف سيبدو تعريف سير العمل:
////workflows/create_welcome_message.ts
استيراد { DefineWorkflow، مخطط } من "deno-slack-sdk/mod.ts";
استيراد { WelcomeMessageSetupSetupFunction } من ".. /functions/create_welcome_welcome_message.ts";
/
يقوم سير عمل MessageSetupWorkflow بفتح نموذج يقوم فيه المستخدم بإنشاء
رسالة ترحيب. يوجد مشغل سير العمل هذا في
"/مشغلات/مشغلات/رسالةترحيبمشغل.ts
*/
تصدير const MessageSetupWorkflow = DefineWorkflow({
callback_id: "message_setup_workflow",
العنوان: "إنشاء رسالة ترحيب",
الوصف: " إنشاء رسالة للترحيب بالمستخدمين الجدد في القناة.",
input_parameters: {
الخصائص: {
تفاعلية: {
النوع: Schema.slack.types.interactionivity,
},
قناة: {
النوع: Schema.slack.types.channel_id,
},
},
مطلوب: ["تفاعلية"],
},
});
بعد ذلك، نضيف نموذجًا:
- استخدم OpenForm: أضف نموذجًا باستخدام الدالة OpenForm لجمع مدخلات المستخدم الآلي
فيما يلي كيفية إضافة دالة OpenForm إلى سير عمل create\welcome\message.ts:
// ///workflows/create_welcome_welcome_message.ts
/
تستخدم هذه الخطوة دالة OpenForm Slack. يحتوي النموذج على اثنين
مدخلين - رسالة ترحيبية ومعرّف قناة لتلك الرسالة إلى
ليتم نشرها فيها.
*/
const SetupWorkflowForm = MessageSetupWorkflow.addStep(
Schema.slack.functions.OpenForm,
{
العنوان: "نموذج رسالة الترحيب",
submit_label: "إرسال",
الوصف: ":موجة: إنشاء رسالة ترحيب لقناة!".",
تفاعلية: MessageSetupWorkflow.inputs.interactivity,
الحقول: {
مطلوب: ["القناة"، "messageInput"],
العناصر: [
{
الاسم: "messageInput",
العنوان: "رسالة الترحيب الخاصة بك",
النوع: Schema.types.string,
طويلة: صحيح,
},
{
الاسم: "قناة",
العنوان: "حدد قناة لنشر هذه الرسالة فيها",
النوع: Schema.slack.types.channel_id,
افتراضي: MessageSetupWorkflow.inputs.channel.channel,
},
],
},
},
);
بعد ذلك، نضيف التأكيد.
أضف الخطوة التالية إلى سير عمل create_welcome\message.ts الخاص بك:
// ///workflows/create_welcome_welcome_message.ts
/
تأخذ هذه الخطوة مخرجات النموذج وتمررها إلى نموذج مخصص
مخصصة، والتي تقوم بتعيين رسالة الترحيب.
انظر "/ functions/setup_function.ts" لمزيد من المعلومات.
*/
MessageSetupWorkflow.addStep(WelcomeMessageSetupFunction، {
message: SetupWorkflowflowForm.outputs.fields.messageInput,
قناة: قناة: SetupWorkflowForm.outputs.fields.channel,
المؤلف: MessageSetupWorkflow.inputs.interactivity.interactor.id,
});
/
تستخدم هذه الخطوة دالة SendEphemeralMessage Slack SendEphemeralMessage.
سيتم إرسال رسالة تأكيد سريعة الزوال إلى المستخدم
إنشاء رسالة الترحيب، بعد أن يقوم المستخدم بإرسال الرسالة أعلاه
أعلاه.
*/
MessageSetupWorkflow.addStep(Schema.slack.functions.SendEphemeralMessage, {
channel_id: SetupWorkflowForm.outputs.fields.channel,
user_id: MessageSetupWorkflow.inputs.interactivity.interactor.id,
message:
'تم إنشاء رسالة الترحيب الخاصة بك لهذه القناة بنجاح! :white_check_mark:`,
});
تصدير سير عمل MessageSetupWorkflow الافتراضي;
الخطوة 4: استخدم مخزن بيانات لتخزين الرسالة الترحيبية
ابدأ بإنشاء مخزن بيانات.
- أنشئ ملفًا: في مجلد مخازن البيانات الخاصة بك، قم بإنشاء ملف باسم messages.ts
- تحديد البنية: قم بإعداد بنية مخزن البيانات لتخزين الرسائل الترحيبية
في هذا الملف، ستحدد في هذا الملف بنية مخزن البيانات حيث سيتم تخزين رسائل الترحيب في الحقل النصي:
////datastastores/messages.ts
استورد { DefineDatastore, Schema } من "deno-slack-sdk/mod.ts";
/
مخازن البيانات هي موقع مستضاف في Slack لتخزين
واسترجاع البيانات لتطبيقك.
https://api.slack.com/automation/datastores
*/
تصدير const const WelcomeMessageDatastastore = DefineDatastore({
الاسم: "الرسائل",
المفتاح الأساسي: "id",
السمات: {
المعرف: {
النوع: Schema.types.string,
},
قناة: {
النوع: Schema.slack.types.channel_id,
},
رسالة: {
نوع: Schema.types.string,
},
المؤلف: {
النوع: Schema.slack.types.types.user_id,
},
},
});
الخطوة 5: إنشاء دالة مخصصة لتخزين رسالة الترحيب في مخزن البيانات
أولاً، عرّف الدالة المخصصة.
- أنشئ ملفًا: في مجلد الدوال، قم بإنشاء ملف باسم create\welcome\message.ts
- تعريف الدالة: أضف الكود التالي لتعريف الدالة لتخزين رسالة الترحيب
إليك الرمز لتعريف الدالة المخصصة:
///functions/create_welcome_message.ts
استورد { DefineFunction, Schema, SlackFunction } من "deno-slack-slack-sdk/mod.ts";
استيراد { SlackAPIClient } من "deno-slack-sdk/typepes.ts";
استيراد { SendWelcomeMessageWorkflow } من ".../workflows/send_welcome_message.ts";
استيراد { WelcomeMessageMessageDatastore } من ".../datastastores/messages.ts";
/
ستأخذ هذه الدالة المخصصة مدخلات النموذج الأولية، وتخزينها
في مخزن البيانات وإنشاء مشغّل حدث للاستماع إلى
أحداث user_joined_channel في القناة المحددة.
*/
تصدير const const WelcomeMessageSetupSetupFunction = DefineFunction({
callback_id: "welcome_message_message_setup_function",
العنوان: "إعداد رسالة الترحيب",
الوصف: "يأخذ رسالة ترحيب ويخزنها في مخزن البيانات",
ملف_المصدر: "functions/create_welcome_message.ts",
input_parameters: {
الخصائص: {
رسالة: {
النوع: Schema.types.string,
الوصف: "رسالة الترحيب",
},
قناة: {
النوع: Schema.slack.types.channel_id,
الوصف: "قناة للنشر فيها",
},
المؤلف: {
النوع: Schema.slack.types.types.user_id,
الوصف:
"معرف المستخدم للشخص الذي أنشأ رسالة الترحيب",
},
},
مطلوب: ["رسالة"، "قناة"],
},
});
بعد ذلك، أضف الوظيفة المطلوبة.
- خزن البيانات: قم بتضمين رمز لحفظ تفاصيل رسالة الترحيب في مخزن البيانات الخاص بك وإعداد مشغلات أحداث الروبوت
// /functions/create_welcome_message.ts
تصدير وظيفة SlackFunction(
وظيفة إعداد الرسالة الترحيبية,
مزامنة ({ المدخلات، العميل }) => { {
const { القناة، الرسالة، المؤلف } = المدخلات;
const uuid = crypto.randomUUUID();
// حفظ المعلومات حول رسالة الترحيب في مخزن البيانات
const putResponse = انتظر client.apps.datastore.datastore.put<
نوعof WelcomeMessageMessageDatastore.definition.com
>({
datastore: WelcomeMessageDatastore.name,
العنصر: { المعرف: uuid، قناة، رسالة، مؤلف },
});
إذا كان (!putResponse.ok) {
إرجاع { خطأ: 'فشل في حفظ رسالة الترحيب: ${putResponse.error}} };
}
// البحث عن أي مشغلات موجودة لسير عمل الترحيب
const triggers = انتظر العثور على مشغلات (العميل، القناة);
إذا (خطأ في المشغلات) {
الإرجاع { خطأ: 'فشل البحث عن المشغلات الموجودة: ${triggers.error}}};
}
// إنشاء مُشغِّل_مُنضم_للمستخدم_قناة جديد إذا لم يكن موجودًا
في حالة (!triggers.exists) {
const newTrigger = await saveUserJoinedChannelTrigger(العميل، القناة);
إذا (!newTrigger.ok) { {
إرجاع {
خطأ: 'فشل في إنشاء مشغّل ترحيبي: ${newTrigger.error}},
};
}
}
إرجاع {مخرجات: {} };
},
);
بعد ذلك، قم بدمج روبوت Slack في سير عملك.
- قم بتحديث سير العمل: في ملف create\welcome\message.ts الخاص بك، أضف خطوة لاستدعاء الدالة المخصصة
////workflows/create_welcome_welcome_message.ts
/
تأخذ هذه الخطوة مخرجات النموذج وتمررها إلى نموذج مخصص
مخصصة، والتي تقوم بتعيين رسالة الترحيب.
انظر "/ functions/setup_function.ts" لمزيد من المعلومات.
*/
MessageSetupWorkflow.addStep(WelcomeMessageSetupFunction، {
message: SetupWorkflowflowForm.outputs.fields.messageInput,
قناة: قناة: SetupWorkflowForm.outputs.fields.channel,
المؤلف: MessageSetupWorkflow.inputs.interactivity.interactor.id,
});
تصدير MessageSetupWorkflow الافتراضي MessageSetupWorkflow;
باستخدام هذه الخطوة، أصبح سير عملك الآن قادرًا على:
- السماح لمستخدم روبوت بإدخال رسالة ترحيب وإرسالها من خلال نموذج
- تخزين معلومات الرسالة الترحيبية في مخزن بيانات
- إعداد المشغلات لضمان تسليم رسالة الترحيب عند انضمام مستخدم جديد إلى القناة المحددة
الخطوة 6: إنشاء مشغلات لتفعيل سير العمل
أولاً، قم بإنشاء مشغّل ارتباط.
- أنشئ ملفًا: في مجلد المشغّلات، قم بإنشاء \مشغلات مشغلات الترحيبمشغلات_الربط
- أضف الرمز: حدِّد مشغِّل الرابط لبدء سير عمل MessageSetupWorkflow عندما ينقر مستخدم الروبوت على رابط معين
سيبدو الرمز الخاص بك هكذا
// triggers/create_wreate_welcome_message_shortcut.ts
استورد { Trigger } من "deno-slack-api/type.ts";
استيراد MessageSetupWorkflow من ".../مشغلات/ إنشاءرسالةترحيبرسالةمختصرة.ts"
استيراد { TriggerContextData, TriggerTypes } من "deno-slack-api/type.ts";
/
يطالب مشغّل الرابط هذا بسير عمل MessageSetupWorkflow.
*/
const welcomeMessageTrigger: Trigger
النوع: TriggerTypes.Shortcut,
الاسم: "إعداد رسالة ترحيب",
الوصف: "إنشاء رسالة ترحيب تلقائية لقناة معينة.",
سير العمل: '##/سير العمل/$${MessageSetupWorkflow.definition.callback_id}',
المدخلات: {
تفاعلية: {
القيمة: TriggerContextData.Shortcut.interactionivity,
},
قناة: {
القيمة: TriggerContextData.Shortcut.channel_id,
},
},
};
تصدير افتراضي لـ WelcomeMessageTrigger;
الآن، قم بإنشاء مشغل الحدث. هذا هو المكان الذي تقوم فيه بشكل أساسي بتمكين الأحداث التي تنشط الروبوت. في هذا المثال، سيكون مشغّل حدث مستخدم الروبوت هو انضمام مستخدم جديد إلى قناة.
- قم بتحديث الملف: أضف مشغل الحدث إلى إنشاء \مرحبًابالمسألة.ts لإرسال رسالة الترحيب عند انضمام مستخدم جديد إلى قناة
إليك الكود المراد إضافته.
////functions/create_welcome_message.ts
/
يُرجِع مشغل findUserJoinedChannelTrigger إذا كان مشغل user_joined_channel
موجودًا لسير عمل "إرسال رسالة ترحيب" في القناة.
*/
تصدير الدالة غير المتزامنة findUserJoinedChannelTrigger(
العميل: SlackAPIClient,
القناة: سلسلة,
): الوعد<{{ خطأ؟: سلسلة، موجود؟: منطقية }> {{
// اجمع كل المشغلات الموجودة التي أنشأها التطبيق
const allTriggers = await client.workflows.triggers.list({ is_مالك: true });
إذا (!allTriggers.ok) {{
إرجاع { خطأ: allTriggers.error };
}
// البحث عن مشغلات user_joined_channel لـ "إرسال رسالة ترحيب"
// سير العمل في القناة المحددة
المشغلات المنضمة = allTriggers.triggers.triggers.filter((المشغّل) => (
مشغل.workflow.workflow.callback_id ===
SendWelcomeMessageWorkflow.definition.callback_id &&&
نوع_حدث_المشغّل === "slack#/events/vents/user_joined_channel" &&&
channel_ids.channel_ids.includes(channel)
));
// إرجاع إذا تم العثور على أي مشغلات مطابقة
موجود = موجود = joitedTriggers.length> 0;
إرجاع { موجود };
}
/
حفظUserJoinedChannelTrigger ينشئ مشغّل user_joined_channel جديد
لسير عمل "إرسال رسالة ترحيب" في القناة.
*/
تصدير الدالة غير المتزامنة حفظ الدالة حفظUserJoinedChannelTrigger(
العميل: SlackAPIClient,
القناة: سلسلة,
): الوعد<{ موافق: منطقية؛ خطأ؟: سلسلة }> {<
const triggerResponse = await client.workflows.triggers.triggers.create<
نوعof SendWelcomeMessageMessageWorkflow.definition
({
النوع: "حدث",
الاسم: "انضم المستخدم إلى قناة",
الوصف: "إرسال رسالة عند انضمام مستخدم إلى القناة",
سير العمل:
"##/سير العمل/${SendWindWelcomeMessageWorkflow.definition.callback_id}",
حدث: {
نوع_الحدث: "slack#/الأحداث/المستخدم_انضم_إلى_قناة",
معرفات القناة: [القناة],
},
المدخلات: {
قناة: { القيمة: قناة },
مُشغّل_المستخدم: {القيمة: "{{data.user_id.data.user_id}}" },
},
});
إذا كان (!triggerResponse.ok) {{
إرجاع { ok: خطأ، خطأ: ok، خطأ: triggerResponse.error };
}
الإرجاع { موافق: صحيح };
}
النتيجة:
- مشغل الرابط: يسمح لمستخدمي الروبوت بإعداد رسالة ترحيب من خلال النقر على رابط، وبدء سير عمل MessageSetupWorkflow
- مشغّل الحدث: يرسل الرسائل التلقائية عندما ينضم مستخدم جديد إلى القناة المحددة، باستخدام الرسالة المخزنة وتفاصيل القناة
الخطوة 7: إنشاء سير عمل لإرسال الرسالة الترحيبية
- انتقل إلى المجلد: انتقل إلى مجلد سير العمل
- إنشاء ملف: أنشئ ملفًا جديدًا باسم send\welcome\message.ts
- أضف الرمز: تعريف سير العمل لاسترداد رسالة الترحيب وإرسالها من مخزن البيانات
// /workflows/workflows/send_welcome_message.ts
استيراد { DefineWorkflow، مخطط } من "deno-slack-sdk/mod.ts";
استيراد { SendWelcomeMessageFunction } من ".. /functions/send_welcome_welcome_message.ts";
/
سيقوم SendWelcomeMessageWorkFlow باسترداد رسالة الترحيب
من مخزن البيانات ويرسلها إلى القناة المحددة، عندما
ينضم مستخدم جديد إلى القناة.
*/
تصدير const const SendWelcomeMessageMessageWorkflow = DefineWorkflow({
callback_id: "send_welcome_message",
العنوان: "إرسال رسالة ترحيب",
الوصف:
"إرسال رسالة ترحيب سريعة الزوال عند انضمام مستخدم جديد إلى قناة."
مدخلات_المعلمات: {
الخصائص: {
قناة: {
النوع: Schema.slack.types.channel_id,
},
مشغل_المستخدم: {
النوع: Schema.slack.types.types.user_id,
},
},
مطلوب: ["القناة"، "المستخدم_المشغل"],
},
});
يقوم سير العمل هذا باسترداد رسالة الترحيب المخزنة وإرسالها إلى القناة المناسبة عند انضمام مستخدم جديد، مما يعزز المشاركة وأتمتة عملية الإعداد.
الخطوة 8: إنشاء دالة مخصصة لإرسال رسالة الترحيب
1. قم بتعريف الدالة المخصصة:
- انتقل إلى المجلد: انتقل إلى مجلد الوظائف
- قم بإنشاء ملف: قم بإنشاء ملف جديد باسم send\welcome\message.ts
2. أضف تعريف الدالة:
////functions/send_welcome_message.ts
استيراد { DefineFunction, Schema, SlackFunction } من "deno-slack-slack-sdk/mod.ts";
استيراد { WelcomeMessageMessageDatastore } من ".. /datastastores/messages.ts";
/
ستسحب هذه الدالة المخصصة الرسالة المخزنة من مخزن البيانات
وترسلها إلى المستخدم المنضم كرسالة سريعة الزوال في
القناة المحددة.
*/
تصدير const const SendWelcomeMessageMessageFunction = DefineFunction({
callback_id: "send_welcome_message_message_function",
العنوان: "إرسال رسالة الترحيب",
الوصف: "سحب رسائل الترحيب وإرسالها إلى المستخدم الجديد",
ملف_المصدر: "functions/send_wend_welcome_message.ts",
input_parameters: {
الخصائص: {
قناة: {
النوع: Schema.slack.types.channel_id,
الوصف: "القناة التي تم تشغيل الحدث فيها",
},
المستخدم الذي تم تشغيله: {
النوع: Schema.slack.types.types.user_id,
الوصف: "المستخدم الذي قام بتشغيل الحدث",
},
},
مطلوب: ["القناة"، "المستخدم_المشغل"],
},
});
3. إضافة وظيفة:
- رمز التنفيذ: أضف الرمز التالي أسفل تعريف الدالة في send_welcome\message.ts:
///p/functions/send_welcome_message.ts
تصدير وظيفة SlackFunction الافتراضية (SendWelcomeMessageFunction، غير متزامن (
{ المدخلات، العميل },
) => {
// الاستعلام عن مخزن البيانات للرسائل المخزنة
const messages = await client.apps.datastore.datastore.query<
نوع من تعريف WelcomeMessageMessageDatastore.definition
({
datastore: WelcomeMessageDatastore.name,
تعبير: "# قناة = :mychannel",
تعبير_السمات: { { "#قناة": "قناة"},
تعبير_قيم: { { ":mychannel": inputs.channel },
});
إذا (!letters.ok) {
إرجاع { خطأ: {فشل في جمع رسائل الترحيب: ${messages.error}} };
}
// إرسال الرسائل المخزنة بشكل مؤقت
ل (عنصر مكون من الرسائل ["العناصر"]) { {
const message = await client.chat.postEphemeral({
القناة: العنصر["القناة"],
النص: العنصر["رسالة"],
المستخدم: inputs.triggered_user,
});
إذا (!message.ok) {
إرجاع { خطأ: 'فشل إرسال رسالة ترحيب: ${message.error}} };
}
}
إرجاع {
المخرجات: {},
};
});
4. دمج الدالة المخصصة:
- أضف إلى سير العمل: ارجع إلى ملف سير العمل send_welcome_message.ts وأضف الدالة المخصصة كخطوة:
// // /workflows/send_welcome_message.ts
SendWelcomeMessageWorkflow.addStep(SendWelcomeMessageFunction, {
قناة: SendWelcomeMessageWessageWorkflow.inputs.channel,
triggered_user: SendWelcomeMessageMessageWorkflow.inputs.triggered_user,
});
باستخدام هذه الدالة المخصصة، سترسل إعدادات تطبيق Slack الآن رسائل إلى أي مستخدم ينضم إلى قناة خاصة أو عامة بقناة محددة.
الخطوة 9: استخدام تطبيق Slack الخاص بك
1. قم بتشغيل تطبيق Slack الخاص بك محلياً
- التثبيت محلياً:
- افتح المحطة الطرفية وانتقل إلى المجلد الجذر لتطبيقك
- تشغيل: تشغيل سلاك
- اتبع مطالبات المحطة الطرفية لإعداد الخادم المحلي الخاص بك
- قم باستدعاء مشغل الارتباط:
- افتح علامة تبويب محطة طرفية جديدة
- قم بإنشاء مشغّل الارتباط: Slack trigger create -trigger-def triggers/create\welcome\message\shortcut.ts
- قم بتثبيت المشغل في مساحة العمل الخاصة بك واختر البيئة المحلية
- انسخ عنوان URL الخاص بالاختصار المقدم
- انشر عنوان URL هذا في قناة Slack لبدء سير العمل وإنشاء رسالة الترحيب
📚 بيان التطبيق إنشاء بيان التطبيق لـ "مرحبًا بك (محلي)" في مساحة العمل "مساحة العمل الخاصة بي"
⚠️ المجالات الصادرة لم يتم تكوين نطاقات صادرة مسموح بها إذا كانت وظيفتك تقدم طلبات الشبكة، فستحتاج إلى السماح بالنطاقات الصادرة تعرف على المزيد حول التغييرات القادمة للنطاقات الصادرة: https://api.slack.com/changelog
🏠 تثبيت مساحة العمل تثبيت تطبيق "مرحبًا بك (محلي)" في مساحة العمل "مساحة العمل الخاصة بي" انتهى في 1.5 ثانية
⚡ تم إنشاء المشغّل معرف المشغل: Ft0123ABC456 نوع الزناد: اختصار اسم الزناد: إعداد رسالة ترحيب عنوان URL للاختصار: https://slack.com/shortcuts/Ft0123ABC456/XYZ123 ...
2. تشغيل تطبيق Slack
- نشر سلاك:
- تشغيل: نشر سلاك
- إعادة إنشاء المشغّل:
- أنشئ المشغّل للتطبيق الذي تم نشره: إنشاء مشغّل سلاك -مشغّل-مشغّل-تعريف-المشغّلات/إنشاء/ترحيب/رسالة/مراسلة/شورتكات.ts
- اختر خيار النشر
- استخدامه في بيئة تم نشرها:
- انسخ عنوان URL للاختصار الجديد
- استخدمه داخل مساحة عمل Slack الخاصة بك
الخطوة 10: روبوت Slack الخاص بك جاهز!
تهانينا على الوصول إلى الخطوة الأخيرة من بناء روبوت Slack الخاص بك! سيرسل البوت الخاص بك الآن رسائل تلقائيًا إلى المستخدمين الجدد. اختبره للتأكد من أنه يعمل بشكل صحيح على قناة عامة.
محدودية استخدام روبوتات Slack Bots للتواصل
الآن، يجب أن تكون قد أدركت الراحة التي توفرها روبوتات Slack لـ التواصل في مكان العمل . بعد كل شيء، من منا لا يحب القليل من المساعدة في الأتمتة؟
ولكن هناك بعض القيود التي يجب أن تحذر منها.
إن معرفة هذه القيود ستسمح لك باتخاذ قرار مستنير بشأن منصة التواصل في مكان العمل الأكثر كفاءة بالنسبة لك.
1. يمكن أن تكون روبوتات Slack مشتتة للانتباه
يمكن أن تكون روبوتات Slack سلاح ذو حدين عندما يتعلق الأمر بالتركيز.
من المؤكد أنها توفر معلومات سريعة وتساعد في المهام باستعلام بسيط. ولكنها تأتي أيضاً مع وابل من الإشعارات، من تحديثات الروبوتات الرمزية إلى رسائل الفريق.
هذا الإلهاء المستمر يمكن أن يعيق العمل. وغالباً ما يجعل من الصعب على موظفيك تحديد أولويات العمل مع ضجيج الروبوت الإضافي.
2. يمكن أن يكون Slack مكلفًا، وكذلك الروبوتات الخاصة به
ربما تكون هذه هي المشكلة الأكبر عندما يتعلق الأمر بـ أدوات التواصل مثل Slack :: يمكن أن تصبح مكلفة للغاية بسرعة.
تقدم Slack خططًا مختلفة، لكل منها ميزاتها الخاصة، ولكن مع نمو فريقك، تزداد التكلفة الإجمالية لملكية منتج SaaS.
على سبيل المثال، تكلف خطة Pro 7.25 دولار لكل مستخدم شهرياً، وهو ما قد يبدو معقولاً في البداية. ومع ذلك، عندما يكون لديك فريق كبير، يمكن أن تتصاعد هذه التكاليف بسرعة، مما يؤدي إلى نفقات شهرية كبيرة. بهذا السعر، يمكنك أن تجد بدائل سلاك التي تقدم ميزات أفضل.
3. روبوتات سلاك تحتاج إلى صيانة
تعتمد روبوتات Slack، مثلها مثل أي روبوت محادثة آخر، على البيانات التي تم تدريبها عليها. إذا طلب أحد مستخدمي الروبوتات معلومات لم يتم دمجها في نظام الروبوت، فمن المحتمل أن يفشل في تقديم استجابة مرضية.
هذا يعني أن روبوت Slack الخاص بك سيتطلب تحديثات مستمرة ليبقى ملائماً ومفيداً.
ستحتاج إلى تتبع الأسئلة الأكثر شيوعًا التي يتم طرحها وتزويد روبوت Slack الخاص بك بالمعلومات الجديدة ذات الصلة بانتظام. يمكن أن تصبح هذه الصيانة المستمرة عبء عمل كبير، خاصة مع نمو مساحة عمل Slack الخاصة بك.
4. يمكن أن تلتهم الروبوتات مساحة
يتمتع Slack بسعة تخزين ضئيلة، وعندما يتم الوصول إلى هذه الحدود، يقوم Slack تلقائيًا بحذف الملفات والرسائل القديمة لإفساح المجال للملفات الجديدة.
يمكن أن تؤدي هذه العملية إلى فقدان غير مقصود للوثائق المهمة أو سجل الاتصالات، خاصةً إذا كنت تستخدم الروبوتات لأتمتة المهام التي تولد الكثير من البيانات.
5. روبوتات سلاك ليست مبدعة
هذا أمر لا يحتاج إلى تفكير، لكن الروبوتات ليست عادةً أذكى أداة في السقيفة. فهي تفتقر إلى التفكير النقدي والقدرة على التعامل مع الموقف من وجهات نظر مختلفة.
ولذلك، في المواقف الصعبة التي تتطلب حل المشكلات، لا يمكنك الاعتماد على روبوتات Slack لتقديم حلول فريدة من نوعها.
تعزيز تواصل الفريق باستخدام ClickUp و Slack
إذا كنت تعتقد أن Slack أداة تواصل فعالة، فانتظر حتى تقوم بدمجها مع ClickUp .
معًا Slack و ClickUp يشكلان فريق الأحلام النهائي في بيئة تعاونية.
دعنا نستكشف كيف يمكن للفرق المختلفة الاستفادة من هذا التكامل مع مراعاة آداب Slack.
تمكين مزامنة نشاط ClickUp مع Slack
بمجرد الانتهاء من دمج ClickUp مع Slack ، يمكنك مزامنة جميع أنشطة ClickUp مع مساحة عمل Slack الخاصة بك لمساحات ومجلدات وقوائم محددة.
سيتم إرسال أنشطة ClickUp الخاصة بك تلقائيًا كرسائل إلى قناة Slack الخاصة بك. يمكنك تحديد قنوات عامة أو خاصة حيث يمكن لـ ClickUp الوصول إلى هذه الإشعارات.
قم بمزامنة ClickUp في قناة Slack الخاصة بك واختر نوع الرسائل النصية التي تريد تلقيها
لمنح ClickUp حق الوصول إلى قناة خاصة، استخدم الأمر /invite @ClickUp.
ابحث عن ClickUp في قسم "إضافة تطبيق" في صفحة تكامل Slack لإتاحة الوصول إلى القنوات الخاصة
كيف يساعد هذا؟
تخيّل أنك جزء من فريق تسويق يعمل على حملة عالية المخاطر مع موعد نهائي ضيق. هذا التكامل يزيل الحاجة إلى تحديث أعضاء فريقك على تقدمك يدويًا.
بدلاً من ذلك، يقوم ClickUp بإرسال التحديثات تلقائياً إلى قناة Slack الخاصة بك، مما يمنح الجميع رؤية شاملة لما وصل إليه المشروع حالياً.
وبالمثل، تتم مشاركة التحديثات المهمة من الفرق التقنية - مثل إصلاحات الأخطاء أو نشر الميزات أو مهام صيانة الخادم - على الفور مع الفريق في الوقت الفعلي.
المهام والتعليقات والمستندات، كل ذلك على شاشة سلاك الخاصة بك
عندما تقوم بربط المهام أو التعليقات أو المستندات في Slack، سترى معاينة لكل عنصر، وهي عملية يشار إليها باسم "الكشف" تتيح هذه الميزة لفريقك عرض التفاصيل مثل حالة المهمة، والمكلفين بالمهام، والأولويات، والمزيد مباشرةً في Slack.
عرض الوصف والموضوع والأعضاء المعينين دفعة واحدة باستخدام ClickUp على Slack
على سبيل المثال، لنفترض أن فريق المبيعات قد أنشأ قناة Slack لمناقشة حساب رئيسي. عندما تتم مشاركة مهمة تتعلق بهذا الحساب على Slack، يمكن للجميع على الفور معرفة من تم تعيينه وما هي الأولوية والحالة الحالية.
الآن، يمكن لمندوبي المبيعات (أو أي فريق آخر) الاستجابة بسرعة لاحتياجات العميل دون البحث في تطبيقات متعددة.
تحويل الرسائل إلى مهام
اكتب /clickUp جديد على قناة Slack لإنشاء مهمة وحفظها
يمكنك إنشاء مهام ClickUp مباشرةً من Slack باستخدام أمر / سلاك مثل /clickup new أو إضافة رسالة Slack كتعليق على مهمة موجودة.
وهذا مفيد بشكل خاص عند تفويض المهام. تخيّل أن رئيس التسويق أعجبته فكرة إبداعية تمت مشاركتها في دردشة Slack؛ يمكنه على الفور تحويل تلك الرسالة إلى مهمة في ClickUp دون مغادرة Slack.
اقرأ أيضًا: ما يجب فعله وما لا يجب فعله عند استخدام سلاك في العمل
## ClickUp يفعل ما يمكن أن يفعله Slack، وأكثر من ذلك
في نهاية اليوم، أنت تستخدم سلاك من أجل التواصل بفعالية مع فريقك وعبر الأقسام. لكن التواصل أكثر انسيابية وفعالية وبديهية على ClickUp. دعنا نستكشف المزيد.
محادثات في الوقت الفعلي مع عرض الدردشة
طريقة عرض الدردشة في ClickUp
تتيح لفريقك المشاركة في
محادثات في الوقت الفعلي
دون مغادرة المنصة.
سواء أكنت فريقاً لتكنولوجيا المعلومات تعمل على استكشاف مشكلة طارئة أو فريق مبيعات يناقش عميلاً محتملاً جديداً، فإن طريقة عرض الدردشة تحافظ على مركزية جميع اتصالاتك.
تعاني فرق التسويق بشكل خاص من تشتت المحادثات عبر تطبيقات مختلفة. على ClickUp، يمكنك تبادل الأفكار ومشاركة الملخصات الإبداعية واتخاذ قرارات سريعة - كل ذلك في نفس مساحة العمل.
وعندما يحين وقت تحويل هذه الأفكار إلى أفعال، يتيح لك ClickUp القيام بذلك مباشرةً من الدردشة. يمكنك تعيين المهام، وتحديد المواعيد النهائية، والمضي قدماً بالمشروعات دون مغادرة المحادثة.
التعاون، والعصف الذهني، واللوحات البيضاء
تصوَّر مهامك باستخدام لوحة معلومات ClickUp
هل تحتاج إلى طرح استراتيجية أو التخطيط لمشروع ما؟ ألواح كليك أب البيضاء توفر مساحة افتراضية حيث يمكن للفرق التعاون بصريًا.
وبينما يتيح لك تطبيق Slack تبادل الأفكار مع زملائك في الفريق من خلال المناقشات النصية، فإن لوحات ClickUp Whiteboards ترتقي بمشاريعك إلى المستوى التالي من خلال السماح لفريقك بالرسم والتعليق وتحويل الأفكار إلى مهام قابلة للتنفيذ على اللوحة.
إذا كنت جزءًا من فريق هندسي يحتاج إلى تخطيط سير العمل أو مدير مشروع يتعامل مع جدول زمني معقد للمشروع، فستصبح هذه الأداة الجديدة المفضلة لديك.
إدارة المهام مع التعليقات المخصصة
علاج المشكلات على الفور من خلال تعيين المهام في التعليقات على ClickUp Chat View
إحدى الميزات البارزة في ClickUp هي القدرة على تعيين التعليقات لأعضاء فريق محددين باستخدام @الإشارات. إذا كنت تناقش تحديثًا مهمًا في طريقة عرض الدردشة، يمكنك على الفور الإشارة إلى أحد أعضاء الفريق وتحويل هذا التعليق إلى مهمة.
على سبيل المثال، أثناء اجتماع تطوير المنتج، يمكن للمسؤول الهندسي تعيين إصلاح خطأ مباشرةً من الدردشة، مما يضمن عدم حدوث أي خطأ.
التواصل المرئي باستخدام مقاطع ClickUp Clips
تسجيل الأحداث المهمة وتحويلها إلى موارد باستخدام ClickUp Clips
هل أنت متعلم بصري؟ إذا كانت الإجابة بنعم, انقر فوق المقاطع على وشك تحسين تجربتك عشرة أضعاف من خلال السماح لك بتسجيل و مشاركة تسجيلات الشاشة .
تخيل أن يقوم فريق تكنولوجيا المعلومات بتسجيل دليل تفصيلي خطوة بخطوة لاستكشاف مشكلة شائعة وإصلاحها - يمكن لأعضاء الفريق الوصول إلى هذا المقطع في أي وقت، مما يسهل عليهم فهم التغييرات وتنفيذها.
وضع استراتيجية للإجراءات باستخدام القوالب
قالب استراتيجية وخطة عمل الاتصالات الداخلية ClickUp
في نهاية المطاف، فإن أدوات مثل ClickUp و Slack هي أدوات تمكين للتواصل. ولكي تكون هذه الأدوات مفيدة وتحقق النظام فعليًا في اتصالاتك الداخلية، فأنت بحاجة إلى استراتيجية. وهنا يأتي دور نموذج استراتيجية التواصل الداخلي وخطة العمل الخاصة بـ ClickUp للاتصالات الداخلية يمكن أن يكون مفيدًا.
باستخدام هذا النموذج، يمكنك تقييم استراتيجية التواصل الحالية الخاصة بك، ورسم نهج جديد والأهداف المرتبطة به، وتحديد الأهداف والغايات لاستراتيجيتك، وإنشاء خطة عمل متماسكة.
مكافأة: 15 نموذجًا مجانيًا لخطة اتصالات المشروع
أنت على بُعد نقرة واحدة من التواصل الأفضل مع ClickUp
Slack أداة رائعة تصبح أفضل مع تكامل ClickUp.
ومع ذلك، بدلاً من التنقل بين رسائل Slack ورسائل ClickUp النصية في نفس الوقت، فإن وجود منصة واحدة يمكنها القيام بكل ذلك أمر منطقي أكثر.
إن محادثات ClickUp في الوقت الفعلي، وسهولة تحويل رسالة مباشرة واحدة إلى مهمة مفصلة، والقدرة على تصور المناقشات - كل ذلك يجعل من ClickUp تطبيقاً شاملاً لإدارة المشاريع عند مقارنته بـ إدارة المشاريع في Slack القدرات.
جربها بنفسك لترى الفرق. أنشئ حسابك المجاني على ClickUp اليوم وقم بتبسيط مهام سير عملك!