コード例 #1
0
ファイル: rsvp.py プロジェクト: berkus/heliosphere
    def call(self, chat, author, arguments):
        player = db.find_player_by_telegram_id(author)
        if player is None:
            telegram.send(chat, 'Introduce yourself by providing your psn id: /register <psn-id>')
            return
        event_list = db.find_events()

        if arguments is None:
            event_list = filter(lambda e: e.date.date() == datetime.today().date(), event_list)
        elif arguments == 'my':
            event_list = filter(lambda e: player.psn_id in e.participants, event_list)
        elif arguments == 'all':
            pass
        elif arguments is not None:
            if arguments.isdigit():
                event_list = filter(lambda e: int(arguments) == int(e.key.id()), event_list)
            else:
                event_type = db.find_type_by_code(arguments)
                if event_type is None:
                    telegram.send(chat, 'Event type ' + arguments + ' not found')
                    return
                event_list = filter(lambda e: e.type == event_type.key, event_list)

        if len(event_list) == 0:
            telegram.send(chat, 'No events')
            return

        for e in event_list:
            telegram.send(chat, pretty_event(e))
コード例 #2
0
ファイル: rsvp.py プロジェクト: ClearMind/heliosphere
 def call(self, chat, author, arguments):
     player = db.find_player_by_telegram_id(author)
     if player is None:
         telegram.send(
             chat,
             "Introduce yourself by providing your psn id: /r register <psn-id>"
         )
         return
     (event_type_code, date_code, time_code,
      comment) = self.parse_arguments(chat, arguments)
     event_type = db.find_type_by_code(event_type_code)
     if event_type is None:
         telegram.send(
             chat, "Event type not found: " + event_type_code +
             ", see available types: /r types")
         return
     if date_code == 'today':
         day = date.today()
     elif date_code == 'tomorrow':
         day = date.today() + timedelta(days=1)
     else:
         year = date.today().year
         day = datetime.strptime(date_code, '%d/%m')
         day = day.replace(year=year)
     if comment is None:
         comment = ""
     d = datetime.combine(day, datetime.strptime(time_code, '%H:%M').time())
     db.add_event(player, event_type.key.id(), d, comment)
     telegram.send(chat, "Event added")
コード例 #3
0
ファイル: rsvp.py プロジェクト: ClearMind/heliosphere
 def call(self, chat, author, arguments):
     player = db.find_player_by_telegram_id(author)
     if player is None:
         telegram.send(chat, "Introduce yourself by providing your psn id: /r register <psn-id>")
         return
     (event_type_code, date_code, time_code, comment) = self.parse_arguments(chat, arguments)
     event_type = db.find_type_by_code(event_type_code)
     if event_type is None:
         telegram.send(chat, "Event type not found: " + event_type_code + ", see available types: /r types")
         return
     if date_code == 'today':
         day = date.today()
     elif date_code == 'tomorrow':
         day = date.today() + timedelta(days=1)
     else:
         year = date.today().year
         day = datetime.strptime(date_code, '%d/%m')
         day = day.replace(year=year)
     if comment is None:
         comment = ""
     d = datetime.combine(day, datetime.strptime(time_code, '%H:%M').time())
     db.add_event(player, event_type.key.id(), d, comment)
     telegram.send(chat, "Event added")