Nesta página, explicamos como configurar um app do Google Chat para responder a comandos de barra.
No Google Chat, os complementos aparecem para os usuários como apps do Google Chat. Para saber mais, consulte a Visão geral do Extend Google Chat.
Um comando de barra é uma maneira comum de os usuários invocarem e interagirem com um app de chat. Os comandos de barra também ajudam os usuários a descobrir e usar os principais recursos de um app de chat. Para decidir se você precisa configurar comandos de barra e entender como projetar interações do usuário, consulte Definir todas as jornadas do usuário na documentação da API Chat.
Como os usuários usam os comandos de barra
Para usar um comando de barra, os usuários digitam uma barra (/
) e um comando de texto curto,
como /about
, para receber informações sobre o app Chat.
Os usuários podem descobrir os comandos de barra disponíveis digitando uma barra no
Google Chat, que exibe uma janela com a lista de comandos disponíveis para o
app Chat:
Quando um usuário envia uma mensagem que contém um comando de barra, ela só fica visível para o usuário e o app do Chat. Se você configurou o app do Chat para ser adicionado a espaços com várias pessoas, considere responder ao comando de barra de forma privada para manter a interação entre o usuário e o app do Chat.
Por exemplo, para saber mais sobre um app de chat
que descobriram em um espaço, os usuários podem usar comandos como /about
ou /help
.
Para evitar notificações a todos os outros participantes do espaço, o
app de chat pode responder de forma particular com informações sobre
como usar o app e receber suporte.
Pré-requisitos
Node.js
Um complemento do Google Workspace que estende o Google Chat. Para criar um, conclua o Guia de início rápido do HTTP.
Apps Script
Um complemento do Google Workspace que estende o Google Chat. Para criar um, conclua o Guia de início rápido do Apps Script.
Configurar um comando de barra
Esta seção explica como concluir as etapas a seguir para configurar um comando de barra oblíqua:
- Crie um nome para o comando de barra.
- Configure o comando de barra na API Google Chat.
Nomear o comando de barra
O nome de um comando de barra é o que os usuários digitam em uma mensagem do Chat para invocar o app. Uma breve descrição também aparece abaixo do nome para orientar os usuários sobre como usar o comando:
Ao escolher um nome e uma descrição para o comando de barra, considere as seguintes recomendações:
Para nomear o comando de barra:
- Use palavras ou frases curtas, descritivas e práticas para tornar os
comandos claros e simples para o usuário. Por exemplo, em vez de dizer
/createAReminder
, use/remindMe
. - Se o comando tiver mais de uma palavra, ajude os usuários a ler o comando
usando todas as letras minúsculas para a primeira palavra e, em seguida, capitalizando a primeira
letra das outras palavras. Por exemplo, em vez de
/updatecontact
, use/updateContact
. - Considere usar um nome exclusivo ou comum para o comando. Se
o comando descrever uma interação ou um recurso típico, use um
nome comum que os usuários reconheçam e esperem, como
/settings
ou/feedback
. Caso contrário, tente usar nomes de comandos exclusivos, porque, se o nome do comando for o mesmo de outros apps de chat, o usuário terá que filtrar comandos semelhantes para encontrar e usar o seu.
- Use palavras ou frases curtas, descritivas e práticas para tornar os
comandos claros e simples para o usuário. Por exemplo, em vez de dizer
Para descrever seu comando de barra:
- Mantenha a descrição curta e clara para que os usuários saibam o que esperar quando invocarem o comando.
- Informe aos usuários se há requisitos de formatação para o comando.
Por exemplo, se você criar um comando
/remindMe
que exija texto de argumento, defina a descrição comoRemind me to do [something] at [time]
. - Informe aos usuários se o app Chat responde a
todos no espaço ou de forma privada ao usuário que invoca o comando.
Por exemplo, para o comando de barra
/about
, você pode descrever comoLearn about this app (Only visible to you)
.
Configurar o comando de barra na API Google Chat
Para criar um comando de barra, você precisa especificar informações sobre ele na configuração do app de chat para a API Google Chat.
Para configurar um comando de barra na API Google Chat, siga estas etapas:
No console do Google Cloud, clique em Menu > APIs e serviços > Ativar APIs e serviços > API Google Chat
Clique em Configuração.
Em Configurações avançadas, acesse Gatilhos e verifique se o campo MENSAGEM contém um gatilho, como um endpoint HTTP ou uma função do Apps Script. Use esse acionador na próxima seção para responder ao comando de barra.
Em Comandos de barra, clique em Adicionar um comando de barra.
Insira um nome, um ID e uma descrição para o comando:
- Nome:o nome de exibição do comando e o que os usuários digitam para invocar o app. Precisa começar com um caractere de barra e conter apenas texto, podendo ter até 50 caracteres.
- Descrição:o texto que descreve como usar e formatar o comando. As descrições podem ter até 50 caracteres.
- ID do comando:um número de 1 a 1.000 que o app de chat usa para reconhecer o comando de barra e retornar uma resposta.
Opcional: se você quiser que o app de chat responda ao comando com uma caixa de diálogo, marque a caixa de seleção Abrir uma caixa de diálogo.
Clique em Salvar.
O comando de barra agora está configurado para o app Chat.
Responder a um comando de barra
Quando os usuários criam uma mensagem do Chat, o app recebe um objeto de evento que contém informações sobre a mensagem. O objeto de evento contém um payload com detalhes sobre o comando usado na mensagem (incluindo o ID do comando), para que você possa retornar uma resposta adequada.
Para responder a um comando de barra, implemente o gatilho Message para que o app do Chat possa processar todos os objetos de evento que contêm metadados de comando de barra.
O código a seguir mostra um exemplo de um app de chat
que responde ao comando de barra /about
com uma mensagem de texto. Para responder a
comandos de barra, o app Chat processa objetos de evento de
um acionador de mensagem. Quando o payload de um objeto de evento contém um ID de comando de barra
oculta, o app Chat retorna a ação DataActions
com um objeto 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 }
}]
}]
}
}]
}}}}});
};
Apps Script
// 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 }
}]
}]
}
}]
}}}}};
}
Para usar este exemplo de código, substitua ABOUT_COMMAND_ID
pelo
ID de comando especificado ao
configurar o comando de barra na API Chat.