Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
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. |
Image Added
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.
Image Added
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,
Image Added
Figura 2.1 - Resultado da execução do bloco
Confira a resposta gerada pelo bloco com o JSON formatado.
Bloco de código | ||||
---|---|---|---|---|
| ||||
[
{
"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 |
---|