Exemple #1
0
 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)
Exemple #2
0
        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 还没人起床')
Exemple #3
0
 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))