Hörnan   MoinBot Logga in!
 
HelpContents Search Diffs Info Edit Subscribe Print View

MoinBot

MoinBot är en simpel IRC-bot, skapad av SimonKågedal 2002-12-02, som berättar i en IRC-kanal när det händer grejer i en MoinMoin-wiki. Har du /KommandoIdéer till det kommande finhacket?

Den kräver [WWW]python-irclib installerad.

Koden (version 0.0.1):

    1 #!/usr/bin/python2
    2 
    3 import os
    4 import string
    5 import irclib
    6 
    7 #
    8 # Settings - edit these!
    9 #
   10 
   11 server = "irc.freenode.net"
   12 port = 6667
   13 target = "#hornan"
   14 nickname = "MoinBot"
   15 editlog = "~/local/moin/instances/gammfika/data/editlog"
   16 base_url = "http://helgo.net/fika/"
   17 
   18 #
   19 # Code
   20 #
   21 
   22 class MoinBot(irclib.SimpleIRCClient):
   23     def __init__(self,file):
   24         irclib.SimpleIRCClient.__init__(self)
   25         self.file = file
   26 
   27     def on_welcome(self, connection, event):
   28         if irclib.is_channel(target):
   29             connection.join(target)
   30         else:
   31             self.send_it()
   32 
   33     def on_join(self, connection, event):
   34         self.send_it()
   35 
   36     def on_disconnect(self, connection, event):
   37         sys.exit(0)
   38 
   39     def send_it(self):
   40         while 1:
   41             line = self.file.readline()
   42             if not line:
   43                 break
   44             fields = string.split(line)
   45             url = base_url + fields[0]
   46             self.connection.privmsg(target, url + ", diff: " + url + "?action=diff")
   47         self.connection.quit("Using irclib.py")
   48 
   49 def main():
   50     file = os.popen("tail -f -n 1 " + editlog, 'r',0)
   51     c = MoinBot(file)
   52     try:
   53         c.connect(server, port, nickname)
   54     except irclib.ServerConnectionError, x:
   55         print x
   56         sys.exit(1)
   57     c.start()
   58 
   59 if __name__ == "__main__":
   60     main()

Detta är ett så kallat FulHack. Jag borde göra en ordentlig bot nån gång; ett problem med denna är att den inte återconnectar då anslutningen resetas av den i irc-sammanhang så hatade peer. --SimonKågedal

Ändra denna sida (last modified 2002-12-09 18:35:03)
Bifogade filer

Sök på Hörnan.    Titelsökning:    Textsökning:    Liknande sidor    Sidkarta

Besök oss också gärna på våran fina chat!

Hörnan - en klubb för dom som är dom