def __init__(self, *args, **kwargs): self.new_day() # map id to Name self.guys_mapping = RedisVariable('zaobot:guys_mapping') self.lock = Lock() self.verbose_option = RedisVariable('zaobot:verbose_option') super().__init__(*args, **kwargs)
def list_guys(message): date_str = ZaoBot.retrieve_args(message) if date_str is None: waken_guys = self.waken_guys else: try: date = parse_date(date_str) waken_guys = RedisVariable('zaobot:waken_guys:{}'.format( date.date())) except ValueError: self.bot.reply_to(message, '听不懂<(=-︿-=)>') return sorted_guys = self._list_guys(waken_guys) logger.debug('sorted_guys is {}'.format(list(sorted_guys))) prefix = "" if message.text.startswith('/zaobugs'): prefix = "被鸟儿吃掉的虫子:\n" elif message.text.startswith('/zaobirds'): prefix = "被大鹰吃掉的鸟儿:\n" elif message.text.startswith('/zaosheeps'): prefix = "被萌狼吃掉的小羊羔:\n" if sorted_guys: self.bot.send_message( message.chat.id, prefix + '\n'.join( map( lambda i_guy: '{}. {}, {:%H:%M}'.format( i_guy[0] + 1, *i_guy[1]), enumerate(sorted_guys)))) else: self.bot.reply_to(message, 'o<<(≧口≦)>>o 还没人起床')
def new_day(self): today = str(date.today()) self.waken_guys = RedisVariable('zaobot:waken_guys:{}'.format(today)) self.sleep_guys = RedisVariable('zaobot:sleep_guys:{}'.format(today))