Exemplo n.º 1
0
 async def set(self, ctx, who: discord.User, game_id: int, player_pos: int):
     player = Player.get_player_from_user(who)
     round_display = self.data.override_set(player, game_id, player_pos)
     self.save()
     await ctx.send(
         f'Scores reset for game: {game_id}.\n'
         f'Match up is now:{round_display}')
Exemplo n.º 2
0
 def _to_player(self, type_: str) -> Player:
     """
     Creates a player object to represent the unknown <winner/loser> of
     this game
     """
     return Player(-1,
                   f'{type_} of Game {self.game_id}',
                   "?",
                   is_dummy=True)
Exemplo n.º 3
0
 async def register_other(self,
                          ctx,
                          user: discord.User,
                          cat_number: Union[int, str] = None):
     player = Player.get_player_from_user(user)
     self.data.register(player, cat_number)
     self.save()
     await self.send_data_str(ctx, f"{player} voted for idea "
                              f"{cat_number}")
Exemplo n.º 4
0
 async def unregister_other(self,
                            ctx,
                            user: discord.User,
                            cat_number: Union[int, str] = None):
     player = Player.get_player_from_user(user)
     self.data.unregister(player, cat_number)
     self.save()
     await self.send_data_str(
         ctx, f'{player}\'s vote removed from idea '
         f'{cat_number}')
Exemplo n.º 5
0
    def register(self, player: Player):
        if not self.is_reg_open:
            raise commands.errors.UserInputError(f'Registration is closed')

        if player.id in self:
            raise commands.errors.UserInputError(
                f'{player} already exists')
        assert player.disp_id is None
        player.disp_id = self.get_id()
        self.players.append(player)
        self.invalidate_computed_values()
Exemplo n.º 6
0
 def fix_recreate_players(self):
     """
     Utility method used when updated happen to player fields during an
     active tournament to apply the change.
     NOTE: Only works during registration.
     """
     if not self.data.is_reg_open:
         log('[CogTournament]  Registration closed. Fix not applied to '
             'recreate players.',
             logging.ERROR)
         return
     replacement = []
     for x in self.data.players:
         replacement.append(Player(x.id, x.display, x.disp_id))
     self.data.players = replacement
     self.data.invalidate_computed_values()
Exemplo n.º 7
0
 async def remove_other(self, ctx, user: discord.User):
     player = Player.get_player_from_user(user)
     self.data.remove_player(player)
     self.save()
     await self.send_data_str(ctx, f'{player} removed')
Exemplo n.º 8
0
 async def score_other(self, ctx, user: discord.User, score: int):
     player = Player.get_player_from_user(user)
     self.data.score(player, score)
     self.save()
     await self.send_data_str(ctx, f"{player}'s score set to {score}")
Exemplo n.º 9
0
 async def unregister_other(self, ctx, at_ref_for_other: discord.User):
     player = Player.get_player_from_user(at_ref_for_other)
     disp_id = self.data.unregister(player)
     self.save()
     await ctx.send(f'{player} unregistered. ID was {disp_id}')
Exemplo n.º 10
0
 async def register_other(self, ctx, at_ref_for_other: discord.User):
     player = Player.get_player_from_user(at_ref_for_other)
     self.data.register(player)
     self.save()
     await ctx.send(f'{player} registered.')
Exemplo n.º 11
0
 async def win_other(self, ctx, user: discord.User, qty: int = 1):
     player = Player.get_player_from_user(user)
     response = self.data.win(player, qty)
     self.save()
     await ctx.send(response)
Exemplo n.º 12
0
 async def win(self, ctx):
     player = Player.get_player_from_user(ctx.author)
     response = self.data.win(player, 1)
     self.save()
     await ctx.send(response)
Exemplo n.º 13
0
 async def unregister(self, ctx):
     player = Player.get_player_from_user(ctx.author)
     disp_id = self.data.unregister(player)
     self.save()
     await ctx.send(f'{player} unregistered. ID was {disp_id}')
Exemplo n.º 14
0
 async def register(self, ctx):
     player = Player.get_player_from_user(ctx.author)
     self.data.register(player)
     self.save()
     await ctx.send(f'{player} registered')