chiark / gitweb /
Adjust url-observation, per chiark.irc discussion
authorMatthew Vernon <matthewv@chiark.greenend.org.uk>
Thu, 8 Nov 2018 19:00:48 +0000 (19:00 +0000)
committerMatthew Vernon <matthewv@chiark.greenend.org.uk>
Thu, 8 Nov 2018 19:00:48 +0000 (19:00 +0000)
Servus now describes URLs without adjective, as these were felt to be
discouraging. Further, it won't mention a URL within 5 minutes of its
previous mention. Time is now given as a timestamp, rather than the
"about X minutes/hours ago"

commands.py

index 488711a..3442dce 100755 (executable)
@@ -393,13 +393,18 @@ class UrlLog:
         self.nick=nick
         self.url=url
         self.first=time.time()
+        self.localfirst=time.localtime(self.first)
         self.count=1
         self.lastseen=time.time()
         self.lastasked=time.time()
     def recenttime(self):
         return max(self.lastseen,self.lastasked)
     def firstmen(self):
-        return nicetime(time.time()-self.first)
+        n=time.localtime(time.time())
+        s="%d:%d" % (self.localfirst.tm_hour,self.localfirst.tm_min)
+        if n.tm_yday != self.localfirst.tm_yday:
+            s+=time.strftime(" on %d %B", n)
+        return s
     def urltype(self):
         z=min(len(urlinfos)-1, self.count-1)
         return urlinfos[z]
@@ -426,12 +431,12 @@ def urlq(bot, cmd, nick, conn, public,urldb):
   url=canonical_url(urlstring)
   if (url in urldb):
     T = urldb[url]
-    complaint="That's %s URL that was first mentioned %s by %s" % \
-               (T.urltype(),T.firstmen(),T.nick)
+    comment="I saw that URL in scrool, first mentioned by %s at %s" % \
+               (T.nick,T.firstmen())
     if (public):
-      complaint=complaint+". Furthermore it defeats the point of this command to use it other than via /msg."
+      comment=comment+". Furthermore it defeats the point of this command to use it other than via /msg."
       T.count+=1
-    bot.automsg(False,nick,complaint)
+    bot.automsg(False,nick,comment)
     T.lastasked=time.time()
     #URL suppressed, so mention in #urls
     if urlstring != cmd.split()[1]: #first argument to URL was not the url
@@ -455,8 +460,8 @@ def dourl(bot,conn,nick,command,urldb):
 
   if urlstring in urldb:
     T=urldb[urlstring]
-    message="observes %s URL, first mentioned %s by %s" % \
-             (T.urltype(),T.firstmen(),T.nick)
+    message="saw that URL in scrool, first mentioned by %s at %s" % \
+             (T.nick,T.firstmen())
     if shibboleth.search(command)==None and \
        time.time() - T.lastseen > url_repeat_time:
         conn.action(bot.channel, message)