muirc là một mô-đun Python tối giản và hiệu quả để tạo ra và phân tích các thông điệp IRC & nbsp;. Nó hiện công việc, và chỉ có công việc, một cách Pythonic.
Parse & tạo tin nhắn IRC
Tên của module là muirc.
muirc nhập khẩu
Các chức năng chính là chuyển đổi, mà có thể phân tích cú pháp nhắn IRC liệu và trả về một từ điển có phím là những lĩnh vực của tin nhắn ...
>>> Muirc.translate ("PRIVMSG #irc: Hello, World: -!) R n")
{'Nick': Không có, 'host': Không có, 'lệnh': 'PRIVMSG', 'người sử dụng': Không có, 'params': ['#irc', 'Hello, World! :-) ']}
... Hoặc phân tích một từ điển với các lĩnh vực IRC nhắn và trả về một thông IRC liệu.
>>> Muirc.translate ({'nick': Không có, 'host': Không có, 'lệnh': 'PRIVMSG', 'người sử dụng': Không có, 'params': ['#irc', 'Hello, World!: -) ']})
'#irc PRIVMSG: Hello, World! : -) R n '
Áp dụng chuyển đổi hai lần trở về cùng một đối tượng
>>> Muirc.translate (muirc.translate ("#irc PRIVMSG: Hello, World: -!) R n"))
'#irc PRIVMSG: Hello, World! : -) R n '
>>> Muirc.translate (muirc.translate ({'nick': Không có, 'host': Không có, 'lệnh': 'PRIVMSG', 'người sử dụng': Không có, 'params': ['#irc', 'Hello -):, World! ']}))
{'Nick': Không có, 'host': Không có, 'lệnh': 'PRIVMSG', 'người sử dụng': Không có, 'params': ['#irc', 'Hello, World! :-) ']}
Một số ví dụ nhiều hơn trước
>>> Muirc.translate (": user @ host PRIVMSG #irc nick: Hello, World:-)")
{'Nick': 'nick', 'host': 'host', 'lệnh': 'PRIVMSG', 'người sử dụng': 'người sử dụng', 'params': ['#irc', 'Hello, World! :-) ']}
>>> Muirc.translate (muirc.translate (": user @ host PRIVMSG #irc nick: Hello, World:-)"))
': User @ host PRIVMSG #irc nick: Hello, World! : -) R n '
Kết nối với máy chủ IRC
Một lớp học kết nối được cung cấp để tương tác với một nút IRC. Nó có thể được sử dụng hoặc để xây dựng một client IRC hoặc máy chủ.
Tạo một kết nối cho một 2-tuple (host, port).
>>> Conn = muirc.Connection (("irc.freenode.net", 6667))
Phương pháp proxy được cung cấp để dễ dàng gửi tin nhắn IRC. Trường hợp này là không quan trọng.
>>> Conn.nick ("muirc")
>>> Conn.UsEr ("a", "a", "a", "a")
Lớp này cung cấp một giao diện Iterator mà cho ra một đối tượng đã được phân tách mỗi lần nhắn IRC là nhận được. Tùy chọn này cung cấp một cách dễ dàng và pythonic để tạo ra một cách đơn giản IRC.
Ví dụ sau đây để kết nối FreeNode, tham gia #muirc và gửi một thông điệp hello thế giới.
>>> State = "wait_motd"
>>> Cho tin nhắn trong conn:
... Nếu nhà nước == "wait_motd":
... # 376 => motd đầu
... Nếu tin nhắn ["lệnh"] == "376":
... State = "end_motd"
...
... # Tham gia #muirc
... Nếu nhà nước == "end_motd":
... Conn.join ("# muirc")
... State = "wait_join"
...
... # Chờ cho gia ack
... Nếu nhà nước == "wait_join":
... Nếu tin nhắn ["lệnh"] == "THAM GIA":
... State = "hello_world"
...
... # Gửi "Hello, World:-)" để các kênh #muirc
... Nếu nhà nước == "hello_world":
... Conn.privmsg ("# muirc", "Hello, World:-)")
... State = "bỏ"
...
... # Thoát
... Nếu nhà nước == "bỏ":
... Conn.quit ("Bye, Thế giới:-(")
... In "OK"
... Nghỉ
OK
Yêu cầu :
- Python
Bình luận không