Bom dia Vitor,
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