diff --git a/orochi/bot.py b/orochi/bot.py index 3fa23ef..0346de9 100644 --- a/orochi/bot.py +++ b/orochi/bot.py @@ -263,7 +263,7 @@ async def open(ctx: commands.Context): if room is None: await ctx.reply("Les salles ne sont pas configurées.") if len(list(room.players)) != 3 or not all(player for player in room.players): - return await ctx.reply(f"La salle {room.room.value} ne contient pas trois joueurs, " + return await ctx.reply(f"La groupe {room.room.value} ne contient pas trois joueurs, " f"merci de finir sa configuration avec `!setup {room.room.value}`.") # Send messages to players @@ -282,7 +282,8 @@ async def open(ctx: commands.Context): channel_id = player.private_channel_id channel = bot.get_channel(channel_id) message = "Les votes sont ouverts.\n" - message += f"Vous devez aller voter en salle **{room.room.value}**.\n" + effective_room = room.room if vote.player2 is not None else room.room.next + message += f"Vous devez aller voter en salle **{effective_room.value}**.\n" if other_player: message += f"Vous êtes allié⋅e avec **{other_player.name}**.\n" message += f"Vous affrontez {' et '.join(f'**{adv.name}**' for adv in other_vote.players)}.\n" @@ -318,7 +319,7 @@ async def close(ctx: commands.Context): if vote.swapped: vote.vote = Vote.ALLY if vote.vote == Vote.BETRAY else Vote.BETRAY await ctx.send(f"L'équipe **{' et '.join(player.name for player in vote.players)}** " - f"en salle **{room.room.value}** a vu son vote échangé. " + f"dans le groupe **{room.room.value}** a vu son vote échangé. " f"Nouveau vote : **{vote.vote.value}**") for player in game.players.values(): @@ -367,7 +368,7 @@ async def prepare(ctx: commands.Context): )) game.save() - await ctx.reply("Le tour suivant est en préparation. Utilisez `!setup A|B|C` pour paramétrer les salles A, B ou C. " + await ctx.reply("Le tour suivant est en préparation. Utilisez `!setup A|B|C` pour paramétrer les groupes A, B ou C. " "Dan peut faire la même chose.") @@ -377,9 +378,11 @@ async def preview(ctx: commands.Context): game: Game = Game.INSTANCE current_round = game.rounds[-1] for room in current_round.rooms: - await ctx.send(f"Dans la salle **{room.room.value}**, s'affronteront :\n" - f"- **{' et '.join(str(player or '_personne_') for player in room.vote1.players)}**\n" - f"- **{' et '.join(str(player or '_personne_') for player in room.vote2.players)}**") + await ctx.send(f"Dans la groupe **{room.room.value}**, s'affronteront :\n" + f"- **{' et '.join(str(player or '_personne_') for player in room.vote1.players)}** " + f"(salle {room.room.next.value})\n" + f"- **{' et '.join(str(player or '_personne_') for player in room.vote2.players)}** " + f"(salle {room.room.value})") @bot.command(help="Préparation d'une salle") @@ -389,9 +392,9 @@ async def setup(ctx: commands.Context, room: Room): current_round = game.rounds[-1] if game.state != GameState.PREPARING: - return await ctx.reply("Vous ne pouvez pas préparer la salle avant le tour suivant.") + return await ctx.reply("Vous ne pouvez pas préparer le groupe avant le tour suivant.") - await ctx.reply(f"Préparation de la salle {room.value}.") + await ctx.reply(f"Préparation du groupe {room.value}.") match room: case Room.A: @@ -402,7 +405,7 @@ async def setup(ctx: commands.Context, room: Room): round_room = current_round.room_c view = PrepareRoomView(round_room, 0, timeout=300) - await ctx.send(f"Veuillez choisir qui s'affrontera seul dans la salle **{room.value}**.", view=view) + await ctx.send(f"Veuillez choisir qui s'affrontera seul dans le groupe **{room.value}**.", view=view) if round_room.vote1.player1 is not None: await ctx.send(f"Attention : **{round_room.vote1.player1.name}** est déjà choisie.") @@ -578,7 +581,7 @@ class PrepareRoomView(disnake.ui.View): if replaced_player != player: await interaction.send( - f"Attention : **{player.name}** était déjà attribué⋅e dans la salle " + f"Attention : **{player.name}** était déjà attribué⋅e dans le groupe " f"**{room.room.value}**. Vous devrez probablement la re-configurer.") if vote.player1 == player: @@ -618,10 +621,12 @@ class PrepareRoomView(disnake.ui.View): case 2: self.round_room.vote2.player2 = player await interaction.send( - f"Dans la salle **{round_room.room.value}**, **{round_room.vote1.player1.name}** " - f"affrontera **{round_room.vote2.player1.name}** et **{round_room.vote2.player2.name}**.") + f"Dans le groupe **{round_room.room.value}**, **{round_room.vote1.player1.name}** " + f"(salle {round_room.room.next.value}) " + f"affrontera **{round_room.vote2.player1.name}** et **{round_room.vote2.player2.name}** " + f"(salle {round_room.room.value}).") await interaction.send( - "Vous pouvez redéfinir la salle tant que le tour n'est pas lancé. " + "Vous pouvez redéfinir le groupe tant que le tour n'est pas lancé. " "Utilisez !preview pour un récapitulatif des tours.") game.save() diff --git a/orochi/models.py b/orochi/models.py index d53621b..87ea129 100644 --- a/orochi/models.py +++ b/orochi/models.py @@ -10,6 +10,16 @@ class Room(Enum): B = 'B' C = 'C' + @property + def next(self) -> 'Room': + match self: + case Room.A: + return Room.B + case Room.B: + return Room.C + case Room.C: + return Room.A + class GameState(Enum): PREPARING = 0 diff --git a/orochi/templates/list.html b/orochi/templates/list.html index 102b482..ae38dce 100644 --- a/orochi/templates/list.html +++ b/orochi/templates/list.html @@ -48,7 +48,7 @@ - +
SalleGroupe Équipes Vote