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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta 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: php
{'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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta:
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: php
{'params': ['#underc0de', 'Hola a todos'], 'verb': 'PRIVMSG', 'source': '[email protected]', 'tags': {'esto': 'aquello', 'otro': 'foo'}}


La librería se puede conseguir en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta