X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~matthewv/git?a=blobdiff_plain;f=Servus-chiark.py;h=81f8076dfd7ad925c42946b4715a833797cae818;hb=7f639bd84bf980ec5e1f610e983a258421304e65;hp=9c381aea2accca3c587f32548d489fd6c86bf4ab;hpb=81729ffc4c81f257839f950779f5d2c2c133d3b6;p=irc.git diff --git a/Servus-chiark.py b/Servus-chiark.py index 9c381ae..81f8076 100644 --- a/Servus-chiark.py +++ b/Servus-chiark.py @@ -24,6 +24,8 @@ # Acrobat configuration file # The following definitions are required to be present in this module: +# You can also override them on the command-line +# e.g. python acrobat.py Servus-chiark nickname=testbot channel=\#test owner=MyNick server = "chiark" port = 6667 nickname = "Servus" @@ -33,7 +35,7 @@ owner = "Emperor" # Everything else in this file is configuration-specific. -import os, time, re +import os, time, re, twitter # Most command implementations are stored in a separate module. import commands as c @@ -101,7 +103,7 @@ def fishq(bot, cmd, nick, conn, public,f): # Karma implementation import cPickle -karmafilename = "chiark-karma" +karmafilename = "chiark-karma-"+channel # load the karma db try: f = open(karmafilename, "r") @@ -132,14 +134,6 @@ def quit(bot,cmd,nick,conn,public): def reload(bot,cmd,nick,conn,public): c.reloadq(bot,cmd,nick,conn,public) -#The game... -class game: - trigger="Servus" - grace=time.time() - minlose=24*60*60 #1 day - maxlose=14*minlose #2 weeks - losetime=time.time()+300000 - # initialise the urldb on startup urldb={} lastexp=time.time() @@ -148,6 +142,9 @@ expirelen=71*60*60 #do an expiry run every hour expirevery=60*60 +# non-authenticated twitter api instance +twitapi = twitter.Api() + # Command processing: whenever something is said that the bot can hear, # "command" is invoked and must decide what to do. This configuration # defines a couple of special cases (for karma) but is otherwise driven @@ -169,11 +166,13 @@ commands = {"karma": (c.karmaq,karmadb), "define": c.defineq, "google": c.googleq, "url": (c.urlq,urldb), + "nsfw": (c.nsfwq,urldb), + "nws": (c.nsfwq,urldb), "units": c.unitq, "help": c.helpq, -# "game": (c.gameq,game), "say": c.sayq, - "do": c.doq } + "do": c.doq, + "twit": (c.twitterq,twitapi) } # disconnect and hop annoy people # "disconnect": c.disconnq, # "hop": c.disconnq } @@ -183,7 +182,7 @@ triggers = ("!", "~") # what character should the bot be invoked by: # eg !trout, ~trout etc. def command(bot, cmd, nick, conn, public): - global urldb,lastexp,expirelen,expirevery + global urldb,lastexp,expirelen,expirevery,twitapi ours=0 try: if public and cmd[0] in triggers: @@ -217,11 +216,3 @@ def command(bot, cmd, nick, conn, public): e(bot,cmd,nick,conn,public) else: e[0](bot,cmd,nick,conn,public,*e[1:]) -# elif public: -# if cmd.find("GAME")!=-1: #someone else lost -# grace.grace=time.time()+60*20 -# elif cmd.find(game.trigger)!=-1 and len(game.trigger)>2: #we lost! -# c.gameq(bot,"pad "+game.trigger,bot.owner,conn,False,game) -# elif time.time()>game.losetime: #we randomly lost, take new trigger -# c.gameq(bot,cmd,bot.owner,conn,False,game) -#