الردّ على الأوامر التي تبدأ بشرطة مائلة كتطبيق Google Chat

تشرح هذه الصفحة كيفية إعداد أوامر الشرطة المائلة والاستجابة لها في تطبيق Google Chat

تُعد أمر الشرطة المائلة طريقة شائعة يقوم بها المستخدمون باستدعاء وتفاعل مع تطبيق Chat تساعد الأوامر التي تبدأ بشرطة مائلة المستخدمين على اكتشاف استخدام الميزات الرئيسية لتطبيق Chat.

لاستخدام أمر شرطة مائلة، يكتب المستخدمون شرطة مائلة (/)، ثم أمرًا نصيًا قصيرًا، مثل "/about" للحصول على معلومات عن تطبيق Chat. يمكن للمستخدمين اكتشاف الأوامر التي تبدأ بشرطة مائلة عن طريق كتابة شرطة مائلة في Google Chat، الذي يعرض نافذة تسرد الأوامر المتاحة تطبيق Chat:

نافذة أوامر تبدأ بشرطة مائلة
الشكل 1: النافذة التي تظهر عندما يكتب المستخدمون شرطة مائلة في Google Chat

لتحديد ما إذا كان ينبغي لك إعداد الأوامر التي تبدأ بشرطة مائلة، وفهم كيفية تصميم تفاعلات المستخدم، انظر تحديد جميع رحلات المستخدم:

الأوامر التي تبدأ بشرطة مائلة مع الردود الخاصة

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

على سبيل المثال، للتعرّف على تطبيق Chat الذي الاكتشاف في مساحة، يمكن للمستخدمين استخدام أوامر مثل /about أو /help. لتجنب إشعار أي شخص آخر في المساحة، يمكن لتطبيق Chat الرد بخصوصية تامة باستخدام معلومات حول كيفية استخدام تطبيق Chat والحصول على الدعم

المتطلبات الأساسية

Node.js

تطبيق Google Chat مفعَّل للميزات التفاعلية لإنشاء تطبيق Chat تفاعليًا باستخدام خدمة HTTP، أكمِل عملية البدء السريع هذه.

برمجة تطبيقات

تطبيق Google Chat مفعَّل للميزات التفاعلية لإنشاء تطبيق Chat التفاعلي في "برمجة تطبيقات Google"، أكمِل البدء السريع هذا.

Python

تطبيق Google Chat مفعَّل للميزات التفاعلية لإنشاء تطبيق Chat تفاعليًا باستخدام خدمة HTTP، أكمِل عملية البدء السريع هذه.

إعداد أمر شرطة مائلة

يوضّح هذا القسم كيفية إكمال الخطوات التالية لإعداد الشرطة المائلة :

  1. أنشئ اسمًا للأمر الذي يبدأ بشرطة مائلة.
  2. ضبط الأمر الشرطة المائلة في Google Chat API

إدخال اسم للأمر الذي يبدأ بشرطة مائلة

يكون اسم الأمر slash هو ما يكتبه المستخدمون في رسالة Chat. لاستدعاء تطبيق Chat. يحتوي الوصف الموجز أيضًا أسفل الاسم، لمطالبة المستخدمين بالمزيد حول كيفية استخدام الأمر:

اسم الأمر الذي يبدأ بشرطة مائلة ووصفها
الشكل 2: اسم أمر الشرطة المائلة ووصفه

عند اختيار اسم ووصف للأمر الذي يبدأ بشرطة مائلة، ضع في اعتبارك الاقتراحات التالية:

  • لتسمية الأمر الذي تبدأ بشرطة مائلة:

    • استخدم كلمات أو عبارات قصيرة ووصفية وقابلة للتنفيذ لإنشاء واضحة وبسيطة للمستخدم. على سبيل المثال، بدلاً من أن تقول /createAReminder، استخدِم /remindMe.
    • إذا كان الأمر يحتوي على أكثر من كلمة، ساعِد المستخدمين على قراءة الأمر. باستخدام الأحرف الصغيرة بالكامل في الكلمة الأولى ثم كتابة الكلمة الأولى بالحروف الكبيرة حرف من الكلمات الإضافية. على سبيل المثال، بدلاً من /updatecontact، استخدام /updateContact.
    • ضَع في اعتبارك ما إذا كنت تريد استخدام اسم فريد أو شائع للأمر. في حال حذف يصف الأمر تفاعلاً أو ميزة نموذجية، يمكنك استخدام الاسم الشائع الذي يعرفه المستخدمون ويتوقعونه، مثل /settingsأو /feedback بخلاف ذلك، حاول استخدام أسماء أوامر فريدة، لأنه إذا يكون اسم الأمر مماثلاً لتطبيقات Chat الأخرى، على المستخدم تصفية أوامر مماثلة للعثور على أوامرك واستخدامها.
  • لوصف أمر الشرطة المائلة:

    • جعل الوصف قصيرًا وواضحًا حتى يعرف المستخدمون ما يمكنهم توقعه عند استدعاء الأمر.
    • وعليك إعلام المستخدمين بما إذا كانت هناك أي متطلبات تنسيق للأمر. على سبيل المثال، إذا أنشأت أمر /remindMe يتطلب وسيطة. نص، قم بتعيين الوصف إلى شيء مثل Remind me to do [something] at [time].
    • السماح للمستخدمين بمعرفة ما إذا كان تطبيق Chat يردّ على كل شخص في المساحة أو بشكل خاص إلى المستخدم الذي يستدعي الأمر. على سبيل المثال، بالنسبة للأمر الذي يبدأ بالشرطة المائلة /about، يمكنك وصفه على أنه Learn about this app (Only visible to you) للرد بشكل خاص على الأمر الذي يبدأ بشرطة مائلة، يمكنك الاطّلاع على القسم الرد برسالة خاصة.

ضبط الأمر الشرطة المائلة في Google Chat API

لإنشاء أمر شرطة مائلة، تحتاج إلى تحديد معلومات حول الأمر في إعدادات تطبيق Chat لواجهة Google Chat API

لضبط أمر شرطة مائلة في واجهة Google Chat API، عليك إكمال الخطوات التالية: الخطوات:

  1. في وحدة تحكُّم Google Cloud، انقر على "القائمة" > واجهات برمجة التطبيقات الخدمات > واجهات برمجة التطبيقات المفعّلة الخدمات > Google Chat API

    الانتقال إلى صفحة Google Chat API

  2. انقر على الإعداد.

  3. ضمن أوامر الشرطة المائلة، انقر على إضافة أمر شرطة مائلة.

  4. أدخِل اسمًا ورقم تعريف للأمر ووصفًا للأمر:

    1. الاسم: الاسم المعروض للأمر وما يكتبه المستخدمون لاستدعاء تطبيقك. يجب أن يبدأ بشرطة مائلة، وأن يحتوي على نص فقط، ويمكن على ما يصل إلى 50 حرفًا.
    2. الوصف: النص الذي يصف طريقة الاستخدام والتنسيق الأمر. يمكن أن يصل طول الأوصاف إلى 50 حرفًا.
    3. مُعرّف الطلب: رقم من 1 إلى 1000 يمكن يستخدم تطبيق Chat للتعرّف على الأمر الشرطة المائلة. وإرجاع الرد.
  5. اختياري: إذا أردت أن يردّ تطبيق Chat على الأمر باستخدام مربع حوار، فحدد مربّع الاختيار فتح مربّع حوار

  6. انقر على حفظ.

تم الآن ضبط الأمر الشرطة المائلة لتطبيق Chat.

الاستجابة إلى أمر يبدأ بشرطة مائلة

عندما ينشئ المستخدمون رسالة Chat تحتوي على أمر شرطة مائلة، يتلقّى تطبيقك على Chat حدث تفاعل واحد (MESSAGE). تحتوي حمولة الحدث على slashCommand وslashCommandMetadata الأخرى. تحتوي هذه العناصر على تفاصيل حول الأمر المستخدَم في الرسالة. (بما في ذلك مُعرّف الأمر)، بحيث يمكنك عرض رد مناسب.

رسالة خاصة إلى
  تطبيق Cymbal Labs في Chat. تقول الرسالة أن
  تم إنشاء تطبيق Chat بواسطة Cymbal Labs وهو يشارك رابطًا.
  إلى الوثائق ورابط للتواصل مع فريق الدعم.
يردّ تطبيق Chat بشكل خاص على أمر الشرطة المائلة /help لشرح كيفية الحصول على الدعم.

يعرض الرمز التالي مثالاً على تطبيق في Chat. الذي يردّ على أمر الشرطة المائلة /help من خلال المعالجة MESSAGE حدث تفاعل واكتشاف ما إذا كانت الرسالة تحتوي على معرّف الأمر المطابق أم لا. إذا كانت الرسالة تحتوي على رقم تعريف الأمر، سيعرض تطبيق Chat رسالة خاصة يشرح كيفية الحصول على المساعدة:

Node.js

/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {!Object} req Request sent from Google Chat app
* @param {!Object} res Response to send back
*
* @return {!Object} respond to slash command
*/
exports.onMessage = function onMessage(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    return res.send('Hello! This function is meant to be used in Google Chat app.');
  }

  const event = req.body;

  // Checks for the presence of event.message.slashCommand.
  // If the slash command is "/help", responds with a private text message.
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case 'ID': // The ID for your slash command
        return res.json({
          privateMessageViewer: event.user, // Optional. Responds privately to the slash command.
          text: 'This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>.'
        });
    }
  }

  // If the Chat app doesn't detect a slash command, it responds
  // with a private text message
  return res.json({
    privateMessageViewer: event.user,
    text: 'Try a slash command.'
  });
};

برمجة تطبيقات

/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {Object} event the event object from Google Chat
*/
function onMessage(event) {
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case ID: // The ID for your slash command
        return {
          "privateMessageViewer": event.user, // Optional. Responds privately to the slash command.
          "text": "This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>."
        };
    }
  }
  else {
    return { "text": "Try a slash command.", "privateMessageViewer": event.user };
  }
}

Python

from typing import Any, Mapping

import flask
import functions_framework

@functions_framework.http
def main(req: flask.Request) -> Mapping[str, Any]:
  """Responds to a MESSAGE event in Google Chat.

  Args:
      req (flask.Request): the event object from Chat API.

  Returns:
      Mapping[str, Any]: open a Dialog in response to a card's button click.
  """
  if req.method == 'GET':
    return 'Hello! This function must be called from Google Chat.'

  request = req.get_json(silent=True)

  # Checks for the presence of event.message.slashCommand.
  # If the slash command is "/help", responds with a private text message.
  if request.get('message', {}).get('slashCommand'):
    command_id = request.get('message', {}).get('slashCommand').get('commandId')
    if command_id == 'ID': # The ID for your slash command
      return {
          'privateMessageViewer': request.get('user'),
          'text': (
              'This Chat app was created by Cymbal Labs. To get help with this'
              ' app, <https://cymbalgroup.com/docs|see our documentation> or'
              ' <https://cymbalgroup.com/support|contact our support team>.'
          ),
      }

  return {
      'privateMessageViewer': request.get('user'), # Optional. Responds privately to the slash command.
      'text': 'Try a slash command.',
  }

استبدِل ID بمعرّف الأمر الذي المحددة عندما ضبط الأمر slash في واجهة برمجة تطبيقات Chat. لاختبار هذا الرمز، يُرجى مراجعة اختبار الميزات التفاعلية لتطبيقات Google Chat