Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: DI-2761

O bloco Obter Atualizações é usado para receber atualizações de mensagens e eventos enviadas para um bot de um determinado chat ou canal. Quando esse método é acionado, o Telegram retorna um array de objetos JSON que representam as atualizações mais recentes desde o ponto em que o método foi chamado pela última vez.


Informações
Para utilizar este bloco, é preciso ter o plugin Telegram Bot instalado no seu projeto. Acesse a documentação do Cronapp Plugin Telegram Bot para mais detalhes. 

Figura 1 -  Bloco Obter Atualizações

Compatibilidade

  • Bloco servidor: cronapp.framework.telegram.BotOperations.getUpdates()

Retorno

Retorna uma lista de objetos JSON.

Características do bloco

O bloco Obter Atualizações utiliza o método getUpdate, acesse a documentação Telegram Bot API para mais informações.

Parâmetros

Bot Token

Parâmetro obrigatório. Chave de acesso exclusiva que identifica o seu bot junto à API do Telegram.

  • Posição: 1
  • Inglês: Bot Token
  • Tipo: Texto  / String 
  • Exemplo: "1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"

Limite

Parâmetro opcional. Limita o número de atualizações a serem recuperadas. Valores entre 1 e 100 são aceitos. O padrão é 100.

  • Posição: 2
  • Inglês: Limit
  • Tipo: Inteiro / Integer
  • Exemplo: 5

Deslocamento

Parâmetro opcional. Este parâmetro é usado para controlar quais atualizações serão retornadas pela função Obter Atualizações. O deslocamento é um número inteiro que representa o ID da última atualização (update_id) que foi processada pelo seu bot. Ao fornecer o deslocamento o Telegram retornará apenas as atualizações que ocorreram após a última atualização processada pelo seu bot.

  • Posição: 3
  • Inglês: offset
  • Tipo: Inteiro / Integer
  • Exemplo: 169007111

Atualizações permitidas

Parâmetro opcional. Recebe uma lista JSON serializada dos tipos de atualização que você deseja que o bot receba. Especifique ["message", "edited_channel_post", "callback_query"] para receber apenas atualizações desses tipos. Especifique uma lista vazia para receber todos os tipos de atualização, exceto chat_member, message_reaction e message_reaction_count (padrão). Se não for especificado, a configuração anterior será usada.

  • Posição: 4
  • Inglês: Allowed Updates
  • Tipo: Array de Strings / Array of Strings
  • Exemplo:  ["message", "edited_channel_post", "callback_query"]. Para entender mais sobre esses e outros parâmetros, acesse o tópico "Getting updates" da documentação Telegram Bot API.

Exemplo

No exemplo da função abaixo, inserimos o token de acesso ao bot como o primeiro parâmetro no bloco Obter Atualizações e limitamos o número máximo de respostas retornadas a cinco mensagens. Em seguida, inicializamos uma lista vazia chamada 'id' para armazenar os IDs dos usuários que interagem com o bot. Utilizamos um loop de repetição para acessar o caminho que contém o ID do usuário e, em seguida, o adicionamos à lista 'id'. Imprimimos a matriz de objetos contendo todos os parâmetros das mensagens dos usuários e, finalmente, exibimos os identificadores dos usuários que interagiram com o bot.


Figura 2 - Função que obtém as atualizações do chat


O resultado da execução do bloco pode ser observado na figura abaixo. Os identificadores (Chat Id) em destaques representam o chat entre um usuário e o bot, esses identificadores serão utilizados nos demais blocos do plugin do Telegram, 


Figura 2.1 - Resultado da execução do bloco


Confira a resposta gerada pelo bloco com o JSON formatado.

Bloco de código
languagejs
titleJSON Formatado
[
   {
      "update_id":169007891,
      "message":{
         "message_id":5,
         "from":{
            "id":1675944111,
            "first_name":"Laila",
            "is_bot":false,
            "username":"Laila_Souza",
            "language_code":"pt-br"
         },
         "date":1712686829,
         "chat":{
            "id":1675944111,
            "type":"private",
            "first_name":"Laila",
            "username":"Laila_Souza"
         },
         "text":"/start",
         "entities":[
            {
               "type":"bot_command",
               "offset":0,
               "length":6
            }
         ]
      }
   },
   {
      "update_id":169007892,
      "message":{
         "message_id":6,
         "from":{
            "id":1675944111,
            "first_name":"Laila",
            "is_bot":false,
            "username":"Laila_Souza",
            "language_code":"pt-br"
         },
         "date":1712686864,
         "chat":{
            "id":1675944111,
            "type":"private",
            "first_name":"Laila",
            "username":"Laila_Souza"
         },
         "text":"Olá"
      }
   },
   {
      "update_id":169007893,
      "message":{
         "message_id":7,
         "from":{
            "id":1115867222,
            "first_name":"Fábio",
            "is_bot":false,
            "language_code":"en"
         },
         "date":1712689553,
         "chat":{
            "id":1115867222,
            "type":"private",
            "first_name":"Fábio"
         },
         "text":"olá"
      }
   }
]

Nesta página

Índice