Mensagens Elipse E3 e Telegram

Boa tarde amigos!
Baseado na ideia do artigo do KB: Enviando mensagens no Telegram via Elipse E3/Elipse Power. , nesse caso o E3 envia uma mensagem para o Telegram. Gostaria de fazer o caminho contrario, enviar uma mensagem pelo Telegram e fazer a leitura no E3, alguem tem algum exemplo fazendo isso?
Como por exemplo, o usuário enviar uma mensagem pelo Telegram ao E3, pedindo o status de um equipamento, aí sim, usando o exemplo do KB, o E3 envia uma mensagem com alguma informação.

Obrigado

Olá @Uhtred,

A própria API do Telegram possui um método onde é possível obter a lista de atualizações para o seu BOT utilizando uma requisição GET, e então visualizar as mensagens enviadas.
https://api.telegram.org/bot_ID/getUpdates

É possível notar que o item text retorna uma string com a mensagem enviada.

Essa estrutura JSON possui arrays com tamanhos variáveis, e não apenas objetos de pares nome/valor, portanto será necessário percorrer os arrays inserindo novos laços (for) dentro do script.

Com base no artigo Consumindo e enviando dados de um webservice que utiliza o formato JSON, adaptei o exemplo para ler as últimas 4 mensagens.

Dependendo da sua demanda, você pode ajustar conforme necessário.

Exemplo utilizado:

Sub CommandButton10_Click()
DIM oJsonParser
Set oJsonParser = new aspJSON 'Criação do objeto tipo aspJSON
'Inserir endereço do Webservice
URL = “https://api.telegram.org/bot1294991797:AAFUrfZFoO4ezUc7IZAGY-B1jTWNFbGmJh0/getupdates
oJsonParser.LoadJSON(URL) 'Carregando objeto JSON

for i = 0 to oJsonParser.data.count - 1
'msgbox oJsonParser.data(i).item(“ok”)
aux = (oJsonParser.data(i).item(“result”).count -1) -3 'Pegar as 4 últimas mensagens

for b = aux to oJsonParser.data(i).item(“result”).count -1
msgbox oJsonParser.data(i).item(“result”).item(b).item(“update_id”)
msgbox oJsonParser.data(i).item(“result”).item(b).item(“message”).item(“text”)
next
next

End Sub

'Class aspJSON

Att,
Lucas Angelo