Exemple #1
0
 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
     type_list = db.find_types()
     telegram.send(chat, '\n'.join(map(lambda t: t.code.encode('utf-8') + ': ' + t.name.encode('utf-8'), type_list)))
Exemple #2
0
 def call(self, chat, author, event_id):
     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
     db.leave_event(player, event_id)
     telegram.send(chat, player.psn_id + ' left event #' + event_id)
Exemple #3
0
 def call(self, chat, author, event_id):
     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
     db.delete_event(player, event_id)
     telegram.send(chat, "Deleted")
Exemple #4
0
    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))
Exemple #5
0
 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")
Exemple #6
0
 def call(self, chat, author, event_id):
     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
     if db.join_event(player, event_id):
         telegram.send(chat, player.psn_id + ' joined event #' + event_id)
     else:
         telegram.send(chat, 'event is full')
Exemple #7
0
 def call(self, chat, author, event_id):
     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
     db.delete_event(player, event_id)
     telegram.send(chat, "Deleted")
Exemple #8
0
 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_list = db.find_events()
     if len(event_list) == 0:
         telegram.send(author, "No events")
         return
     if arguments is not None:
         event_list = filter(lambda e: player.psn_id in e.participants, event_list)
     for e in event_list:
         telegram.send(chat, pretty_event(e))
Exemple #9
0
 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
     type_list = db.find_types()
     telegram.send(
         chat, '\n'.join(
             map(
                 lambda t: t.code.encode('utf-8') + ': ' + t.name.encode(
                     'utf-8'), type_list)))
Exemple #10
0
 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_list = db.find_events()
     if len(event_list) == 0:
         telegram.send(author, "No events")
         return
     if arguments is not None:
         event_list = filter(lambda e: player.psn_id in e.participants,
                             event_list)
     for e in event_list:
         telegram.send(chat, pretty_event(e))
Exemple #11
0
 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")