summaryrefslogtreecommitdiffstats
path: root/modules/seen.py
diff options
context:
space:
mode:
authorSean B. Palmer <http://inamidst.com/sbp/>2008-02-21 12:06:33 +0000
committerSean B. Palmer <http://inamidst.com/sbp/>2008-02-21 12:06:33 +0000
commit7931fab14599b739c18c8f1ebcc24b75688dbc09 (patch)
treebf4df9757f10c155e3b6f78aed48f15884ebbbe6 /modules/seen.py
downloadbot-7931fab14599b739c18c8f1ebcc24b75688dbc09.tar.gz
bot-7931fab14599b739c18c8f1ebcc24b75688dbc09.tar.bz2
bot-7931fab14599b739c18c8f1ebcc24b75688dbc09.zip
Phenny2, now being tested on Freenode as the main phenny.
Diffstat (limited to 'modules/seen.py')
-rwxr-xr-xmodules/seen.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/modules/seen.py b/modules/seen.py
new file mode 100755
index 0000000..189be61
--- /dev/null
+++ b/modules/seen.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+"""
+seen.py - Phenny Seen Module
+Copyright 2008, Sean B. Palmer, inamidst.com
+Licensed under the Eiffel Forum License 2.
+
+http://inamidst.com/phenny/
+"""
+
+import time
+from tools import deprecated
+
+@deprecated
+def f_seen(self, origin, match, args):
+ """.seen <nick> - Reports when <nick> was last seen."""
+ if origin.sender == '#talis': return
+ nick = match.group(2).lower()
+ if not hasattr(self, 'seen'):
+ return self.msg(origin.sender, '?')
+ if self.seen.has_key(nick):
+ channel, t = self.seen[nick]
+ t = time.strftime('%Y-%m-%d %H:%M:%S UTC', time.gmtime(t))
+
+ msg = "I last saw %s at %s on %s" % (nick, t, channel)
+ self.msg(origin.sender, str(origin.nick) + ': ' + msg)
+ else: self.msg(origin.sender, "Sorry, I haven't seen %s around." % nick)
+f_seen.rule = (['seen'], r'(\S+)')
+
+@deprecated
+def f_note(self, origin, match, args):
+ def note(self, origin, match, args):
+ if not hasattr(self.bot, 'seen'):
+ self.bot.seen = {}
+ if origin.sender.startswith('#'):
+ # if origin.sender == '#inamidst': return
+ self.seen[origin.nick.lower()] = (origin.sender, time.time())
+
+ # if not hasattr(self, 'chanspeak'):
+ # self.chanspeak = {}
+ # if (len(args) > 2) and args[2].startswith('#'):
+ # self.chanspeak[args[2]] = args[0]
+
+ try: note(self, origin, match, args)
+ except Exception, e: print e
+f_note.rule = r'(.*)'
+f_note.priority = 'low'
+
+if __name__ == '__main__':
+ print __doc__