irc.py
author Tero Marttila <terom@paivola.fi>
Thu, 20 Mar 2008 17:25:15 +0200
changeset 1 16d7aadc6f31
child 4 34d7897bd0f5
permissions -rw-r--r--
initial, modified code

committer: Tero Marttila <terom@paivola.fi>
from twisted.words.protocols import irc
from twisted.internet import protocol

import buffer

HOSTNAME        = "irc.fixme.fi"
PORT            = 6667
NICKNAME        = "FixBot"
USERNAME        = "fixme"
CHANNEL         = "#fixme"

class BotProtocol (irc.IRCClient) :
    """
        Fixme IRC bot
    """

    # housekeeping
    def connectionMade (self) :
        log.msg("Connected")
        super(FixBot, self).connectionMade()

    def connectionLost (self, reason) :
        log.msg("Connection lost: %s" % reason)
        super(FixBot, self).connectionLost(reason)

    def signedOn (self) :
        log.msg("Signed on, joining channel %s" % channel)
        self.join(CHANNEL)

    def joined (self, channel) :
        log.msg("Joined channel %s" % channel)
    
    # our actual functionality
    def send (self, msg) :
        self.msg(CHANNEL, str(msg))

    def sendEvent (self, event) :
        self.msg(CHANNEL, "[%s.%s] %s" % (event.module.name, event.type, event.msg))

    def moduleConnected (self, module, addr) :
        self.msg(CHANNEL, "{modules} Module %s connected from %s:%d, version %s" % (module.name, addr.host, addr.port, module.version))

    def moduleDisconnected (self, module) :
        self.msg(CHANNEL, "{modules} Module %s disconnected" % (module.name, ))