تنسيق الرسائل

توضّح هذه الصفحة كيف يمكن لتطبيقات Google Chat تنسيق النص لإرسال رسائل تتضمّن أيًا مما يلي:

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

تنسيق رسالة نصية

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

بالنسبة إلى الرسائل المُرسَلة باستخدام Chat API، يمكنك مواصلة استخدام بناء جملة Chat الأصلي أو استخدام بناء جملة Markdown العادي (المتوافق من خلال تحديد markup_syntax في نص الطلب).

لتنسيق الرسائل النصية، استخدِم بنية الجملة التالية:

التنسيق MARKUP_SYNTAX_CHAT MARKUP_SYNTAX_MARKDOWN مثال على البنية النص المعروض في Google Chat
غامق * **

*hello*

أو:

**hello**

hello
مائل _ (شَرطة سفلية) *

_hello_

أو:

*hello*

hello
نص مشطوب ~ ~~

~hello~

أو:

~~hello~~

hello
أحادي المسافة ‎` (علامة اقتباس معكوسة) ‎` (علامة اقتباس معكوسة) `hello` hello
مربّع أحادي المسافة ` ` ` (ثلاث علامات اقتباس معكوسة) ` ` ` (ثلاث علامات اقتباس معكوسة) ```
Hello
World
```
Hello
World
قائمة نقطية علامة النجمة (*) أو الشرطة (-) متبوعة بمسافة علامة النجمة (*) أو الشرطة (-) متبوعة بمسافة

* هذا هو العنصر الأول في القائمة.

* هذا هو العنصر الثاني في القائمة.

  • هذا هو العنصر الأول في القائمة.
  • هذا هو العنصر الثاني في القائمة.
قائمة متداخلة * أو - (شرطة) متبوعة بمسافة، ويسبقها أربع مسافات لكل مستوى تداخل * أو - (شرطة) متبوعة بمسافة، ويسبقها أربع مسافات لكل مستوى تداخل

* هذا هو العنصر الذي يبلغ عمق التداخل فيه مستوى واحد في القائمة.

    * هذا هو العنصر الذي يبلغ عمق التداخل فيه مستويَين في القائمة.

        * هذا هو العنصر الذي يتضمّن مستوى عمق متداخلًا يبلغ ثلاثة في القائمة.

  • هذا هو العنصر الذي يبلغ عمق التداخل فيه مستوى واحد في القائمة.
    • هذا هو العنصر الذي يبلغ عمق التداخل فيه مستويَين في القائمة.
      • هذا هو العنصر الذي يبلغ عمق التداخل فيه ثلاثة مستويات في القائمة.
قائمة مرقّمة غير متاح 1. (رقم متبوع بنقطة ومسافة)

1. هذا هو العنصر الأول في القائمة.

2. هذا هو العنصر الثاني في القائمة.

  1. هذا هو العنصر الأول في القائمة.
  2. هذا هو العنصر الثاني في القائمة.
حظر الاقتباس > (علامة أكبر من) > (علامة أكبر من) >hello
رمز تنسيق الاقتباس hello
Hyperlink <hyperlink|display text> [display text](hyperlink)

<https://example.com|Example website>

أو:

[Example website](https://example.com)

مثال على موقع إلكتروني

لمزيد من المعلومات عن إضافة الروابط التشعبية، يُرجى الاطّلاع على تنسيق الروابط.

الإشارة إلى مستخدم <users/{user}> حيث {user} هو رقم تعريف المستخدم.

<chat-user data-user="users/{user}">

أو:

<chat-user data-email="{email}">

<users/123456789012345678901> أو <users/all>

أو:

<chat-user data-user="users/123456789012345678901">،

<chat-user data-user="users/all"> أو

<chat-user data-email="email@example.com">

@Mahan S

لمزيد من المعلومات حول الإشارة إلى المستخدمين، يُرجى الاطّلاع على الإشارة إلى المستخدمين في رسالة نصية.

Custom Emoji

<customEmojis/{uid}>

أو:

<customEmojis/:{name}:>

<chat-emoji data-custom-emoji="customEmojis/{uid}">

أو:

<chat-emoji data-emoji-name=":{name}:">

<customEmojis/abc-123-def>

أو:

<customEmojis/:smiley-cat:>

أو:

<chat-emoji data-custom-emoji="customEmojis/abc-123-def">

أو:

<chat-emoji data-emoji-name=":smiley-cat:">

🐱 (إيموجي قطة مبتسمة مخصّص)
معلومات الكتاب غير متاح <chat-citation data-id="{id}">{text}</chat-citation> حيث {id} هو معرّف الاقتباس المحدّد في الرسالة elements. <chat-citation data-id="cite_1">cited text</chat-citation>

نص مقتبَس وموثَّق

لمزيد من المعلومات عن الاقتباسات، يُرجى الاطّلاع على إضافة اقتباسات إلى رسالة نصية.

على سبيل المثال، إليك عنصر JSON التالي:

    {
      "text": "Your pizza delivery *has arrived*!\nThank you for using _Cymbal Pizza!_"
    }

تعرض رسالة النص المنسَّق هذه ما يلي في مساحة Chat:

يرسل تطبيق Cymbal Pizza رسالة نصية قصيرة تفيد بوصول الطلب.

عرض تنسيق النص المُرسَل في رسالة

عندما يرسل المستخدم رسالة، يكون نص الرسالة العادي في الحقل text. يظهر في الحقل text بعض التنسيق الذي يتم تطبيقه على الرسالة النصية باستخدام بنية Markdown. يتوفّر تنسيق إضافي في الحقل formattedText المخصّص للإخراج فقط، بما في ذلك ما يلي:

  • بنية Markdown إضافية للنص
  • الإشارات إلى المستخدم
  • الروابط التشعّبية المخصّصة
  • رموز الإيموجي المخصّصة

على سبيل المثال، إليك النص التالي الذي أرسله مستخدم:

تمّ تلقّي رسالة في Chat تتضمّن الكلمة

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

مسودة رسالة تتضمّن الكلمة

يتم تلقّي الرسالة بالتنسيق التالي:

    {
      "text": "I can meet there at:\nNoon\n3 pm\n5 pm\nWhat time works for you?",
      "formattedText": "I can meet <http://example.com|there> at:\n* Noon\n* 3 pm\n* 5 pm\nWhat time works for *you*?",
    }

إذا أدرجت عنوان URL بسيطًا في نص رسالتك، مثل http://www.example.com/، سيستخدمه Google Chat كنص الرابط وسيحوّل هذا النص تلقائيًا إلى رابط تشعّبي يؤدي إلى عنوان URL المحدّد.

لتوفير نص رابط بديل للرابط، استخدِم البنية التالية:

  • بالنسبة إلى رسائل واجهة برمجة التطبيقات التي تم ضبطها باستخدام Markdown، استخدِم بنية رابط Markdown العادية:

    مثال على بنية الجملة النص المعروض في Google Chat
    [Example website](https://example.com)
  • بالنسبة إلى الرسائل النصية العادية، استخدِم بنية الخط العمودي:

    مثال على بنية الجملة النص المعروض في Google Chat
    <https://example.com|Example website>

    إنّ علامة الأنابيب ونص الرابط اختياريان، لذا فإنّ <https://example.com> وhttps://example.com متكافئان.

استخدام رموز إيموجي مخصّصة في رسالة نصية

يمكن لتطبيقات المحادثة إرسال رسائل نصية تتضمّن رموز إيموجي مخصّصة لتخصيص الرسائل. لا تتوفّر رموز الإيموجي المخصّصة إلا لمؤسسات Google Workspace، ويجب أن يفعّلها المشرف للمؤسسة. لمزيد من المعلومات، يُرجى الاطّلاع على المقالتَين التعرّف على الرموز التعبيرية المخصصة في Google Chat وإدارة أذونات رموز الإيموجي المخصّصة.

لإنشاء رسائل تتضمّن رموزًا تعبيرية مخصّصة، يجب أن يستخدم تطبيقك مصادقة المستخدم. لا تتوفّر الرموز التعبيرية المخصّصة في الرسائل التي يتم إنشاؤها كخطاف ويب أو في الرسائل التي يتم إنشاؤها باستخدام مصادقة التطبيق.

لإضافة إيموجي مخصّص إلى نص الرسالة، حدِّد name أو emoji_name لمورد customEmoji:

{
    "text": "Hello <customEmojis/CUSTOM_EMOJI_ID>."
}

لاستخدام هذا النموذج، استبدِل CUSTOM_EMOJI_ID برقم تعريف الإيموجي المخصّص. يمكنك العثور على هذا المعرّف في حقل name أو emoji_name في المورد customEmoji.

إذا كان تطبيقك يرسل رسائل باستخدام بنية Markdown، يمكنك تحديد رموز إيموجي مخصّصة بتنسيق علامة HTML باستخدام معرّف الإيموجي المخصّص:

{
  "text": "Hello <chat-emoji data-custom-emoji=\"customEmojis/CUSTOM_EMOJI_ID\">."
}

أو يمكنك تحديد اسم رمز الإيموجي المخصّص:

{
  "text": "Hello <chat-emoji data-emoji-name=\"CUSTOM_EMOJI_NAME\">."
}

لاستخدام هذه الأمثلة، استبدِل CUSTOM_EMOJI_ID برقم تعريف الإيموجي المخصّص، وCUSTOM_EMOJI_NAME باسم الرمز القصير للإيموجي المخصّص.

الإشارة إلى مستخدمين في رسالة نصية

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

لا تتيح الرسائل الصامتة الإشارة إلى المستخدمين. سيؤدي تضمين إشارة في رسالة صامتة إلى عرض خطأ.

الإشارة إلى مستخدمين محدّدين باستخدام @

للإشارة إلى مستخدم معيّن باستخدام @، أضِف <users/{user}> إلى الرسالة النصية حيث يمثّل {user} معرّف المستخدم. على سبيل المثال، إليك الرسالة النصية التالية حيث يمثّل 123456789012345678901 المعرّف الخاص بالمستخدم "مهند س.":

{
    "text": "A customer has reported an issue. Assigning ticket #942 to <users/123456789012345678901>."
}

إذا كان تطبيقك يرسل رسائل باستخدام بناء جملة Markdown، استخدِم تنسيق علامة HTML chat-user لتحديد معرّف المستخدم:

{
  "text": "Assigning ticket #942 to <chat-user data-user=\"users/123456789012345678901\">."
}

أو حدِّدها حسب البريد الإلكتروني:

{
  "text": "Assigning ticket #942 to <chat-user data-email=\"mahan@example.com\">."
}

تظهر الرسالة النصية على النحو التالي:

تطبيق Chat يشير إلى مستخدم في رسالة نصية.

يمكنك تحديد قيمة users/{user} بالطرق التالية:

  • إذا كان تطبيق Google Chat يردّ على رسالة أرسلها المستخدم، يمكنك استخدام الحقل message.sender.name في MESSAGE حدث التفاعل.
  • إذا كان تطبيق Google Chat ينشئ رسالة نصية غير متزامنة، يمكنك تحديد قيمة users/{user} بالطرق التالية:

    • استخدِم الحقل name الخاص بمورد Google Chat User، مثل users/123456789012345678901.
    • استخدِم عنوان البريد الإلكتروني للمستخدم كاسم مستعار لقيمة {user}. على سبيل المثال، إذا كان عنوان البريد الإلكتروني هو mahan@example.com، يمكنك تحديد المستخدم على أنّه users/mahan@example.com. لاستخدام العنوان البديل للبريد الإلكتروني، يجب أن يتم إثبات هوية تطبيق Google Chat كمستخدم.
  • إذا كنت تستخدم People API، يمكنك أيضًا استخدام الطريقة people.get لتحديد رقم تعريف المستخدم.

الإشارة إلى جميع المستخدمين باستخدام @

لإنشاء رسالة نصية تشير إلى الجميع في مساحة باستخدام @، استبدِل {user} بالرمز all. يذكر مثال JSON التالي جميع المستخدمين في رسالة:

{
    "text": "Important message for <users/all>: Code freeze starts at midnight tonight!"
}

إذا كان تطبيقك يرسل رسائل باستخدام بناء جملة Markdown، حدِّد الإشارة باستخدام تنسيق علامة HTML chat-user:

{
  "text": "Important message for <chat-user data-user=\"users/all\">: Code freeze starts at midnight tonight!"
}

إضافة اقتباسات إلى رسالة نصية

يمكن أن تتضمّن تطبيقات المحادثات مَراجع في الرسائل النصية لتزويد المستخدمين بمعلومات تفصيلية عن المصدر. يمكنك تقديم المصادر بطريقتين:

  • الاقتباسات المضمّنة: يمكنك إضافة بطاقات تفاعلية تظهر عندما يمرّر المستخدمون مؤشر الماوس فوق أجزاء معيّنة من نص رسالتك.
  • مصادر التذييل: عرض قائمة بالمصادر في أسفل الرسالة كروابط تذييل

لا تتوفّر الاقتباسات إلا عندما يتم ضبط markupSyntax الرسالة على MARKUP_SYNTAX_MARKDOWN. لا تتوفّر هذه الميزة إلا من خلال إنشاء الرسائل بشكل غير متزامن باستخدام Chat API.

لإضافة اقتباسات مضمّنة إلى رسالة، اتّبِع الخطوات التالية:

  1. قدِّم المصادر في قائمة citations الرسالة elements، مع تعيين id فريد لكل عنصر Citation.
  2. في نص الرسالة، ضع النص الذي تريد اقتباسه بين علامتي HTML chat-citation بالتنسيق التالي: <chat-citation data-id="{id}">{text}</chat-citation>. تأكَّد من أنّ قيمة {id} تطابق رقم التعريف الذي حدّدته في elements. يتم تجاهل الاقتباسات غير المُشار إليها (التي لا تحتوي على علامة مطابقة).
{
  "text": "This is a <chat-citation data-id=\"cite_1\">cited</chat-citation> text.",
  "markupSyntax": "MARKUP_SYNTAX_MARKDOWN",
  "elements": {
    "citations": [
      {
        "id": "cite_1",
        "citedSources": [
          {
            "title": "Example Source",
            "uri": "https://example.com"
          }
        ]
      }
    ]
  }
}

لإضافة مصادر التذييل إلى رسالة، قدِّم المصادر في قائمة citedSources الخاصة بالرسالة elements. تظهر أي مراجع يتم تقديمها هنا تلقائيًا أسفل الرسالة كروابط في التذييل، ولا تتطلّب أي علامات مضمّنة في نص الرسالة.

{
  "text": "This is a message with a footer source.",
  "markupSyntax": "MARKUP_SYNTAX_MARKDOWN",
  "elements": {
    "citedSources": [
      {
        "title": "Example Source",
        "uri": "https://example.com"
      }
    ]
  }
}

تنسيق النص الذي يظهر في البطاقات

داخل البطاقات، تتيح معظم حقول النص تنسيق النص الأساسي باستخدام مجموعة فرعية صغيرة من علامات HTML. يختلف تنسيق النص في رسائل البطاقات عن تنسيقه في الرسائل النصية، لأنّ الرسائل النصية يتم تنسيقها باستخدام بنية مماثلة لتلك التي يستخدمها مستخدمو Chat.


استخدِم "أداة إنشاء البطاقات" لتصميم واجهات المستخدم والمراسلة ومعاينتها لتطبيقات Chat:

افتح "أداة إنشاء البطاقات"

تنسيق نص الفقرة

يتم عرض العلامات المتوافقة والغرض منها في الجدول التالي:

التنسيق مثال النتيجة المعروضة
غامق "This is <b>bold</b>." هذا النص غامق.
مائل "This is <i>italics</i>." هذا النص مائل.
تسطير "This is <u>underline</u>." هذا نص مسطّر.
نص مشطوب "This is <s>strikethrough</s>." هذا النص مشطوب.
لون الخط "This is <font color=\"#FF0000\">red font</font>." هذا خط أحمر.
Hyperlink "This is a <a href=\"https://www.google.com\">hyperlink</a>." هذا رابط تشعّبي.
الوقت "This is a time format: <time>2023-02-16 15:00</time>." هذا تنسيق وقت: .
سطر جديد "This is the first line. <br> This is a new line." هذا هو السطر الأول.
هذا سطر جديد.

لتحديد القوائم وكتل الرموز، استخدِم العلامات التالية:

التنسيق مثال النتيجة المعروضة
سطر جديد "Line 1<br>Line 2" السطر 1
السطر 2
أحادي المسافة "This is an <code>inline code</code>." هذا صوت inline code.
مربّع أحادي المسافة "<pre><code>This a code block.</code></pre>"
This is a code block.
قائمة نقطية "<ul><li>List item 1</li><li>List item 2</li></ul>"
  • عنصر القائمة 1
  • عنصر القائمة 2
قائمة مع ترتيب "<ol><li>List item 1</li><li>List item 2</li></ol>"
  1. عنصر القائمة 1
  2. عنصر القائمة 2

Markdown

عند تفعيل بنية Markdown، يمكنك استخدام البنية التالية:

التنسيق مثال النتيجة المعروضة
غامق **hello** أو __hello__ hello
مائل *hello* أو _hello_ hello
نص مشطوب ~hello~ hello
أحادي المسافة `hello` hello
مربّع أحادي المسافة ```
Hello
World
```
Hello
World
قائمة نقطية

- هذا هو العنصر الأول في القائمة

- هذا هو العنصر الثاني في القائمة

  • هذا هو العنصر الأول في القائمة
  • هذا هو العنصر الثاني في القائمة

* هذا هو العنصر الأول في القائمة

* هذا هو العنصر الثاني في القائمة

  • هذا هو العنصر الأول في القائمة
  • هذا هو العنصر الثاني في القائمة
قائمة مع ترتيب

1. هذا هو العنصر الأول في القائمة

2. هذا هو العنصر الثاني في القائمة

  1. هذا هو العنصر الأول في القائمة
  2. هذا هو العنصر الثاني في القائمة
Hyperlink [مثال على موقع إلكتروني](https://example.com) مثال على موقع إلكتروني

إضافة رموز إلى النص

لعرض الرموز بجانب النص في بطاقة، يمكنك استخدام أداتَي DecoratedText و ButtonList.

توضّح الأقسام التالية كيفية استخدام الرموز المضمّنة أو رموز Google Material أو الرموز المخصّصة في النصوص أو الأزرار المزخرفة.

استخدام الرموز من Chat

لاستخدام أحد الرموز المضمّنة المتوفّرة في Chat، حدِّد أحد الخيارات التالية:

يسرد الجدول التالي الرموز المضمّنة المتوفّرة لرسائل البطاقات:

AIRPLANE BOOKMARK
BUS CAR
الساعة CONFIRMATION_NUMBER_ICON
الوصف DOLLAR
البريد الإلكتروني EVENT_SEAT
FLIGHT_ARRIVAL FLIGHT_DEPARTURE
HOTEL HOTEL_ROOM_TYPE
INVITE MAP_PIN
العضويات MULTIPLE_PEOPLE
PERSON PHONE
RESTAURANT_ICON SHOPPING_CART
STAR المتجر
TICKET TRAIN
VIDEO_CAMERA VIDEO_PLAY

في ما يلي مثال على بطاقة تتضمّن رمز بريد إلكتروني:

استخدام رموز Google Material

يمكنك استخدام رموز Google Material للاختيار من بين أكثر من 2,500 خيار رمز وتخصيص وزن الرموز وتعبئتها ومستواها.

في ما يلي مثال على بطاقة تتضمّن رمز Google Material:

استخدام رموز مخصّصة

لإضافة رمز مخصّص، أدرِج الحقل iconUrl وحدِّد عنوان URL الخاص بالرمز.

في ما يلي مثال على رمز مخصّص: