Telegram bot amb Python
La missatgeria instantània ha esdevingut molt important sobretot amb aplicacions mòbils com WhatsApp i Telegram.
Telegram té diversos avantatges pels programadors:
- ens permet fer aquests "roBOTS" als que podem enviar comandes i automatitzar funcions per als nostres xats.
- hi ha clients per línia de comandes i per versió Desktop tant en Windows com en Linux.
Contingut
Intro
Info:
- Telegram bots: https://core.telegram.org/bots
- Telepot, un framework Python per Telegram bots: http://telepot.readthedocs.io/en/latest/
Telegram des de línia de comandes
Instal·la't això:
https://github.com/vysheng/tg
Potser et cal instal·lar aquestes libs:
# apt-get install libevent-dev openssl libssl-dev libreadline libreadline-dev libconfig-dev libjansson-dev
Bots
Per aconseguir posar en marxa el nostre BOT, caldrà:
- Tenir un compte de Telegram (caldrà tenir el mòbil a mà perquè ens validarà per SMS).
- Demanar la creació d'un nou bot a l'usuari BotFather del Telegram amb la comanda
/newbot
- El nou bot té un TOKEN, que cal apuntar per utilitzar-ho més tard.
El bot, en principi, no té accés a les converses del xat (es pot habilitar, però per defecte no les llegeix). Només llegirà els missatges que comencin per "/", a les que anomenarem comandes.
Telepot, una llibreria per bots de Telegram amb Python
Hi ha diverses llibreries possibles, però aquesta és prou senzilla d'utilitzar:
http://telepot.readthedocs.io
Segueix el propi tutorial de la documentació. Veuràs que et guia perquè creis el codi. Bàsicament tens diverses opcions:
- Carregar síncronament els missatges que hi hagi a la cua cada certs segons.
- Fer una funció handle que es cridi (mitjançant un message_loop) quan algú ens envii una comanda.
Implementa diferents comandes pel bot, com a mínim la comanda que llisti totes les comandes disponibles:
/help