این صفحه توضیح میدهد که برنامههای Google Chat چگونه میتوانند نوشتار را قالببندی کنند تا پیامهایی ارسال کنند که حاوی هریک از موارد زیر باشد:
- نوشتار غنیشدهای که حاوی اَبَرپیوند یا نامبردن با @از یک یا همه کاربران در فضای Chat است.
- نوشتاری که در میانای کارت نشان داده میشود، ازجمله نوشتار پاراگراف یا نوشتار میانای کاربری که در کنار نماد، مثلاً دکمه، نمایش داده میشود.
قالببندی پیامک
Chat به شما امکان میدهد قالببندی پایه را به پیام نوشتاری اضافه کنید، ازجمله پررنگ، ایتالیک، و خطخورده. قالببندی نوشتار در پیامهای نوشتاری با پیامهای کارتی متفاوت است زیرا پیامهای نوشتاری با همان نحوی قالببندی میشوند که کاربران Chat استفاده میکنند.
برای پیامهای ارسالشده یا بازیابیشده بااستفاده از Chat API، میتوانید از
نحو Markdown استاندارد (MARKUP_SYNTAX_MARKDOWN) یا نحو نشانهگذاری
Chat (MARKUP_SYNTAX_CHAT) استفاده کنید. میتوانید نحو نشانهگذاری پیشفرض
Markup syntax را در سطح برنامه در کنسول Google Cloud پیکربندی کنید (به پیکربندی
Google Chat API مراجعه کنید):
- Markdown: نحو استاندارد Markdown (
MARKUP_SYNTAX_MARKDOWN)، براساس مشخصات CommonMark با افزونههای اضافی. برنامههای Chat که بهتازگی ایجاد شدهاند بهطور پیشفرض روی Markdown تنظیم شدهاند. - Chat: نحو نشانهگذاری Chat (
MARKUP_SYNTAX_CHAT). برنامههای Chat موجود برای حفظ سازگاری با نسخههای قدیمی بهطور پیشفرض روی Chat تنظیم شدهاند.
همچنین میتوانید markup_syntax را در درخواستهای تکی Chat API مشخص کنید
تا پیشفرض سطح برنامه را لغو کنید. وقتی markup_syntax در درخواست API مشخص نشده باشد، نشانگذاری براساس نحوه فراخوانی Chat API تنظیم میشود:
- برنامههای Chat پیکربندیشده: از نحو نشانهگذاری ذخیرهشده در صفحه «پیکربندی Chat API» استفاده میکند.
- پروژههای Cloud پیکربندینشده (بدون پیکربندی): اگر پروژه Cloud شما Chat API را بدون پیکربندی ذخیرهشده برنامه Chat فراخوانی کند، درخواستها بهطور پیشفرض به
MARKUP_SYNTAX_MARKDOWNمیروند. - وبقلابهای ورودی: بهطور پیشفرض روی
MARKUP_SYNTAX_CHATتنظیم شده است. ارسال پیام بااستفاده از وبقلابهای ورودی را ببینید.
برای قالببندی پیامهای نوشتاری، از نحو زیر استفاده کنید:
| قالب | MARKUP_SYNTAX_CHAT | MARKUP_SYNTAX_MARKDOWN | نحو نمونه | نوشتار نمایشدادهشده در Google Chat |
|---|---|---|---|---|
| پررنگ | * |
** |
یا:
|
سلام |
| ایتالیک | _ _ (زیرخط) |
* |
یا:
|
سلام |
| خطخورده | ~ |
~~ |
یا:
|
|
| تکفاصله | ` (backquote) | ` (backquote) | `hello` | hello |
| بلوک تکفاصله | ` ` ` (سه علامت نقلقول وارونه) | ` ` ` (سه نقلقول وارونه) | ``` سلام دنیا ``` |
Hello |
| فهرست گلولهای | * یا - (خط تیره) و سپس یک فاصله | * یا - (خط تیره) و سپس یک فاصله | * این اولین مورد در فهرست است. * این دومین مورد در فهرست است. |
|
| فهرست تودرتو | * یا - (خط تیره) بهدنبال یک فاصله، با چهار فاصله قبلاز آن برای هر سطح تودرتو | * یا - (خط تیره) بهدنبال یک فاصله، با چهار فاصله قبلاز آن برای هر سطح تودرتو | * این موردی با عمق تودرتوی یک در فهرست است. * This is the item with nested depth two in the list. * این موردی با عمق تودرتوی سه در فهرست است. |
|
| فهرست شمارهدار | پشتیبانی نمیشود | ۱. (عدد بهدنبال نقطه و فاصله) | ۱. این اولین مورد در فهرست است. ۲. این دومین مورد در فهرست است. |
|
| مسدود کردن نقلقول | > (علامت بزرگتر از) | > (علامت بزرگتر از) | >سلام |
|
| Hyperlink | <hyperlink|display text> |
[display text](hyperlink) |
یا:
|
برای کسب اطلاعات بیشتر درباره اَبَرپیوند، به قالببندی پیوندها مراجعه کنید. |
| نام بردن از کاربر | <users/{user}> که {user} شناسه کاربر است. |
یا:
|
یا:
|
@Mahan S برای کسب اطلاعات بیشتر درباره نام بردن از کاربران، به نام بردن از کاربران در پیام نوشتاری مراجعه کنید. |
| اموجی سفارشی |
یا:
|
یا:
|
یا:
یا:
یا:
|
🐱 (اموجی سفارشی گربه خندان) |
| نقلقول | پشتیبانی نمیشود | <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 نمایش میدهد:
مشاهده قالببندی نوشتار ارسالشده در پیام
وقتی کاربری پیامی ارسال میکند، بدنه نوشتار ساده پیام در فیلد text قرار میگیرد. برخیاز قالببندیهایی که بااستفاده از نحو Markdown روی پیام نوشتاری اعمال شده است در فیلد text قرار دارد. قالببندی اضافی در فیلد فقط خروجی formattedText است، ازجمله موارد زیر:
- نحو Markdown اضافی برای نوشتار
- نام بردنها از کاربر
- اَبَرپیوندهای سفارشی
- صورتک سفارشی
برای مثال، نوشتار زیر را که توسط کاربر ارسال شده است درنظر بگیرید:
اگر پیام بااستفاده از منو قالب در
رابط کاربری 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*?",
}
پیوندهای قالب
اگر نشانی وب پیوند سادهای را در نوشتار پیامتان اضافه کنید، مثلاً
http://www.example.com/، Google Chat از آن بهعنوان نوشتار پیوند استفاده میکند و
بهطور خودکار آن نوشتار را به نشانی وب مشخصشده پیوند میدهد.
برای ارائه نوشتار پیوند جایگزین برای پیوندتان، از نحو زیر استفاده کنید:
برای پیامهای API پیکربندیشده با Markdown، از نحو پیوند Markdown استاندارد استفاده کنید:
نحو نمونه نوشتار نمایشدادهشده در Google Chat [Example website](https://example.com)برای پیامهای نوشتار ساده استاندارد، از نحو لوله استفاده کنید:
نحو نمونه نوشتار نمایشدادهشده در Google Chat <https://example.com|Example website>خط عمودی و نوشتار پیوند اختیاری هستند، بنابراین
<https://example.com>وhttps://example.comمعادل هستند.
استفاده از اموجی سفارشی در پیامک
برنامههای Chat میتوانند پیامهای نوشتاری با اموجی سفارشی ارسال کنند تا پیامها را شخصیسازی کنند. اموجیهای سفارشی فقط برای سازمانهای 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\">."
}
پیامک بهصورت زیر نمایش داده میشود:
میتوانید مقدار users/{user} را به روشهای زیر مشخص کنید:
- اگر برنامه Google Chat شما به پیامی که کاربر ارسال کرده است پاسخ میدهد، میتوانید از فیلد
message.sender.nameرویداد تعاملMESSAGEاستفاده کنید. اگر برنامه Google Chat شما درحال ایجاد پیام نوشتاری ناهمگام است، میتوانید مقدار
users/{user}را به روشهای زیر مشخص کنید:- از فیلد
nameمنبع Google ChatUser، مثل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!"
}
افزودن استناد به پیامک
برنامههای Chat میتوانند برای ارائه اطلاعات دقیق منبع به کاربران، در پیامهای نوشتاری استناد اضافه کنند. به دو روش میتوانید منبع ارائه دهید:
- نقلقولهای درونخطی: کارتهای تعاملی اضافه کنید که وقتی کاربران نشانگر را روی بخشهای خاصی از نوشتار پیام شما نگه میدارند، ظاهر میشوند.
- منابع پانویس: فهرستی از منابع را در پایین پیام بهعنوان پیوندهای پانویس نمایش میدهد.
استنادها فقط زمانی پشتیبانی میشوند که markupSyntax پیام روی MARKUP_SYNTAX_MARKDOWN تنظیم شده باشد. این ویژگی فقط ازطریق ایجاد پیام ناهمگام بااستفاده از Chat API پشتیبانی میشود.
برای افزودن نقلقولهای درونخطی به پیام:
- منابع را در فهرست
citationsپیامelementsارائه دهید و به هر شیءCitationیکidیکتا اختصاص دهید. - در نوشتار پیام، نوشتاری را که میخواهید نقلقول کنید بااستفاده از قالب برچسب 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" |
خط ۱ خط ۲ |
| تکفاصله | "This is an <code>inline code</code>." |
این یک inline code است. |
| بلوک تکفاصله | "<pre><code>This a code block.</code></pre>" |
|
| فهرست گلولهای | "<ul><li>List item 1</li><li>List item 2</li></ul>" |
|
| فهرست مرتبشده | "<ol><li>List item 1</li><li>List item 2</li></ol>" |
|
Markdown
وقتی نحو Markdown روشن باشد، میتوانید از نحو زیر استفاده کنید:
| قالب | مثال | نتیجه پردازششده |
|---|---|---|
| پررنگ | **سلام** یا __سلام__ | سلام |
| ایتالیک | *سلام* یا _سلام_ | سلام |
| خطخورده | ~سلام~ | |
| تکفاصله | `hello` | hello |
| بلوک تکفاصله | ``` سلام دنیا ``` |
Hello |
| فهرست گلولهای | - این اولین مورد در فهرست است - این دومین مورد در فهرست است |
|
|
* این اولین مورد در فهرست است * این دومین مورد در فهرست است |
|
|
| فهرست مرتبشده | ۱. این اولین مورد در فهرست است ۲. این دومین مورد در فهرست است |
|
| 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 | ||
| دعوت | MAP_PIN | ||
| عضویت | MULTIPLE_PEOPLE | ||
| PERSON | تلفن | ||
| RESTAURANT_ICON | SHOPPING_CART | ||
| STAR | STORE | ||
| بلیت | TRAIN | ||
| VIDEO_CAMERA | VIDEO_PLAY |
در زیر نمونهای از کارت با نماد ایمیل ارائه شده است:
استفاده از نمادهای Google Material
میتوانید از نمادهای Google Material استفاده کنید تا از بین بیشاز ۲۵۰۰ گزینه نماد انتخاب کنید و وزن، رنگ، و درجه نمادها را سفارشیسازی کنید.
در زیر نمونهای از کارت با نماد Google Material ارائه شده است:
استفاده از نمادهای سفارشی
برای افزودن نماد سفارشی، فیلد iconUrl را اضافه کنید و نشانی وب مربوط به نماد را مشخص کنید.
در زیر نمونهای از نماد سفارشی آورده شده است: