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, ))