uptime.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import sys
  2. import time
  3. from datetime import datetime, timedelta
  4. from event import Event
  5. try:
  6. if sys.version_info > (3, 0, 0):
  7. from .basemodule import BaseModule
  8. else:
  9. from basemodule import BaseModule
  10. except (ImportError, SystemError):
  11. from modules.basemodule import BaseModule
  12. class Uptime(BaseModule):
  13. def post_init(self):
  14. uptime_event = Event("__.uptime__")
  15. uptime_event.define(msg_definition="^\.uptime")
  16. uptime_event.subscribe(self)
  17. self.help = ".uptime (spits out uptime)"
  18. # register ourself to our new custom event
  19. self.bot.register_event(uptime_event, self)
  20. starttime = time.time()
  21. localtime = time.localtime()
  22. if 'uptime' not in self.bot.mem_store:
  23. self.bot.mem_store['uptime'] = dict()
  24. self.bot.mem_store['uptime']['localtime'] = localtime
  25. self.bot.mem_store['uptime']['starttime'] = starttime
  26. def handle(self, event):
  27. self._uptime(event.channel)
  28. def _uptime(self, channel):
  29. #print timedelta(seconds=time.time() - self.starttime)
  30. self.say(channel,"I've been up " +str(timedelta(seconds=time.time() - self.bot.mem_store['uptime']['starttime'])).split(".")[0] + ", since "+time.strftime("%a, %d %b %Y %H:%M:%S -0800", self.bot.mem_store['uptime']['localtime']))