Ricevi gli ultimi messaggi dal canale Telegram con Python

Oct 05 2020

Sto usando la libreria python-telegram-bot per scrivere un bot in Python che invia URL in un canale in cui il bot è amministratore.

Ora, vorrei che il bot leggesse, diciamo, gli ultimi 5 messaggi (non mi interessa molto il numero perché ho solo bisogno di leggere il messaggio sulla chat) e li memorizzi in un elenco nel codice per ulteriori elaborazioni.

Ho già lavorato con il mio bot

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

Ma non riesco a trovare un tipo di classe bot.getLastMessage o bot.getMessage nella libreria python-telegram-bot.

Nel caso in cui non ci sia una classe già scritta che lo faccia, come posso implementarla tramite l'API di Telegram dato che sono un po 'un principiante quando si tratta di implementazione dell'API

Grazie

Risposte

1 Tibebes.M Oct 04 2020 at 23:44

Purtroppo non è possibile nei bot.
Qui puoi trovare tutti i metodi disponibili (che python-telegram-botinvoca dietro le quinte) e non esiste un metodo disponibile per recuperare i messaggi su richiesta.

Il più vicino che puoi ottenere attraverso l'API è getChat(che restituirebbe pinned_messagein quella chat).

Quello che puoi fare in questo caso è archiviare i messaggi inviati dal bot e gli aggiornamenti dei messaggi ricevuti dal bot (configurando un gestore) in un certo spazio di archiviazione (database) e recuperarli in seguito.