Librería para parsear de forma correcta los mensajes del IRC

Iniciado por Polsaker, Junio 03, 2015, 07:09:51 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Casi siempre, al hacer un bot o cliente IRC desde cero uno suele tener problemas al parsear los mensajes del IRC de forma correcta y rápida (Teniendo en cuenta las nuevas características del You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login que se están viniendo, la velocidad, ya que el 90% de las alternativas utilizan expresiones regulares, etc).

Ircreactor parsea los mensajes en crudo del IRC a un objeto intermedio (un diccionario de Python), facilitando la programación de bots y clientes.

Un ejemplo de su uso:
Código: python
from ircreactor.envelope import RFC1459Message
mensaje = ":[email protected] PRIVMSG #underc0de :Hola a todos"  # Un mensaje cualquiera recibido desde el IRC, de un socket o de lo que sea
print(RFC1459Message.from_message(mensaje).serialize())

Da como resultado:
Código: text
{'params': ['#underc0de', 'Hola a todos'], 'verb': 'PRIVMSG', 'source': '[email protected]', 'tags': {}}

Lo cual es mucho mas fácil de interpretar.

Además, esta librería funciona con los nuevos You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login:
Código: python
from ircreactor.envelope import RFC1459Message
mensaje = "@esto=aquello;otro=foo :[email protected] PRIVMSG #underc0de :Hola a todos"  # Un mensaje cualquiera recibido desde el IRC, de un socket o de lo que sea
print(RFC1459Message.from_message(mensaje).serialize())

Da como resultado:
Código: text
{'params': ['#underc0de', 'Hola a todos'], 'verb': 'PRIVMSG', 'source': '[email protected]', 'tags': {'esto': 'aquello', 'otro': 'foo'}}


La librería se puede conseguir en You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login