Diferència entre revisions de la pàgina «Telegram bot amb Python»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
 
(Hi ha 5 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
Som-hi:
+
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/en/latest/
+
* Telepot, un framework Python per Telegram bots: http://telepot.readthedocs.io
 
 
Ens caldrà:
 
* Instal·lar telegram-cli
 
* Demanar un token al botFather
 
  
 +
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>
  
== Instal·lar telegram-cli ==
+
== 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>
  
== Seguim... ==
+
== 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.


Intro[modifica]

Info:

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à:

  1. Tenir un compte de Telegram (caldrà tenir el mòbil a mà perquè ens validarà per SMS).
  2. Demanar la creació d'un nou bot a l'usuari BotFather del Telegram amb la comanda
    /newbot
  3. 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