Receba as últimas mensagens do canal Telegram com Python

Oct 05 2020

Estou usando a biblioteca python-telegram-bot para escrever um bot em Python que envia URLs para um canal onde o bot é o administrador.

Agora, eu gostaria que o bot lesse, digamos, as últimas 5 mensagens (não me importo muito com o número, pois só preciso ler a mensagem no chat) e armazená-las em uma lista no código para elaborações adicionais.

Eu já tenho meu bot trabalhando com

bot = telegram.Bot(token='mytoken')
bot.sendMessage(chat_id='@mychatid', text=entry.link)

Mas não consigo encontrar um tipo de classe bot.getLastMessage ou bot.getMessage na biblioteca python-telegram-bot.

Caso ainda não haja uma classe escrita que faça isso, como posso implementá-la via API do Telegram, já que sou um pouco iniciante quando se trata de implementação de API

Obrigado

Respostas

1 Tibebes.M Oct 04 2020 at 23:44

Isso não é possível em Bots, infelizmente.
Aqui você pode encontrar todos os métodos disponíveis (que python-telegram-botinvoca nos bastidores) e não existe tal método disponível para buscar mensagens sob demanda.

O mais próximo que você pode chegar por meio da api é getChat(o que retornaria o pinned_messagenesse chat).

O que você pode fazer neste caso é armazenar as mensagens que o bot envia, bem como as atualizações de mensagens que o bot recebe (configurando um manipulador) em algum armazenamento (banco de dados) e buscar a partir daí mais tarde.