На этой странице объясняется, как настроить приложение Google Chat для ответа на команды с косой чертой.
В Google Chat дополнения отображаются пользователям как приложения Google Chat. Дополнительную информацию см. в обзоре расширения Google Chat .
Команда косой черты — это распространенный способ вызова приложения чата и взаимодействия с ним. Слэш-команды также помогают пользователям находить и использовать ключевые функции приложения чата. Чтобы решить, следует ли вам настраивать команды с косой чертой, а также понять, как проектировать взаимодействие с пользователем, см. раздел «Определение всех циклов взаимодействия пользователя» в документации Chat API.
Как пользователи используют команды слэша
Чтобы использовать команду с косой чертой, пользователи вводят косую черту ( /
), а затем короткую текстовую команду, например /about
чтобы получить информацию о приложении Chat. Пользователи могут найти доступные команды с косой чертой, введя косую черту в Google Chat, после чего откроется окно со списком доступных команд для приложения Chat:
Когда пользователь отправляет сообщение, содержащее косую черту, это сообщение видно только пользователю и приложению Chat. Если вы настроили приложение чата для добавления в пространства с несколькими людьми, вы можете рассмотреть возможность ответа на косую черту в частном порядке, чтобы сохранить конфиденциальность взаимодействия между пользователем и приложением чата.
Например, чтобы узнать о приложении Chat, обнаруженном в пространстве, пользователи могут использовать такие команды, как /about
или /help
. Чтобы не уведомлять всех остальных в этом пространстве, приложение Chat может ответить конфиденциально, предоставив информацию о том, как использовать приложение Chat и получить поддержку.
Предварительные условия
Node.js
Надстройка Google Workspace, расширяющая Google Chat. Чтобы создать его, выполните краткое руководство по HTTP .
Скрипт приложений
Надстройка Google Workspace, расширяющая Google Chat. Чтобы создать его, выполните краткое руководство по Apps Script .
Настройте команду косой черты
В этом разделе объясняется, как выполнить следующие шаги для настройки команды косой черты:
- Создайте имя для своей косой черты.
- Настройте команду косой черты в API Google Chat.
Назовите свою косую черту
Имя команды с косой чертой — это то, что пользователи вводят в сообщении чата для вызова приложения чата. Под именем также отображается краткое описание, подсказывающее пользователям, как использовать команду:
При выборе имени и описания для вашей косой черты примите во внимание следующие рекомендации:
Чтобы назвать вашу косую черту:
- Используйте короткие, описательные и действенные слова или фразы, чтобы сделать команды понятными и простыми для пользователя. Например, вместо
/createAReminder
используйте/remindMe
. - Если ваша команда содержит более одного слова, помогите пользователям прочитать команду, используя все строчные буквы для первого слова, а затем заглавную первую букву дополнительных слов. Например, вместо
/updatecontact
используйте/updateContact
. - Подумайте, использовать ли для вашей команды уникальное или общее имя. Если ваша команда описывает типичное взаимодействие или функцию, вы можете использовать общее имя, которое пользователи узнают и ожидают, например
/settings
или/feedback
. В противном случае попробуйте использовать уникальные имена команд, поскольку, если имя вашей команды одинаково для других приложений чата, пользователю придется фильтровать похожие команды, чтобы найти и использовать вашу.
- Используйте короткие, описательные и действенные слова или фразы, чтобы сделать команды понятными и простыми для пользователя. Например, вместо
Чтобы описать вашу косую черту:
- Описание должно быть кратким и понятным, чтобы пользователи знали, чего ожидать при вызове команды.
- Сообщите пользователям, есть ли какие-либо требования к форматированию команды. Например, если вы создаете команду
/remindMe
, для которой требуется текст аргумента, установите для описания что-то вродеRemind me to do [something] at [time]
. - Сообщите пользователям, отвечает ли приложение Chat всем в группе или лично пользователю, который вызывает команду. Например, команду
/about
можно описать какLearn about this app (Only visible to you)
.
Настройте свою косую черту в API Google Chat
Чтобы создать косую черту, вам необходимо указать информацию о команде в конфигурации вашего приложения Chat для API Google Chat.
Чтобы настроить косую черту в API Google Chat, выполните следующие действия:
В консоли Google Cloud нажмите > API и службы > Включенные API и службы > Google Chat API.
Нажмите Конфигурация .
В разделе «Дополнительные настройки » перейдите в раздел «Триггеры» и убедитесь, что поле «СООБЩЕНИЕ» содержит триггер, например конечную точку HTTP или функцию скрипта приложений. Вы должны использовать этот триггер, чтобы в следующем разделе ответить на команду косой черты.
В разделе «Команды косой черты» нажмите «Добавить команду косой черты» .
Введите имя, идентификатор команды и описание команды:
- Имя: отображаемое имя команды и вводимый пользователем текст для вызова вашего приложения. Должно начинаться с косой черты, содержать только текст и может содержать до 50 символов.
- Описание: текст, описывающий, как использовать и форматировать команду. Описания могут содержать до 50 символов.
- Идентификатор команды: число от 1 до 1000, которое ваше приложение Chat использует для распознавания команды косой черты и возврата ответа.
Необязательно: если вы хотите, чтобы приложение Chat отвечало на команду диалоговым окном, установите флажок Открыть диалоговое окно.
Нажмите Сохранить .
Команда косой черты теперь настроена для приложения Chat.
Ответ на команду косой черты
Когда пользователи создают сообщение чата, ваше приложение чата получает объект события, содержащий информацию о сообщении. Объект события содержит полезную информацию с подробной информацией о команде, использованной в сообщении (включая идентификатор команды), чтобы вы могли вернуть соответствующий ответ.
Чтобы ответить на команду косой черты, необходимо реализовать триггер «Сообщение» , чтобы ваше приложение чата могло обрабатывать любые объекты событий , содержащие метаданные команды косой черты.
В следующем коде показан пример приложения Chat, которое отвечает на команду косой черты /about
текстовым сообщением. Чтобы реагировать на команды с косой чертой, приложение «Чат» обрабатывает объекты событий из триггера «Сообщение» . Если полезные данные объекта события содержат идентификатор команды с косой чертой, приложение 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 = 0;
/**
* Google Cloud Function that responds to messages 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 chatMessage = req.body.chat.messagePayload.message;
if (chatMessage.slashCommand) {
// Executes the slash command logic based on its ID.
// Slash command IDs are set in the Google Chat API configuration.
switch (chatMessage.slashCommand.commandId) {
case ABOUT_COMMAND_ID:
return res.send({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'The Avatar app replies to Google Chat messages.'
}}}}});
}
}
// 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 = 0;
/**
* 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;
if (chatMessage.slashCommand) {
// Executes the slash command logic based on its ID.
// Slash command IDs are set in the Google Chat API configuration.
switch (chatMessage.slashCommand.commandId) {
case ABOUT_COMMAND_ID:
return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'The Avatar app replies to Google Chat messages.'
}}}}};
}
}
// 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 }
}]
}]
}
}]
}}}}};
}
Чтобы использовать этот пример кода, замените ABOUT_COMMAND_ID
идентификатором команды, который вы указали при настройке команды косой черты в Chat API .