7.28.2013

Python: Sending IRC Message, Improved

Python: IRCメッセージ送信処理の改善

 

こちらのエントリの改善。
mog project: How to Send an IRC Message with SSL in Python

複数のメッセージを一度に送れるようにした。

あと、disconnect() の時にサーバでエラーが出ていたので削除した。

# -*- coding: utf-8 -*-
 
import ssl
 
SERVER_ADDRESS = 'xxx.xxx.xxx.xxx'
SERVER_PORT = 6667
SERVER_PASS = 'xxxxxx'
 
LOGIN_NAME = 'xxxxxx'
LOGIN_CHANNEL = '#xxxxxx'


def send(message):
    try:
        import irc.client
        import irc.connection

        if isinstance(message, basestring):
            message = [message]

        client = irc.client.IRC()
        server = client.server()
        factory = irc.connection.Factory(wrapper=ssl.wrap_socket)

        c = server.connect(
            SERVER_ADDRESS, SERVER_PORT, LOGIN_NAME, SERVER_PASS,
            connect_factory=factory)

        for m in message:
            c.privmsg(LOGIN_CHANNEL, m)
    except Exception as e:
        print('WARN: Failed to send IRC message. (%s)' % e)

0 件のコメント:

コメントを投稿