irc.py
changeset 1 16d7aadc6f31
child 4 34d7897bd0f5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/irc.py	Thu Mar 20 17:25:15 2008 +0200
@@ -0,0 +1,46 @@
+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, ))
+
+