Python によるシンプルな IRC クライアントコード

#!/usr/bin/python -S
# -*- coding: utf-8 -*-
import socket
import string
import sys
sys.setdefaultencoding('utf-8')

CODE = 'iso-2002-jp'
FILE = './msg.txt'

HOST = ''
PORT = 6667
NICK = ''.encode(CODE)
NAME = ''.encode(CODE)
ROOM = ''.encode(CODE)

IRC  = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

def irc_conn():
    IRC.connect((HOST, PORT))

def irc_send(send):
    IRC.send(send + '\n')

def irc_join(room):
    irc_send("JOIN %s" % room)

def irc_user(nick):
    irc_send("NICK " + nick)
    irc_send("USER %s %s bla %s\n" % (nick, HOST, NAME))

irc_conn()
irc_user(NICK)
irc_join(ROOM)

while (1):
    msg = IRC.recv(512)
    if msg[0:4] == "PING":
        irc_send("PONG %s" % msg[5:])

    txt = open(FILE, 'a+')
    txt.write(unicode(msg, CODE, 'ignore'))
    txt.flush()