يوضّح هذا الدليل الطرق المختلفة التي يمكن لتطبيقات Google Chat من خلالها إرسال الرسائل:
- أرسِل رسائل نصية ورسائل البطاقات في الوقت الفعلي عن طريق الرد على تفاعل المستخدم.
- أرسِل الرسائل النصية ورسائل البطاقات بشكل غير متزامن من خلال طلب طريقة
create
على موردMessage
. - بدء سلسلة محادثات أو الرد عليها
- إرسال رسالة وتسميتها
يمثّل
مورد Message
رسالة
نص
أو
بطاقة
في Google Chat. يمكنك create
أو get
أو update
أو delete
رسالة في Google Chat API من خلال استدعاء الطرق المطابِقة. لمزيد من المعلومات عن الرسائل النصية ورسائل البطاقات، راجِع
نظرة عامة على رسائل Google Chat.
يبلغ الحد الأقصى لحجم الرسالة (بما في ذلك أي نصوص أو بطاقات) 32000 بايت. إذا تجاوزت الرسالة هذا الحجم، يمكن لتطبيق Chat إرسال رسائل متعدّدة بدلاً من ذلك.
بدلاً من طلب الإجراء create
على مورد Message
من واجهة برمجة تطبيقات Google Chat
لإرسال رسالة نصية أو رسالة بطاقة بشكل غير متزامن،
يمكن لتطبيقات Google Chat أيضًا إنشاء رسائل للردّ على تفاعلات المستخدمين
في الوقت الفعلي. إنّ الردود على تفاعلات المستخدم لا تتطلب المصادقة وتتيح أنواعًا أخرى من الرسائل، بما في ذلك مربّعات الحوار التفاعلية ومعاينات الروابط. لمعرفة التفاصيل، يمكنك الاطّلاع على مقالة
تلقّي التفاعلات مع تطبيق Google Chat والردّ عليها.
المتطلبات الأساسية
Node.js
- حساب على Google Workspace يمكنه الوصول إلى Google Chat
- مشروع على Google Cloud تم فيه تفعيل Google Chat API وضبطه لمعرفة الخطوات، يُرجى الاطّلاع على مقالة إنشاء تطبيق Google Chat.
- تم ضبط التفويض لتطبيق Chat لإرسال
رسائل غير متزامنة. لا يلزم إجراء تهيئة للتفويض لإرسال الرسائل في الوقت الفعلي.
- ويشمل إرسال
رسالة نصية
طريقتَي التفويض التاليتَين:
- مصادقة المستخدم
باستخدام نطاق التفويض
chat.messages.create
أوchat.messages
. - مصادقة التطبيقات
باستخدام نطاق التفويض
chat.bot
.
- مصادقة المستخدم
باستخدام نطاق التفويض
- يتطلب إرسال
رسالة بطاقة
مصادقة التطبيقات
مع نطاق تفويض
chat.bot
.
- ويشمل إرسال
رسالة نصية
طريقتَي التفويض التاليتَين:
Python
- حساب على Google Workspace يمكنه الوصول إلى Google Chat
- Python 3.6 أو أحدث
- إنّ أداة إدارة الحِزم pip
أحدث مكتبات عملاء Google للغة Python. لتثبيتها أو تحديثها، شغّل الأمر التالي في واجهة سطر الأوامر:
pip3 install --upgrade google-api-python-client google-auth
- مشروع على Google Cloud تم فيه تفعيل Google Chat API وضبطه لمعرفة الخطوات، يُرجى الاطّلاع على مقالة إنشاء تطبيق Google Chat.
تم ضبط التفويض لتطبيق Chat لإرسال رسائل غير متزامنة. لا يلزم إجراء تهيئة للتفويض لإرسال الرسائل في الوقت الفعلي.
- ويشمل إرسال
رسالة نصية
طريقتَي التفويض التاليتَين:
- مصادقة المستخدم
باستخدام نطاق التفويض
chat.messages.create
أوchat.messages
. - مصادقة التطبيقات
باستخدام نطاق التفويض
chat.bot
.
- مصادقة المستخدم
باستخدام نطاق التفويض
- يتطلب إرسال
رسالة بطاقة
مصادقة التطبيقات
مع نطاق تفويض
chat.bot
.
- ويشمل إرسال
رسالة نصية
طريقتَي التفويض التاليتَين:
Apps Script
- حساب على Google Workspace يمكنه الوصول إلى Google Chat
- هو تطبيق Chat منشور. لإنشاء تطبيق في Chat، اتّبِع quickstart.
- تم ضبط التفويض لتطبيق Chat لإرسال
رسائل غير متزامنة. لا يلزم إجراء تهيئة للتفويض لإرسال الرسائل في الوقت الفعلي.
- ويشمل إرسال
رسالة نصية
طريقتَي التفويض التاليتَين:
- مصادقة المستخدم
باستخدام نطاق التفويض
chat.messages.create
أوchat.messages
. - مصادقة التطبيقات
باستخدام نطاق التفويض
chat.bot
.
- مصادقة المستخدم
باستخدام نطاق التفويض
- يتطلب إرسال
رسالة بطاقة
مصادقة التطبيقات
مع نطاق تفويض
chat.bot
.
- ويشمل إرسال
رسالة نصية
طريقتَي التفويض التاليتَين:
إرسال رسائل نصية
يصف هذا القسم كيفية إرسال رسائل نصية بالطريقتين التاليتين:
- يمكنك إرسال رسالة نصية في الوقت الفعلي من خلال الرد على تفاعل أحد المستخدمين.
- يمكنك إرسال رسالة نصية من خلال طلب البيانات من Google Chat API بشكل غير متزامن.
إرسال رسالة نصية في الوقت الفعلي
في هذا المثال، ينشئ تطبيق Chat رسالة نصية ويرسلها عند إضافتها إلى مساحة. لمعرفة أفضل الممارسات لإعداد المستخدمين، يمكنك الاطّلاع على بدء الأشخاص والمساحات بخطوات إعداد مفيدة.
لإرسال رسالة نصية عندما يضيف مستخدم تطبيق Chat إلى مساحة،
يتجاوب تطبيق Chat مع ADDED_TO_SPACE
حدث تفاعل. للردّ على
أحداث تفاعل "ADDED_TO_SPACE
" من خلال رسالة نصية، استخدِم الرمز التالي:
Node.js
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
exports.onMessage = function onMessage(req, res) {
if (req.method === 'GET' || !req.body.message) {
res.send(
'Hello! This function is meant to be used in a Google Chat space.');
}
// Send an onboarding message when added to a Chat space
if (req.body.type === 'ADDED_TO_SPACE') {
res.json({
'text': 'Hi, Cymbal at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
learn what else I can do, type `/help`.'
});
}
};
Apps Script
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
function onAddToSpace(event) {
return {
'text': 'Hi, Cymbal at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
what else I can do, type `/help`.'
}
}
يعرض نموذج التعليمة البرمجية الرسالة النصية التالية:
إرسال رسالة نصية بشكل غير متزامن
يوضح القسم التالي كيفية إرسال رسالة نصية بشكل غير متزامن باستخدام مصادقة التطبيق ومصادقة المستخدم.
لإرسال رسالة نصية، مرر ما يلي في طلبك:
- باستخدام مصادقة التطبيق، حدِّد نطاق تفويض
chat.bot
. باستخدام مصادقة المستخدم، حدِّد نطاق تفويضchat.messages.create
. - استدعِ
طريقة
create
في الموردMessage
.
إرسال رسالة نصية تتضمّن مصادقة التطبيق
في ما يلي كيفية إرسال رسالة نصية باستخدام مصادقة التطبيق:
Python
- في دليل العمل، أنشِئ ملفًا باسم
chat_create_text_message_app.py
. ضمِّن الرمز التالي في
chat_create_text_message_app.py
:from apiclient.discovery import build from google.oauth2 import service_account # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = service_account.Credentials.from_service_account_file( 'credentials.json', scopes=SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Create a Chat message. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to create. body={'text': 'Hello, world!'} ).execute() print(result)
في الرمز، استبدِل
SPACE
باسم مساحة، الذي يمكنك الحصول عليه من طريقةspaces.list()
في Chat API أو من عنوان URL الخاص بالمساحة.في دليل العمل، أنشئ النموذج وقم بتشغيله:
python3 chat_create_text_message_app.py
تعرض Chat API مثيل Message
الذي يوضح تفاصيل الرسالة المُرسَلة.
إرسال رسالة نصية تتضمّن مصادقة المستخدم
إليك كيفية إرسال رسالة نصية باستخدام مصادقة المستخدم:
Python
- في دليل العمل، أنشِئ ملفًا باسم
chat_create_text_message_user.py
. ضمِّن الرمز التالي في
chat_create_text_message_user.py
:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.messages.create"] def main(): ''' Authenticates with Chat API via user credentials, then creates a text message in a Chat space. ''' # Start with no credentials. creds = None # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to create. body={'text': 'Hello, world!'} ).execute() # Prints details about the created message. print(result) if __name__ == '__main__': main()
في الرمز، استبدِل
SPACE
باسم مساحة، الذي يمكنك الحصول عليه من طريقةspaces.list()
في Chat API أو من عنوان URL الخاص بالمساحة.في دليل العمل، أنشئ النموذج وقم بتشغيله:
python3 chat_create_text_message_user.py
تعرض Chat API مثيل Message
الذي يوضح تفاصيل الرسالة المُرسَلة.
إرسال رسائل بطاقة
يصف هذا القسم كيفية إرسال رسائل البطاقة بالطريقتين التاليتين:
- يمكنك إرسال رسالة بطاقة في الوقت الفعلي من خلال الردّ على تفاعل المستخدم.
- أرسِل رسالة بطاقة من خلال طلب البيانات من Google Chat API بشكل غير متزامن.
إرسال رسالة بطاقة في الوقت الفعلي
يمكن لتطبيقات Chat إنشاء رسائل بطاقة للاستجابة إلى تفاعل أحد المستخدمين، على سبيل المثال عندما يرسل المستخدم رسالة إلى تطبيق Chat أو عندما يضيف تطبيق Chat إلى مساحة. لمزيد من المعلومات عن الردّ على تفاعلات المستخدمين، يمكنك الاطّلاع على مقالة تلقّي أحداث التفاعل مع تطبيق Chat والردّ عليها.
في هذا المثال، يرسل المستخدم رسالة إلى تطبيق Chat ويستجيب تطبيق Chat من خلال إرسال رسالة بطاقة تعرض اسم المستخدم وصورته الرمزية:
Node.js
Python
Apps Script
في هذا المثال، يتم إرسال رسالة بطاقة من خلال عرض البطاقة JSON. يمكنك أيضًا استخدام خدمة بطاقة "برمجة تطبيقات Google".
إرسال رسالة بطاقة بشكل غير متزامن
لإرسال رسالة بطاقة، مرر ما يلي في طلبك:
- باستخدام مصادقة التطبيق، حدِّد نطاق تفويض
chat.bot
. لا يمكنك إرسال رسالة بطاقة مع مصادقة المستخدم. - استدعِ
طريقة
create
في الموردMessage
.
في ما يلي مثال على رسالة بطاقة:
في ما يلي طريقة إرسال رسالة بطاقة مع مصادقة التطبيق:
Python
- في دليل العمل، أنشِئ ملفًا باسم
chat_create_card_message.py
. ضمِّن الرمز التالي في
chat_create_card_message.py
:from apiclient.discovery import build from google.oauth2 import service_account # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = service_account.Credentials.from_service_account_file( 'credentials.json', scopes=SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Create a Chat message. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to create. body= { 'cardsV2': [{ 'cardId': 'createCardMessage', 'card': { 'header': { 'title': 'A card message!', 'subtitle': 'Created with the Chat API', 'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png', 'imageType': 'CIRCLE' }, 'sections': [ { 'widgets': [ { 'buttonList': { 'buttons': [ { 'text': 'Read the docs!', 'onClick': { 'openLink': { 'url': 'https://developers.google.com/chat' } } } ] } } ] } ] } }] } ).execute() print(result)
في الرمز، استبدِل
SPACE
باسم مساحة، الذي يمكنك الحصول عليه من طريقةspaces.list
في Chat API أو من عنوان URL الخاص بالمساحة.في دليل العمل، أنشئ النموذج وقم بتشغيله:
python3 chat_create_card_message.py
بدء سلسلة محادثات أو الرد عليها
لبدء سلسلة رسائل، أرسِل رسالة واترك حقل
thread.name
فارغًا، إذ يملأه Google Chat عند إنشاء سلسلة المحادثات. إذا أردت تخصيص اسم سلسلة المحادثات، حدِّد الحقل thread.threadKey
.
للرد على سلسلة محادثات، أرسِل رسالة تحدد حقل
threadKey
أو حقل name
في سلسلة المحادثات. إذا أنشأ مستخدم أو تطبيق Chat آخر سلسلة المحادثات، عليك استخدام الحقل thread.name
.
إذا لم يتم العثور على سلسلة محادثات مطابقة، يمكنك تحديد ما إذا كان يجب أن تبدأ الرسالة سلسلة محادثات جديدة أو يتعذّر نشرها من خلال ضبط الحقل messageReplyOption
.
في حال ضبط messageReplyOption
، عليك أيضًا ضبط thread.name
أو thread.threadKey
.
في ما يلي طريقة بدء سلسلة محادثات أو الرد عليها باستخدام الحقل threadKey
المعرّف nameOfThread
:
Python
- في دليل العمل، أنشِئ ملفًا باسم
chat_create_message_thread.py
. ضمِّن الرمز التالي في
chat_create_message_thread.py
:from apiclient.discovery import build from google.oauth2 import service_account # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = service_account.Credentials.from_service_account_file( 'credentials.json', scopes=SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Create a Chat message. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # Whether to start a thread or reply to an existing one. # # Required when threading is enabled in a space unless starting a # thread. Ignored in other space types. Threading is enabled when # space.spaceThreadingState is THREADED_MESSAGES. # # REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD replies to an existing thread # if one exists, otherwise it starts a new one. messageReplyOption='REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD', # The message body. body={ # The message to create. 'text': 'Start or reply to another message in a thread!', # The thread to start or reply to. 'thread': { 'threadKey': 'nameOfThread' } } ).execute() print(result)
في الرمز، استبدِل
SPACE
باسم مساحة، الذي يمكنك الحصول عليه من طريقةspaces.list
في Chat API أو من عنوان URL الخاص بالمساحة.في دليل العمل، أنشئ النموذج وقم بتشغيله:
python3 chat_create_message_thread.py
تعرض Chat API مثيل Message
الذي يوضح تفاصيل الرسالة المُرسَلة.
تسمية رسالة
يشرح هذا القسم كيفية تسمية رسالة من خلال ضبط معرّف مخصّص
للرسالة. يمكنك استخدام المعرّفات المخصّصة لتلقّي الرسائل أو تعديلها أو حذفها. تتيح لك المعرّفات المخصّصة تحديد رسالة بدون الحاجة إلى تخزين المعرّف الذي حدّده النظام من اسم مورد الرسالة (الممثّلة في حقل name
). ويتم إنشاء اسم المورد في نص الاستجابة عند إنشاء الرسالة.
على سبيل المثال، لاسترداد رسالة باستخدام طريقة get()
، يمكنك استخدام اسم المورد لتحديد الرسالة المطلوب استردادها. يكون اسم المورد بتنسيق spaces/{space}/messages/{message}
، حيث يمثّل {message}
المعرّف الذي يحدّده النظام. إذا قمت بتسمية الرسالة، يمكنك استبدال قيمة {message}
بالمعرّف المخصّص.
لتسمية رسالة، حدِّد معرّفًا مخصّصًا في الحقل
messageId
عند إنشاء الرسالة. يضبط الحقل messageId
قيمة الحقل
clientAssignedMessageId
لمورد Message
.
لا يمكنك تسمية رسالة إلا عند إنشائها. لا يمكنك تسمية أو تعديل معرف مخصص للرسائل الحالية. ويجب أن يستوفي المعرّف المخصّص المتطلبات التالية:
- يبدأ بـ
client-
. على سبيل المثال، يكونclient-custom-name
معرّفًا مخصّصًا صالحًا، لكنّcustom-name
ليس كذلك. - يحتوي على ما يصل إلى 63 حرفًا وأحرف صغيرة وأرقام وواصلات فقط.
- يكون فريدًا داخل المساحة لا يمكن لتطبيق Chat استخدام المعرّف المخصّص نفسه لرسائل مختلفة.
في ما يلي كيفية إرسال رسالة باستخدام معرّف مخصص:
Python
- في دليل العمل، أنشِئ ملفًا باسم
chat_create_named_message.py
. ضمِّن الرمز التالي في
chat_create_named_message.py
:from apiclient.discovery import build from google.oauth2 import service_account # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = service_account.Credentials.from_service_account_file( 'credentials.json', scopes=SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Create a Chat message with a custom name. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # Custom name for the message used to facilitate later operations. messageId='client-NAME', # The message to create. body={'text': 'Hello, world!'} ).execute() print(result)
في التعليمة البرمجية، استبدل ما يلي:
SPACE
: رقم تعريف المساحة التي تريد نشر الرسالة فيها، والذي يمكنك الحصول عليه من طريقةspaces.list
في Chat API، أو من عنوان URL الخاص بالمساحة.NAME
: الاسم المخصّص للرسالة
في دليل العمل، أنشئ النموذج وقم بتشغيله:
python3 chat_create_named_message.py
تعرِض Chat API مثيل Message
.
إضافة تطبيقات مصغّرة تفاعلية في أسفل رسالة
يمكنك اختياريًا إلحاق الرسائل باستخدام التطبيقات المصغَّرة الملحقة. تظهر التطبيقات المصغّرة للملحقات بعد أي نص أو بطاقات في الرسالة. يمكنك استخدام هذه التطبيقات المصغّرة لحثّ المستخدمين على التفاعل مع رسالتك بطرق متعدّدة، بما في ذلك ما يلي:
- يمكنك تقييم مدى دقة الرسالة أو مدى رضاك عنها.
- الإبلاغ عن مشكلة في الرسالة أو تطبيق Chat
- افتح رابطًا يؤدي إلى محتوى ذي صلة، مثل المستندات.
- رفض الرسائل المشابهة أو تأجيلها من تطبيق Chat لفترة زمنية محدَّدة
لإضافة التطبيقات المصغّرة للملحقات، عليك تضمين العنصر
accessoryWidgets[]
في الرسالة وتحديد عنصر
AccessoryWidgets
أو أكثر تريد تضمينه. يجب أن تكون الرسالة مرئية للجميع في المساحة
(لا يمكنك إضافة التطبيقات المصغّرة الملحقة إلى الرسائل الخاصة).
تُظهر الصورة التالية تطبيق Chat يُلحق رسالة نصية تتضمّن تطبيقات مصغّرة لملحقات حتى يتمكّن المستخدمون من تقييم تجربتهم باستخدام تطبيق Chat.
يعرض نموذج الرمز البرمجي التالي ملف JSON لهذه الرسالة. عندما ينقر المستخدم
على أحد الأزرار، يؤدي التفاعل إلى تشغيل الوظيفة المقابلة (مثل
doUpvote
) التي تعالج التقييم.
"text": "Rate your experience with this Chat app.",
"accessoryWidgets": [
{
"buttonList": {
"buttons": [
{
"icon": {
"material_icon": {
"name": "thumb_up"
}
},
"color": {
"red": 0,
"blue": 255,
"green": 0
},
"onClick": {
"action": {
"function": "doUpvote",
}
}
},
{
"icon": {
"material_icon": {
"name": "thumb_down"
}
},
"color": {
"red": 0,
"blue": 255,
"green": 0
},
"onClick": {
"action": {
"function": "doDownvote",
}
}
}
]
}
}
]
إرسال الرسائل بشكل خاص
يمكن لتطبيقات Chat إرسال رسائل نصية ورسائل بطاقات بشكل خاص لكي تظهر الرسالة لمستخدم واحد فقط في المساحة. لإرسال رسالة بشكل خاص،
عليك تحديد الحقل privateMessageViewer
في الرسالة. يمكن لتطبيقات Chat فقط إرسال رسائل خاصة. لإرسال رسالة خاصة بشكل غير متزامن،
يجب استخدام ميزة مصادقة التطبيق.
لمزيد من التفاصيل، راجِع إرسال رسائل خاصة إلى مستخدمي Google Chat.
تحديد المشاكل وحلّها
عندما يعرض تطبيق Google Chat أو بطاقة رسالة خطأ، تعرض واجهة Chat رسالة مفادها "حدث خطأ". أو "تعذَّرت معالجة طلبك". في بعض الأحيان، لا تعرض واجهة مستخدم Chat أي رسالة خطأ، ولكن يعرض تطبيق Chat أو البطاقة نتيجة غير متوقعة. على سبيل المثال، قد لا تظهر رسالة بطاقة.
قد لا تظهر رسالة الخطأ في واجهة مستخدم Chat، ولكن تتوفّر رسائل خطأ وصفية وبيانات السجلّ لمساعدتك في إصلاح الأخطاء عند تفعيل تسجيل الأخطاء في تطبيقات Chat. للحصول على مساعدة في عرض الأخطاء وتصحيحها وتصحيحها، يُرجى الاطّلاع على تحديد وحلّ مشاكل Google Chat.
مواضيع ذات صلة
- تنسيق رسالة
- الحصول على تفاصيل حول رسالة
- إدراج الرسائل في مساحة
- تعديل رسالة
- حذف رسالة
- تحديد المستخدمين في رسائل Google Chat
- إرسال رسائل إلى Google Chat باستخدام الردود التلقائية الواردة على الويب