muirc är en minimalistisk och effektiv Python-modul för att skapa och tolka IRC-meddelanden. & Nbsp; Det gör jobbet, och bara jobbet, på ett pythonic sätt.
Parse & skapa IRC-meddelanden
Modulen heter muirc.
import muirc
Den huvudsakliga funktion är omvandla, som antingen kan tolka en rå IRC-meddelande och returnerar en ordlista vars nycklar är områdena meddelandet ...
>>> Muirc.translate ("PRIVMSG #irc: Hello, World: -!) R n")
{'Nick': Inga, "värd": Ingen, 'kommandot': 'PRIVMSG "," användare ": Ingen,' params ': [' #irc", "Hello, World! :-) ']}
... Eller tolka en ordbok med IRC meddelandets fält och returnerar en rå IRC meddelande.
>>> Muirc.translate ({'nick': Inga, "värd": Ingen, 'kommandot': 'PRIVMSG "," användare ": Ingen,' params ': [' #irc", "Hello, World! -) ']})
"PRIVMSG #irc: Hello, World! : -) R n "
Tillämpa omvandla dubbelt returnerar samma objekt
>>> Muirc.translate (muirc.translate ("PRIVMSG #irc: Hello, World: -!) R n"))
"PRIVMSG #irc: Hello, World! : -) R n "
>>> Muirc.translate (muirc.translate ({'nick': Inga, "värd": Ingen, 'kommandot': 'PRIVMSG "," användare ": Ingen,' params ': [' #irc", "Hej -):, World! "]}))
{'Nick': Inga, "värd": Ingen, 'kommandot': 'PRIVMSG "," användare ": Ingen,' params ': [' #irc", "Hello, World! :-) ']}
Några mer förväg exempel
>>> Muirc.translate (":! Nick user @ host PRIVMSG #irc: Hello, World!:-)")
{'Nick': 'nick', 'värd': 'värd', 'kommandot': 'PRIVMSG "," användare ":" user "," params': ['#irc "," Hello, World! :-) ']}
>>> Muirc.translate (muirc.translate (":! Nick user @ host PRIVMSG #irc: Hello, World!:-)"))
':! Nick user @ host PRIVMSG #irc: Hello, World! : -) R n "
Anslut till IRC-server
A Anslutning klass tillhandahålls för att interagera med en IRC-nod. Den kan användas antingen för att bygga en IRC-klient eller server.
Skapa en anslutning som ger en 2-tupel (värd, port).
>>> Conn = muirc.Connection (("irc.freenode.net", 6667))
Proxy metoder finns för att enkelt skicka IRC-meddelanden. Fallet är inte viktigt.
>>> Conn.nick ("muirc")
>>> Conn.UsEr ("a", "a", "a", "a")
Denna klass ger en iterator gränssnitt som ger en analyserad objekt varje gång en IRC-meddelande tas emot. Detta alternativ ger ett enkelt och pythonic sätt att skapa en enkel IRC sätt.
Följande exempel ansluter till Freenode, gå #muirc och skicka ett hallå världen meddelande.
>>> State = "wait_motd"
>>> För meddelandet i conn:
... Om tillståndet == "wait_motd":
... # 376 => MOTD ändar
... Om meddelandet ["kommandot"] == "376":
... Staten = "end_motd"
...
... # Gå #muirc
... Om tillståndet == "end_motd":
... Conn.join ("# muirc")
... Staten = "wait_join"
...
... # Vänta gå ack
... Om tillståndet == "wait_join":
... Om meddelandet ["kommandot"] == "GÅ":
... Staten = "hello_world"
...
... # Send "Hello, World!:-)" Till #muirc kanalen
... Om tillståndet == "hello_world":
... Conn.privmsg ("# muirc", "Hello, World!:-)")
... Staten = "quit"
...
... # Avsluta
... Om tillståndet == "quit":
... Conn.quit ("Bye, World!:-(")
... Print "OK"
... Paus
OK
Krav :
- Python
Kommentarer hittades inte