На этой странице объясняется, как настроить приложение Google Chat и отвечать на команды.
Команды помогают пользователям находить и использовать ключевые функции приложения Chat. Только приложения Chat могут видеть содержимое команды. Например, если пользователь отправляет сообщение с командой с косой чертой, сообщение будет видно только пользователю и приложению Chat.
Чтобы решить, следует ли вам создавать команды, и понять, как проектировать взаимодействия с пользователем, см. раздел Определение всех путей пользователя .
Типы команд приложения чата
Команды приложения Chat можно создавать как слэш-команды, так и быстрые команды. Чтобы найти команды, пользователи могут ввести слэш/ в поле ответа или нажать «Инструменты Google Workspace» .Команды с косой чертой: пользователи могут выбрать команду с косой чертой из меню или ввести косую черту (
/), а затем предопределенный текст, например,/about. Приложения чата обычно требуют текст аргумента для команды с косой чертой.Создайте слэш-команду, если ваше чат-приложение требует дополнительных действий от пользователя. Например, вы можете создать слэш-команду
/search, которая будет запускаться после того, как пользователь введёт фразу для поиска, например/search receipts.Быстрые команды: пользователи используют команды, открывая меню из области ответа на сообщение в чате. Чтобы использовать команду, они нажимают « Добавить».
и выберите команду из меню.
Создайте быструю команду, если ваше чат-приложение может отвечать пользователю мгновенно, не дожидаясь дополнительных данных. Например, вы можете создать быструю команду « Случайное изображение» , которая мгновенно отвечает изображением.

Предпосылки
HTTP
Надстройка для Google Workspace, расширяющая возможности Google Chat. Чтобы создать её, выполните краткое руководство по HTTP .
Скрипт приложений
Надстройка для Google Workspace, расширяющая возможности Google Chat. Чтобы создать её, выполните краткое руководство по Apps Script .
Настройте команду
В этом разделе объясняется, как выполнить следующие шаги для настройки команды:
- Создайте имя и описание для команды.
- Настройте команду в консоли Google Cloud.
Назовите и опишите команду
Имя команды — это то, что пользователи вводят или выбирают для вызова приложения 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 для API Google Chat.
Чтобы настроить команду в API Google Chat, выполните следующие действия: Чтобы настроить слэш-команду в API Google Chat, выполните следующие действия:
В консоли Google Cloud выберите > API и службы > Включенные API и службы > API Google Chat.
Нажмите Конфигурация .
В разделе «Настройки подключения» перейдите в раздел «Триггеры» и укажите данные вашей конечной точки. Этот триггер необходимо использовать в следующем разделе для ответа на команду.
- URL конечной точки HTTP : вы можете указать здесь один общий URL конечной точки HTTP. Кроме того, чтобы использовать разные конечные точки HTTP для разных триггеров, укажите конечную точку непосредственно в поле «Команда приложения» .
- Apps Script : введите идентификатор развертывания Apps Script. По умолчанию будет вызвана функция
onAppCommand. Чтобы использовать другую функцию Apps Script, укажите имя пользовательской функции в поле «Команда приложения» .
В разделе «Команды» нажмите «Добавить команду» .
Введите следующую информацию о команде:
- Идентификатор команды: число от 1 до 1000, которое ваше приложение чата использует для распознавания команды и возврата ответа.
- Описание: текст, описывающий использование и форматирование команды. Длина описания может составлять до 50 символов.
- Тип команды: выберите Быстрая команда или Косая черта .
- Укажите имя для быстрой команды или косой черты:
- Имя быстрой команды: отображаемое имя, которое пользователи выбирают в меню для вызова команды. Может содержать до 50 символов и включать специальные символы. Например,
Remind me. - Имя команды со слэшем: текст, который пользователи вводят для вызова команды в сообщении. Должно начинаться со слэша, содержать только текст и может содержать до 50 символов. Например,
/remindMe.
- Имя быстрой команды: отображаемое имя, которое пользователи выбирают в меню для вызова команды. Может содержать до 50 символов и включать специальные символы. Например,
Необязательно: если вы хотите, чтобы приложение Chat отвечало на команду диалогом, установите флажок Открыть диалог .
Нажмите «Сохранить» .
Теперь команда настроена для приложения «Чат».
Ответить на команду
Когда пользователи используют команду, ваше приложение Chat получает объект события . Полезная нагрузка события содержит объект appCommandPayload с информацией о вызванной команде (включая идентификатор и тип команды), чтобы вы могли вернуть соответствующий ответ. Объект события отправляется в конечную точку HTTP или функцию Apps Script, указанную вами при настройке триггера команды App .

/help чтобы объяснить, как получить поддержку. В следующем коде показан пример приложения Chat, которое отвечает на команду с косой чертой /about текстовым сообщением. Для ответа на команды с косой чертой приложение Chat обрабатывает объекты событий из триггера команды App . Если полезная нагрузка объекта события содержит идентификатор команды с косой чертой, приложение Chat возвращает действие DataActions с объектом createMessageAction :
Node.js
// 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 = ABOUT_COMMAND_ID;
/**
* 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 = ABOUT_COMMAND_ID;
/**
* 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 .
Чтобы узнать, как протестировать и использовать команду в пользовательском интерфейсе чата, см. раздел Использование приложений в Google Chat в справочной документации Google Chat.
Похожие темы
- Посмотрите примеры чат-приложений , использующих команды
- Отправить сообщение
- Открытые интерактивные диалоги