for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
from event import Event
from util import __prettyDate as prettydate
from util import strip_nick
from datetime import datetime
try:
from basemodule import BaseModule
except ImportError:
from modules.basemodule import BaseModule
class Seen(BaseModule):
def mem_store_init(self):
if not "seen" in self.bot.mem_store:
self.bot.mem_store['seen'] = dict()
def post_init(self):
self.interests = ['__privmsg__'] # should be first event in the listing.. so lines being added is a priority
for event in self.events:
if event._type in self.interests:
event.subscribe(self)
self.help = ".seen <nickname>. describes when the bot last saw <nickname> active in channel"
self.mem_store_init()
def handle(self, event):
if event.msg.startswith(".seen"):
nick = strip_nick(event.msg.split()[1].lower()) # store all nicks in lowercase
except IndexError:
return
if nick in (n.lower() for n in self.bot.mem_store['seen']):
self.say(event.channel, "Last saw " + nick + " " + prettydate(self.bot.mem_store['seen'][nick]))
else:
self.say(event.channel, "haven't seen " + nick)
self.bot.mem_store['seen'][strip_nick(event.user).lower()] = datetime.now()