muirc ay isang minimalist at mahusay na Python module upang lumikha at i-parse ang IRC mensahe. & Nbsp; Ito ang ginagawa ng trabaho, at tanging sa trabaho, sa isang Pythonic paraan.
I-parse & lumikha IRC mensahe
Ang pangalan ng module ay muirc.
-import muirc
Ang pangunahing function ay ibahin ang anyo, na maaaring i-parse ang isang raw na mensahe IRC at nagbabalik ng isang diksyunaryo na ang key ay ang mga field ng mensahe ...
>>> Muirc.translate ("PRIVMSG #irc: Hello, World: -!) R n")
{'Bumingaw': Wala, 'host': Wala, 'utos': 'PRIVMSG', 'user': Wala, 'param': ['#irc', 'Hello, World! :-) ']}
... O parse ng diksyunaryo sa mga field ng mensahe ng IRC at nagbabalik ng mga raw na mensahe IRC.
>>> Muirc.translate ({'bumingaw': Wala, 'host': Wala, 'utos': 'PRIVMSG', 'user': Wala, 'param': ['#irc', 'Hello, World!: -) ']})
'PRIVMSG #irc: Hello, World! : -) R n '
Nagbabalik Paglalapat ibahin ang anyo nang dalawang beses ang parehong bagay na
>>> Muirc.translate (muirc.translate ("PRIVMSG #irc: Hello, World: -!) R n"))
'PRIVMSG #irc: Hello, World! : -) R n '
>>> Muirc.translate (muirc.translate ({'bumingaw': Wala, 'host': Wala, 'utos': 'PRIVMSG', 'user': Wala, 'param': ['#irc', 'Kamusta , ng Mundo:!-) ']}))
{'Bumingaw': Wala, 'host': Wala, 'utos': 'PRIVMSG', 'user': Wala, 'param': ['#irc', 'Hello, World! :-) ']}
Ang ilang higit pang mga halimbawa maaga
>>> Muirc.translate (":! Bumingaw host PRIVMSG gumagamit @ #irc: Hello, World:!-)")
{'Bumingaw': 'bumingaw', 'host': 'host', 'utos': 'PRIVMSG', 'user': 'user', 'param': ['#irc', 'Hello, World! :-) ']}
>>> Muirc.translate (muirc.translate (":! Bumingaw host PRIVMSG gumagamit @ #irc: Hello, World:!-)"))
':! Bumingaw gumagamit @ host PRIVMSG #irc: Hello, World! : -) R n '
Kumonekta sa IRC server
Ang isang klase ng koneksyon ay ibinigay upang makipag-ugnay sa isang IRC node. Maaari itong magamit sa alinman sa bumuo ng isang IRC client o server.
Lumikha ng isang koneksyon sa pagbibigay ng 2-tuple (host, port).
>>> Conn = muirc.Connection (("irc.freenode.net", 6667))
Pamamaraan ng proxy ay ibinigay upang madaling magpadala IRC mensahe. Ang kaso ay hindi mahalaga.
>>> Conn.nick ("muirc")
>>> Conn.UsEr ("isang", "isang", "isang", "isang")
Klase na ito ay nagbibigay ng isang iterator interface na magbubunga ng isang parse ang object sa bawat oras na ang isang mensahe IRC ay natanggap. Ang pagpipiliang ito ay nagbibigay ng isang madaling at pythonic paraan upang lumikha ng isang simpleng IRC paraan.
Ang sumusunod na halimbawa ay kumokonekta sa FreeNode, sumali #muirc at magpadala ng mensahe kumusta mundo.
>>> Estado = "wait_motd"
>>> Para sa mensahe sa conn:
... Kung estado == "wait_motd":
... # 376 => MOTD dulo
... Kung mensahe ["utos"] == "376":
... Estado = "end_motd"
...
... # Sumali #muirc
... Kung estado == "end_motd":
... Conn.join ("# muirc")
... Estado = "wait_join"
...
... # Maghintay para sumali ack
... Kung estado == "wait_join":
... Kung mensahe ["utos"] == "SUMALI":
... Estado = "hello_world"
...
... # Ipadala "Hello, World:!-)" Sa #muirc channel
... Kung estado == "hello_world":
... Conn.privmsg ("# muirc", "Hello, World:!-)")
... Estado = "umalis"
...
... #-Quit
... Kung estado == "umalis":
... Conn.quit ("Bye, ng Mundo:!-(")
... Print "OK"
... Pahinga
OK
Mga Kinakailangan :
- Python
Mga Komento hindi natagpuan