Diferència entre revisions de la pàgina «Telegram bot amb Python»
(→Intro) |
|||
(Hi ha 5 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
− | + | 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. | ||
+ | |||
== Intro == | == Intro == | ||
Info: | Info: | ||
* Telegram bots: https://core.telegram.org/bots | * Telegram bots: https://core.telegram.org/bots | ||
− | * Telepot, un framework Python per Telegram bots: http://telepot.readthedocs.io | + | * Telepot, un framework Python per Telegram bots: http://telepot.readthedocs.io |
− | |||
− | |||
− | |||
− | |||
+ | Hi ha 2 parts en aquest article: | ||
+ | * Telegram des de la línia de comandes (telegram-cli) | ||
+ | * Creació de bots de Telegram amb Telepot. Si vols fer això no cal que facis la part de telegram-cli | ||
<br> | <br> | ||
− | == | + | == Telegram des de línia de comandes == |
Instal·la't això: | Instal·la't això: | ||
https://github.com/vysheng/tg | https://github.com/vysheng/tg | ||
Línia 23: | Línia 27: | ||
<br> | <br> | ||
− | == | + | == 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<pre>/newbot</pre> | ||
+ | # 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. | ||
+ | |||
+ | <br> | ||
+ | |||
+ | == Telepot, una llibreria per bots de Telegram amb Python == | ||
+ | Hi ha diverses llibreries possibles: | ||
+ | * http://telepot.readthedocs.io | ||
+ | * https://github.com/eternnoir/pyTelegramBotAPI | ||
+ | |||
+ | Abans de començar a treballar amb Python, pot ser convenient habilitar un [[Virtualenv]] per no instal·lar les llibreries de Python en el propi sistema operatiu. PIP és un gestor de paquets per a Python bastant útil i pràctic. | ||
+ | |||
+ | |||
+ | Segueix el propi tutorial de la documentació de Telepot. 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 | ||
+ | |||
+ | ENTREGA: | ||
+ | * Codi del teu bot | ||
+ | * Nom del bot que has creat, per tal que el professor pugui comprovar la funcionalitat | ||
<br> | <br> |
Revisió de 16:38, 5 març 2019
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[modifica]
Info:
- Telegram bots: https://core.telegram.org/bots
- Telepot, un framework Python per Telegram bots: http://telepot.readthedocs.io
Hi ha 2 parts en aquest article:
- Telegram des de la línia de comandes (telegram-cli)
- Creació de bots de Telegram amb Telepot. Si vols fer això no cal que facis la part de telegram-cli
Telegram des de línia de comandes[modifica]
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[modifica]
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[modifica]
Hi ha diverses llibreries possibles:
Abans de començar a treballar amb Python, pot ser convenient habilitar un Virtualenv per no instal·lar les llibreries de Python en el propi sistema operatiu. PIP és un gestor de paquets per a Python bastant útil i pràctic.
Segueix el propi tutorial de la documentació de Telepot. 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
ENTREGA:
- Codi del teu bot
- Nom del bot que has creat, per tal que el professor pugui comprovar la funcionalitat