chiark / gitweb /
blame: Remember last 10 trouts, not just 1
[irc.git] / commands.py
index 1d29fd7f28fa0b39f13c6fe1d250c47e1fa65144..d6ba5302dee49573d96ae9013fae6526a4c206a8 100755 (executable)
@@ -55,14 +55,13 @@ def infoq(bot, cmd, nick, conn, public, karma):
 
 class FishPond:
     def __init__(fishpond):
-       fishpond.last=""
-       fishpond.last_cfg=None
+       fishpond.last=[]
        fishpond.DoS=0
        fishpond.quotatime=0
 
     def note_last(fishpond, msg, cfg):
-       fishpond.last=msg
-       fishpond.last_cfg=cfg
+       fishpond.last.insert(0,(msg,cfg))
+       fishpond.last = fishpond.last[0:10]
 
 # Check on fish stocks
 def fish_quota(pond):
@@ -334,11 +333,12 @@ def blameq(bot,cmd,nick,conn,public,fishpond,cfgs):
     cwhat=' '.join(clist[2:])
     kindsfile = "fish?"
     if clist[1]=="#last":
-       if fishpond.last_cfg is None:
+        try: lmsg, lcfg = fishpond.last[0]
+        except IndexError:
            bot.automsg(public,nick,"Nothing")
            return
-       xdb,xdbk,kindsfile = fishpond.last_cfg[7]
-       ans=__getcommits(xdb,xdbk,fishpond.last)
+       xdb,xdbk,kindsfile = lcfg[7]
+       ans=__getcommits(xdb,xdbk,lmsg)
     elif clist[1]=="#trouts" or clist[1]=="#trout":
        ans=__getcommits(tdb,tdbk,cwhat)
     elif clist[1]=="#flirts" or clist[1]=="#flirt":