توضّح هذه الصفحة كيفية إعداد الأوامر والردّ عليها بصفتك تطبيق Google Chat.
تساعد الأوامر المستخدمين في اكتشاف الميزات الرئيسية لتطبيق Chat واستخدامها. ويمكن لتطبيقات Chat فقط الاطّلاع على محتوى الأمر. على سبيل المثال، إذا أرسل مستخدم رسالة تتضمّن الأمر "شرطة مائلة"، لن تظهر الرسالة إلا للمستخدم وتطبيق Chat.
لتحديد ما إذا كان عليك إنشاء أوامر وفهم كيفية تصميم تفاعلات المستخدمين، اطّلِع على مقالة تحديد جميع تجارب المستخدِم.
أنواع أوامر تطبيق Chat
يمكنك إنشاء أوامر تطبيق Chat كأوامر تبدأ بشرطة مائلة أو أوامر سريعة. لاكتشاف كل نوع من أنواع الأوامر واستخدامه، ينفّذ المستخدمون ما يلي:-
الأوامر التي تبدأ بشرطة مائلة: يرسل المستخدمون الأوامر كرسائل من خلال كتابة شرطة مائلة
(
/
) ثم نص محدّد مسبقًا، مثل/about
. يمكن أن تتطلّب تطبيقات المحادثة أيضًا نصًا للوسيطة في الأمر الذي يتضمّن الشرطة المائلة. على سبيل المثال، يمكن أن يتطلّب الأمر الذي يبدأ بشرطة مائلة/search
نص وسيطة يُستخدَم لطلب بحث. -
الأوامر السريعة: يستخدم المستخدمون الأوامر من خلال فتح القائمة من منطقة الرد
في رسالة Chat. لاستخدام أمر، عليهم النقر على إضافة
و اختيار أمر من القائمة.
-
الشكل 1. يكتشف المستخدمون الأوامر التي تبدأ بشرطة مائلة ويستخدمونها من خلال كتابة شرطة مائلة /
في حقل الرد متبوعة باسم الأمر. -
الشكل 2. يكتشف المستخدمون الطلبات السريعة ويستخدمونها من قائمة في قسم الرد على رسالة Chat.
المتطلبات الأساسية
- حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat
- أنشئ مشروعًا على Google Cloud.
- ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth
- فعِّل واجهات برمجة التطبيقات التالية في Google Workspace:
- Google Chat API
- Google Workspace add-ons API
- نقطة نهاية HTTP تستضيف بنية الخدمة لتطبيق Chat
- حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat
- أنشئ مشروعًا على Google Cloud.
- إعداد شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth
- تفعيل Google Chat API
- أنشئ مشروعًا مستقلاً في Apps Script، وفعِّل خدمة Chat المتقدّمة.
- إعداد Chat في البيان،
عن طريق إضافة العنصر
addons.chat
وأي نطاقات مطلوبة (oauthScopes
) أو بادئات عناوين URL التي تستخدم HTTPS (urlFetchWhitelist
).
إعداد الطلب
يوضّح هذا القسم كيفية إكمال الخطوات التالية لإعداد أحد الطلبات:
- أنشئ اسمًا ووصفًا للطلب.
- ضبط الأمر في Google Cloud Console
اسم الأمر ووصفه
اسم الأمر هو ما يطلبه المستخدمون أو يختارونه لتشغيل تطبيق Chat. يظهر أيضًا وصف موجز أسفل الاسم لتوجيه المستخدمين إلى مزيد من المعلومات حول كيفية استخدام الأمر:

عند اختيار اسم ووصف للطلب، ننصحك باتّباع الاقتراحات التالية:
لتسمية طلب:
- استخدِم كلمات أو عبارات قصيرة ووصفية وقابلة للتنفيذ لجعل الأوامر واضحة
لمستخدم التطبيق. على سبيل المثال، بدلاً من الاسم
Create a reminder
، استخدِمRemind me
. - ننصحك باستخدام اسم فريد أو شائع لطلبك. إذا كان الأمر يصف
تفاعلًا أو ميزة نموذجية، يمكنك استخدام اسم شائع يتعرّف عليه المستخدمون ويتوقعونه،
مثل
Settings
أوFeedback
. بخلاف ذلك، حاوِل استخدام أسماء أوامر فريدة، لأنّه إذا كان اسم الأمر هو نفسه في تطبيقات Chat الأخرى، على المستخدم فلترة الأوامر المشابهة للعثور على الأمر الخاص بك واستخدامه.
لوصف طلب:
- يجب أن يكون الوصف قصيرًا وواضحًا حتى يعرف المستخدمون ما يمكن توقّعه عند استخدام الأمر.
- يُرجى إبلاغ المستخدمين إذا كانت هناك أي متطلبات تنسيق للأمر. على سبيل المثال، إذا
أنشأت طلبًا يتضمّن الشرطة المائلة ويتطلّب نص وسيطة، اضبط الوصف على
Remind me to do [something] at [time]
. - أطلِع المستخدمين على ما إذا كان تطبيق Chat يردّ على جميع المستخدمين في المساحة، أو
بشكل خاص على المستخدم الذي يُجري الطلب. على سبيل المثال، بالنسبة إلى الأمر السريع
About
، يمكنك وصفه على النحو التالي:Learn about this app (Only visible to you)
.
ضبط الأمر في "وحدة تحكّم Google Cloud"
لإنشاء شرطة مائلة أو أمر سريع، يمكنك تحديد معلومات عن الأمر في إعدادات تطبيق Chat لواجهة برمجة التطبيقات Google Chat API.
لضبط أمر في Google Chat API، أكمِل الخطوات التالية: o لضبط أمر شرطة مائلة في Google Chat API، أكمِل الخطوات التالية:
في وحدة تحكّم Google Cloud، انقر على رمز القائمة > واجهات برمجة التطبيقات والخدمات > واجهات برمجة التطبيقات والخدمات المفعَّلة > Google Chat API.
انقر على الإعداد.
ضمن الإعدادات المتقدّمة، انتقِل إلى العوامل المشغِّلة وتأكَّد من أنّ الحقل أمر التطبيق يحتوي على عامل تشغيل، مثل نقطة نهاية HTTP أو دالة في Apps Script. يجب استخدام هذا المشغِّل في القسم التالي للردّ على الأمر.
ضمن الطلبات، انقر على إضافة طلب.
أدخِل المعلومات التالية عن الأمر:
- رقم تعريف الأمر: هو رقم يتراوح بين 1 و1000 يستخدمه تطبيق Chat للتعرّف على الأمر وتقديم ردّ.
- نوع الأمر: اختَر أمر سريع أو أمر الشرطة المائلة.
- في حال ضبط أمر شرطة مائلة، أدخِل قيمة لحقل
اسم الأمر المكوّن من شرطة مائلة لتحديد ما يكتبه المستخدمون لتشغيل
الأمر. يجب أن يبدأ بشرطة مائلة وأن يحتوي على نص فقط، ويُسمَح باستخدام ما يصل إلى 50 حرفًا. مثلاً:
/remindMe
- الاسم: هو الاسم السهل الاستخدام للطلب. يمكن أن تتألف الأسماء من 50 حرفًا بحد أقصى ويمكن أن تتضمّن رموزًا خاصة.
- الوصف: هو النص الذي يصف كيفية استخدام الأمر وتنسيقه. يمكن أن يصل طول الأوصاف إلى 50 حرفًا.
اختياري: إذا كنت تريد أن يردّ تطبيق Chat على الأمر من خلال مربّع حوار، ضَع علامة في مربّع الاختيار فتح مربّع حوار.
انقر على حفظ.
تم الآن ضبط الأمر لتطبيق Chat.
الردّ على أمر
عندما يستخدم المستخدمون أحد الأوامر، يتلقّى تطبيق Chat
عنصر حدث.
تحتوي بيانات الحدث الأساسية على عنصر
appCommandPayload
يتضمّن تفاصيل عن الأمر الذي تم تنفيذه (بما في ذلك معرّف الأمر ونوعه)، حتى تتمكّن من تقديم ردّ مناسب. يتم إرسال عنصر الحدث إلى نقطة نهاية HTTP أو
دالة Apps Script التي حدّدتها عند ضبط trigger
أمر التطبيق.

/help
لشرح كيفية الحصول على الدعم.يعرض الرمز البرمجي التالي مثالاً على تطبيق Chat
يردّ على الأمر المكوّن من الشرطة المائلة /about
برسالة نصية. للردّ على
الأوامر التي تبدأ بشرطة مائلة، يعالج تطبيق Chat عناصر الأحداث من
مشغِّل أمر التطبيق. عندما تحتوي الحمولة المفيدة لكائن الحدث على شرطة مائلة
معرّف الأمر، يعرض تطبيق Chat الإجراء DataActions
مع كائن createMessageAction
:
// The ID of the slash command "/about".
// It's not enabled by default, set to the actual ID to enable it. You must
// use the same ID as set in the Google Chat API configuration.
const ABOUT_COMMAND_ID = 0;
/**
* Google Cloud Function that responds to events sent from a
* Google Chat space.
*
* @param {Object} req Request sent from Google Chat space
* @param {Object} res Response to send back
*/
exports.avatarApp = function avatarApp(req, res) {
if (req.method === 'GET' || !req.body.chat) {
return res.send('Hello! This function is meant to be used ' +
'in a Google Chat Space.');
}
// Stores the Google Chat event as a variable.
const chatEvent = req.body.chat;
// Handles events that contain payloads about commands
if (chatEvent.appCommandPayload) {
// Stores the Google Chat app command metadata as a variable.
const appCommandMetadata = chatEvent.appCommandPayload.appCommandMetadata;
// Executes the slash command logic based on its ID.
// Slash command IDs are set in the Google Chat API configuration.
switch (appCommandMetadata.appCommandId) {
case ABOUT_COMMAND_ID :
return res.send({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'The Avatar app replies to Google Chat messages.'
}}}}});
}
// Handles MESSAGE events
} else if (chatEvent.messagePayload) {
// Stores the Google Chat event as a variable.
const chatMessage = chatEvent.messagePayload.message;
// Replies with the sender's avatar in a card otherwise.
const displayName = chatMessage.sender.displayName;
const avatarUrl = chatMessage.sender.avatarUrl;
res.send({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'Here\'s your avatar',
cardsV2: [{
cardId: 'avatarCard',
card: {
name: 'Avatar Card',
header: {
title: `Hello ${displayName}!`,
},
sections: [{
widgets: [{
textParagraph: { text: 'Your avatar picture: ' }
}, {
image: { imageUrl: avatarUrl }
}]
}]
}
}]
}}}}});
}
};
// The ID of the slash command "/about".
// It's not enabled by default, set to the actual ID to enable it. You must
// use the same ID as set in the Google Chat API configuration.
const ABOUT_COMMAND_ID = 0;
/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {Object} event the event object from Google Chat
*/
function onMessage(event) {
// Stores the Google Chat event as a variable.
const chatMessage = event.chat.messagePayload.message;
// Replies with the sender's avatar in a card otherwise.
const displayName = chatMessage.sender.displayName;
const avatarUrl = chatMessage.sender.avatarUrl;
return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'Here\'s your avatar',
cardsV2: [{
cardId: 'avatarCard',
card: {
name: 'Avatar Card',
header: {
title: `Hello ${displayName}!`,
},
sections: [{
widgets: [{
textParagraph: { text: 'Your avatar picture: ' }
}, {
image: { imageUrl: avatarUrl }
}]
}]
}
}]
}}}}};
}
/**
* Responds to an APP_COMMAND event in Google Chat.
*
* @param {Object} event the event object from Google Chat
*/
function onAppCommand(event) {
// Stores the Google Chat app command metadata as a variable.
const appCommandMetadata = event.chat.appCommandPayload.appCommandMetadata;
// Executes the slash command logic based on its ID.
// Slash command IDs are set in the Google Chat API configuration.
switch (appCommandMetadata.appCommandId) {
case ABOUT_COMMAND_ID :
return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'The Avatar app replies to Google Chat messages.'
}}}}};
}
}
لاستخدام نموذج الرمز البرمجي هذا، استبدِل ABOUT_COMMAND_ID
برقم تعريف
الأمر الذي حدّدته عند
ضبط الأمر في Chat API.
اختبار الأمر
لاختبار الأمر والرمز، يُرجى الاطّلاع على مقالة اختبار الميزات التفاعلية لتطبيقات Google Chat.
للتعرّف على كيفية اختبار الأمر واستخدامه في واجهة مستخدم Chat، اطّلِع على مقالة استخدام التطبيقات في Google Chat في مستندات مساعدة Google Chat.
مواضيع ذات صلة
- الاطّلاع على نماذج تطبيقات Chat التي تستخدم الأوامر
- إرسال رسالة
- فتح مربّعات حوار تفاعلية