- Criado por Fábio Duarte Freitas, última alteração em 11/04/2024
Você está vendo a versão antiga da página. Ver a versão atual.
Comparar com o atual Ver Histórico da Página
« Anterior Versão 15 Próxima »
O bloco Obter Atualizações é usado para receber atualizações de mensagens e eventos que ocorrem em 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.
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: 169007893
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 ID's repetidos referenciam a quantidade de vezes que o usuário enviou uma mensagem.
Figura 2.1 - Resultado da execução do bloco
Confira a resposta gerada pelo bloco com o JSON formatado.
[ { "update_id":169007891, "message":{ "message_id":5, "from":{ "id":1675944717, "first_name":"Laila", "is_bot":false, "username":"Laila_Souza", "language_code":"pt-br" }, "date":1712686829, "chat":{ "id":1675944717, "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":1675944717, "first_name":"Laila", "is_bot":false, "username":"Laila_Souza", "language_code":"pt-br" }, "date":1712686864, "chat":{ "id":1675944717, "type":"private", "first_name":"Laila", "username":"Laila_Souza" }, "text":"Olá" } }, { "update_id":169007893, "message":{ "message_id":7, "from":{ "id":1115867278, "first_name":"Fábio", "is_bot":false, "language_code":"en" }, "date":1712689553, "chat":{ "id":1115867278, "type":"private", "first_name":"Fábio" }, "text":"olá" } } ]
Nesta página
- Sem rótulos