Esta página explica como configurar e responder a comandos como um app do Google Chat.
Os comandos ajudam os usuários a descobrir e usar os principais recursos de um app do Chat. Somente os apps do Chat podem ver o conteúdo de um comando. Por exemplo, se um usuário enviar uma mensagem com um comando de barra, a mensagem só vai ficar visível para o usuário e o app do Chat.
Para decidir se você deve criar comandos e entender como projetar interações do usuário, consulte Definir todas as jornadas do usuário.
Tipos de comandos do app do Chat
É possível criar comandos de app do Chat como comandos de barra, comandos rápidos ou ações de mensagens. Para usar cada tipo de comando, os usuários podem fazer o seguinte:-
Comandos de barra: os usuários podem selecionar um comando de barra no menu ou digitar uma barra (
/) e um texto predefinido, como/about. Os apps do Chat geralmente exigem texto de argumento para o comando de barra.Crie um comando de barra se o app do Chat exigir mais informações do usuário. Por exemplo, é possível criar um comando de barra chamado
/searchque é executado depois que o usuário insere uma frase para pesquisar, como/search receipts. -
Comandos rápidos:os usuários usam comandos abrindo o menu na área de resposta de uma mensagem do Chat. Para usar um comando, eles clicam em Adicionar
e selecionam um comando no menu.
Crie um comando rápido se o app do Chat puder responder ao usuário imediatamente, sem esperar por mais informações. Por exemplo, é possível criar um comando rápido chamado Imagem aleatória que responde imediatamente com uma imagem.
-
Ações de mensagens: ( versão prévia para desenvolvedores) os usuários usam ações de mensagens passando o cursor sobre uma mensagem e clicando no menu de três pontos. Para usar um comando, eles abrem o menu de três pontos e selecionam um comando no menu.
Crie uma ação de mensagem se o app do Chat puder realizar ações com base no contexto de uma mensagem.
As imagens a seguir mostram como os usuários descobrem o menu de comandos de barra e rápidos e ações de mensagens:
Pré-requisitos
Node.js
Um app do Google Chat que recebe e responde a eventos de interação. Para criar um app interativo do Chat usando um serviço HTTP, conclua este guia de início rápido.
Apps Script
Um app do Google Chat que recebe e responde a eventos de interação. Para criar um app interativo do Chat no Apps Script, conclua este guia de início rápido.
Python
Um app do Google Chat que recebe e responde a eventos de interação. Para criar um app interativo do Chat usando um serviço HTTP, conclua este guia de início rápido.
Java
Um app do Google Chat que recebe e responde a eventos de interação. Para criar um app interativo do Chat usando um serviço HTTP, conclua este guia de início rápido.
Configurar o comando
Esta seção explica como concluir as etapas a seguir para configurar o comando:
- Crie um nome e uma descrição para o comando.
- Configure o comando no console do Google Cloud.
Nomear e descrever o comando
O nome de um comando é o que os usuários digitam ou selecionam para invocar o app do Chat. Uma breve descrição também aparece abaixo do nome para incentivar os usuários a usar o comando:
Ao escolher um nome e uma descrição para o comando, considere as seguintes recomendações:
Para nomear um comando:
- Use palavras ou frases curtas, descritivas e acionáveis para deixar os comandos claros para o
usuário. Por exemplo, em vez do nome
Create a reminder, useRemind me. - Considere usar um nome exclusivo ou comum para o comando. Se o comando descrever uma
interação ou um recurso típico, você poderá usar um nome comum que os usuários reconheçam e esperem,
como
SettingsouFeedback. Caso contrário, tente usar nomes de comandos exclusivos . Se o nome do comando for o mesmo para outros apps do Chat, o usuário precisará filtrar comandos semelhantes para encontrar e usar o seu.
Para descrever um comando:
- Mantenha a descrição curta e clara para que os usuários saibam o que esperar ao usar o comando.
- Informe aos usuários se há requisitos de formatação para o comando. Por exemplo, se você
criar um comando de barra que exige texto de argumento, defina a descrição como algo como
Remind me to do [something] at [time]. - Informe aos usuários se o app do Chat responde a todos no espaço ou
de forma particular ao usuário que invoca o comando. Por exemplo, para o comando rápido
About, você pode descrevê-lo comoLearn about this app (Only visible to you).
Configurar o comando no console do Google Cloud
Para criar um comando de barra, um comando rápido ou uma ação de mensagem, especifique informações sobre o comando ou a ação na configuração do app do Chat para a API Google Chat.
Para configurar um comando na API Google Chat, siga estas etapas:
No console do Google Cloud, clique em Menu > APIs e serviços > APIs e serviços ativados > API Google Chat
Clique em Configuração.
Em Comandos, clique em Adicionar um comando.
Insira um ID, uma descrição, um tipo e um nome para o comando:
- ID do comando:um número de 1 a 1000 que o app do Chat usa para reconhecer o comando e retornar uma resposta.
- Descrição:o texto que descreve o que o comando faz. As descrições podem ter até 50 caracteres e incluir caracteres especiais.
- Tipo de comando:selecione Comando rápido, Comando de barra ou Ação de mensagem.
- Especifique um nome para o comando:
- Nome do comando rápido:o nome de exibição que os usuários selecionam no menu para invocar o comando. Pode ter até 50 caracteres e incluir caracteres especiais. Por exemplo,
Remind me. - Nome do comando de barra:o texto que os usuários digitam para invocar o comando em uma mensagem. Precisa começar com uma barra, conter apenas texto e ter até 50 caracteres. Por exemplo,
/remindMe. - Nome da ação de mensagem
( versão prévia para desenvolvedores)
o nome de exibição que os usuários selecionam no
menu para invocar a ação de mensagem. Pode ter até 50 caracteres e incluir caracteres especiais. Por exemplo,
Remind me.
- Nome do comando rápido:o nome de exibição que os usuários selecionam no menu para invocar o comando. Pode ter até 50 caracteres e incluir caracteres especiais. Por exemplo,
Opcional: Mensagem de notificação de carregamento: ( versão prévia para desenvolvedores) uma mensagem de notificação pop-up a ser exibida ao usuário enquanto a ação de mensagem está sendo executada. Disponível apenas para ações de mensagens que não abrem caixas de diálogo.
Opcional: se você quiser que o app do Chat responda a o comando com uma caixa de diálogo, marque a Abrir uma caixa de diálogo caixa de seleção.
Clique em Salvar.
O comando agora está configurado para o app do Chat.
Responder a um comando
Quando os usuários usam um comando, o app do Chat recebe um evento de interação. O payload do evento contém metadados com detalhes sobre o comando invocado (incluindo o ID e o tipo do comando), para que você possa retornar uma resposta adequada.
/help para explicar como receber suporte.Para responder a cada tipo de comando, é necessário processar diferentes tipos de eventos e objetos de metadados no payload do evento:
| Tipo de comando | Tipo de evento | Metadados do comando |
|---|---|---|
| Comando de barra | MESSAGE |
message.slashCommand
ou message.annotation.slashCommand |
| Comando rápido | APP_COMMAND |
appCommandMetadata
|
| Ação de mensagem | APP_COMMAND |
appCommandMetadata
|
Para saber como responder a um comando com uma mensagem, consulte as seções a seguir.
Responder a um comando de barra
O código a seguir mostra um exemplo de um app do Chat que responde ao comando de barra /about. O app do Chat processa eventos de interação MESSAGE, detecta se o evento de interação contém o ID do comando correspondente e retorna uma mensagem particular:
Node.js
Apps Script
Python
Java
Substitua ABOUT_COMMAND_ID pelo ID do comando especificado ao configurar o comando no console do Google Cloud.
Responder a um comando rápido
O código a seguir mostra um exemplo de um app do Chat que responde ao comando rápido Ajuda. O app do Chat processa eventos de interação APP_COMMAND, detecta se o evento de interação contém o ID do comando correspondente e retorna uma mensagem particular:
Node.js
Apps Script
Python
Java
Substitua HELP_COMMAND_ID pelo ID do comando especificado ao configurar o comando no console do Google Cloud.
Responder a uma ação de mensagem
O código a seguir mostra um exemplo de um app do Chat que responde à ação de mensagem Lembre-me. O app do Chat processa eventos de interação APP_COMMAND, detecta se o evento de interação contém o ID do comando correspondente e retorna uma mensagem particular:
Node.js
/**
* Responds to an APP_COMMAND interaction event from Google Chat.
*
* @param {Object} event The interaction event from Google Chat.
* @param {Object} res The HTTP response object.
* @return {Object} The JSON response message with a confirmation.
*/
function handleAppCommand(event, res) {
// Collect the command ID and type from the event metadata.
const {appCommandId, appCommandType} = event.appCommandMetadata;
// Use appCommandType to detect message actions.
if (appCommandType === 'MESSAGE_ACTION' &&
appCommandId === REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
const messageText = event.message.text;
// Return a response that includes details from the original message.
return res.send({
text: `Setting a reminder for this message: "${messageText}"`
});
}
}
Apps Script
/**
* Responds to an APP_COMMAND interaction event in Google Chat.
*
* @param {Object} event The interaction event from Google Chat.
* @return {Object} The JSON response message with a confirmation.
*/
function onAppCommand(event) {
// Collect the command ID and type from the event metadata.
const {appCommandId, appCommandType} = event.appCommandMetadata;
if (appCommandType === 'MESSAGE_ACTION' &&
appCommandId === REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
const messageText = event.message.text;
// Return a response that includes details from the original message.
return { "text": "Setting a reminder for message: " + messageText };
}
}
Python
def handle_app_command(event):
"""Responds to an APP_COMMAND interaction event from Google Chat.
Args:
event (dict): The interaction event from Google Chat.
Returns:
dict: The JSON response message with a confirmation.
"""
# Collect the command ID and type from the event metadata.
metadata = event.get('appCommandMetadata', {})
if metadata.get('appCommandType') == 'MESSAGE_ACTION' and \
metadata.get('appCommandId') == REMIND_ME_COMMAND_ID:
# Message actions can access the context of the message they were
# invoked on, such as the text or sender of that message.
message_text = event.get('message', {}).get('text')
# Return a response that includes details from the original message.
return {
"text": f'Setting a reminder for message: "{message_text}"'
}
Java
/**
* Responds to an APP_COMMAND interaction event from Google Chat.
*
* @param event The interaction event from Google Chat.
* @param response The HTTP response object.
*/
void handleAppCommand(JsonObject event, HttpResponse response) throws Exception {
// Collect the command ID and type from the event metadata.
JsonObject metadata = event.getAsJsonObject("appCommandMetadata");
String appCommandType = metadata.get("appCommandType").getAsString();
if (appCommandType.equals("MESSAGE_ACTION")) {
int commandId = metadata.get("appCommandId").getAsInt();
if (commandId == REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
String messageText = event.getAsJsonObject("message").get("text").getAsString();
// Return a response that includes details from the original message.
JsonObject responseMessage = new JsonObject();
responseMessage.addProperty("text", "Setting a reminder for message: " + messageText);
response.getWriter().write(responseMessage.toString());
}
}
}
Substitua REMIND_ME_COMMAND_ID pelo ID do comando especificado ao configurar o comando no console do Google Cloud.
Testar o comando
Para testar o comando e o código, consulte Testar recursos interativos para apps do Google Chat.
Para saber como testar e usar o comando na interface do Chat, consulte Usar apps no Google Chat na documentação da Ajuda do Google Chat.
Temas relacionados
- Conferir exemplos de apps do Chat que usam comandos
- Enviar uma mensagem
- Abrir caixas de diálogo interativas