muirc is een minimalistisch en efficiënte Python module om IRC-berichten te maken en te ontleden & nbsp;. Het doet het werk, en alleen de baan, in een Pythonic manier.
Parse & creëren IRC berichten
De naam van de module is muirc.
import muirc
De belangrijkste functie is te transformeren, die ofwel kunnen ontleden een rauwe IRC bericht en geeft een woordenboek waarvan toetsen zijn de velden van het bericht ...
>>> Muirc.translate ("PRIVMSG #irc: Hallo, Wereld: -!) R n")
{'Nick': Geen, 'host': Geen, 'opdracht': 'PRIVMSG "," gebruiker ": Geen,' params ': [' #irc ',' Hello, World! :-) ']}
... Of ontleden een woordenboek met velden IRC bericht's en geeft een ruwe IRC bericht.
>>> Muirc.translate ({'nick': Geen, 'host': Geen, 'opdracht': 'PRIVMSG "," gebruiker ": Geen,' params ': [' #irc ',' Hello, World!: -) ']})
'PRIVMSG #irc: Hello, World! : -) R n "
Het toepassen van twee keer te transformeren terug hetzelfde object
>>> Muirc.translate (muirc.translate ("PRIVMSG #irc: Hallo, Wereld: -!) R n"))
'PRIVMSG #irc: Hello, World! : -) R n "
>>> Muirc.translate (muirc.translate ({'nick': Geen, 'host': Geen, 'opdracht': 'PRIVMSG "," gebruiker ": Geen,' params ': [' #irc ',' Hallo , Wereld!:-) ']}))
{'Nick': Geen, 'host': Geen, 'opdracht': 'PRIVMSG "," gebruiker ": Geen,' params ': [' #irc ',' Hello, World! :-) ']}
Wat meer vooraf voorbeeld
>>> Muirc.translate (": nick user @ host PRIVMSG #irc: Hello, World!:-)")
{'Nick': 'nick', 'host': 'host', 'opdracht': 'PRIVMSG "," gebruiker ":" gebruiker "," params ": [' #irc ',' Hello, World! :-) ']}
>>> Muirc.translate (muirc.translate (": nick user @ host PRIVMSG #irc: Hello, World!:-)"))
':! Nick user @ host PRIVMSG #irc: Hello, World! : -) R n "
Verbinden met IRC server
Een klasse aansluiting is voorzien om met een IRC knooppunt. Het kan zowel gebruikt worden om een IRC client of server te bouwen.
Maak een verbinding geven van een 2-tupel (host, poort).
>>> Conn = muirc.Connection (("irc.freenode.net", 6667))
Proxy werkwijzen verschaft om gemakkelijk IRC verzenden. De zaak is niet belangrijk.
>>> Conn.nick ("muirc")
>>> Conn.UsEr ("a", "a", "a", "a")
Deze klasse biedt een iterator interface die een Parsed object elke keer een IRC-bericht wordt ontvangen oplevert. Deze optie biedt een gemakkelijke & pythonic manier om een eenvoudige IRC manier creëren.
Het volgende voorbeeld maakt verbinding met FreeNode, join #muirc en een hallo wereld zenden.
>>> Status = "wait_motd"
>>> Voor bericht in conn:
... Als state == "wait_motd":
... # 376 => MOTD uiteinden
... Als bericht ["command"] == "376":
... Status = "end_motd"
...
... # Join #muirc
... Als state == "end_motd":
... Conn.join ("# muirc")
... Status = "wait_join"
...
... # Wacht op join ack
... Als state == "wait_join":
... Als bericht ["command"] == "JOIN":
... Status = "hello_world"
...
... # Verstuur "Hello, World!:-)" Om de #muirc kanaal
... Als state == "hello_world":
... Conn.privmsg ("# muirc", "Hello, World!:-)")
... Status = "quit"
...
... # Quit
... Als state == "quit":
... Conn.quit ("Bye, Wereld!:-(")
... Print "OK"
... Break
OK
Eisen
- Python
Reacties niet gevonden