Enviar uma mensagem de texto

Nesta página, descrevemos como criar mensagens que aparecem inline como se tivessem sido digitadas por um usuário. Use mensagens de texto para apresentar informações simples aos usuários. Para mais informações sobre como criar mensagens mais complexas que geram cards no chat, consulte Enviar uma mensagem de card.

Pré-requisitos

Para executar os exemplos deste guia, você precisa dos seguintes pré-requisitos:

Python

Anatomia de uma mensagem de texto

Todas as mensagens no Google Chat são representadas como um objeto JSON. O exemplo a seguir é uma mensagem básica que especifica um corpo de texto simples simples:

{
  "text": "Your pizza delivery is here!"
}

Se for publicado no Google Chat, este exemplo será renderizado do seguinte modo:

Enviar uma mensagem de texto assíncrona

Veja como criar uma mensagem text:

Python

  1. No diretório de trabalho, crie um arquivo chamado chat_create_text_message.py.
  2. Inclua o seguinte código em chat_create_text_message.py:

    from httplib2 import Http
    from oauth2client.service_account import ServiceAccountCredentials
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name(
        'service_account.json', SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http()))
    
    # 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)
    
  3. No código, substitua SPACE por um nome de espaço, que pode ser acessado no método spaces.list() na API Chat ou no URL de um espaço.

  4. No diretório de trabalho, crie e execute o exemplo:

    python3 chat_create_text_message.py
    

Formatar textos em mensagens

O Google Chat permite adicionar formatação básica ao texto da mensagem, incluindo negrito, itálico e tachado. Para formatar o texto, envolva-o com os seguintes símbolos:

Formato Símbolo Exemplo Resultado
Negrito * *Olá* Olá
Itálico _ (sublinhado) _Olá_ Olá
Tachado ~ olá Olá
fonte monoespaçada ` (acento grave) olá hello
Bloco monoespacial ``` (três aspas) ```
Olá
Mundo
```
Hello
World

Por exemplo, considere o JSON a seguir:

{
  "text": "Your pizza delivery *has arrived*!\nThank you for using _Pizza Bot!_"
}

Isso insere uma mensagem como esta no espaço do Chat:

Essa sintaxe de marcação de texto é a mesma que se aplica às mensagens digitadas pelos usuários. Por isso, ela é diferente da formatação baseada em HTML aplicada a texto em cards.

Se você incluir um URL de link simples no texto da mensagem, como http://example.com/, o Google Chat o usará como texto do link e criará um hiperlink para esse URL automaticamente.

Para fornecer um texto alternativo, use esta sintaxe:

Sintaxe Renderização
<https://example.com/|LINK_TEXT> LINK_TEXT

O texto da barra vertical e do link é opcional, assim <https://example.com/> e https://example.com/ são equivalentes.

Mensagens que mencionam usuários específicos

Um app de chat pode usar uma @menção para um usuário em uma mensagem, basta fornecer o USER_ID na sintaxe a seguir. Para determinar o USER_ID de um usuário, examine o campo sender da mensagem recebida do usuário.

<users/USER_ID>

Essa string é substituída por uma @menção do usuário especificado. Por exemplo, considere o JSON a seguir:

{
    "text": "Hey <users/123456789012345678901>! Thank you for using _Pizza bot!_"
}

Isso gera um resultado como este:

Mensagens que mencionam @todos

Use o ID do usuário all para mencionar todos os usuários humanos em um espaço. Exemplo:

{
    "text": "Important message for <users/all>: Code freeze starts at midnight tonight!"
}