mirror of
				https://gitlab.com/ddorn/tfjm-discord-bot.git
				synced 2025-11-04 04:22:16 +01:00 
			
		
		
		
	✨ show tirages for a team
This commit is contained in:
		@@ -14,7 +14,7 @@ from typing import Type, Dict, Union, Optional, List
 | 
				
			|||||||
import discord
 | 
					import discord
 | 
				
			||||||
import yaml
 | 
					import yaml
 | 
				
			||||||
from discord.ext import commands
 | 
					from discord.ext import commands
 | 
				
			||||||
from discord.ext.commands import group, Cog, Context
 | 
					from discord.ext.commands import group, Cog, Context, RoleConverter
 | 
				
			||||||
from discord.utils import get
 | 
					from discord.utils import get
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from src.base_tirage import BaseTirage, Event, Poule
 | 
					from src.base_tirage import BaseTirage, Event, Poule
 | 
				
			||||||
@@ -507,9 +507,10 @@ class TirageCog(Cog, name="Tirages"):
 | 
				
			|||||||
            dice = random.randint(1, n)
 | 
					            dice = random.randint(1, n)
 | 
				
			||||||
            return f"{ctx.author.mention} : {Emoji.DICE} {dice}"
 | 
					            return f"{ctx.author.mention} : {Emoji.DICE} {dice}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @commands.command(name="dice-all", aliases=["da"], hidden=True)
 | 
					    @commands.command(name="dice-all", aliases=["da"])
 | 
				
			||||||
    @commands.has_role(Role.DEV)
 | 
					    @commands.has_role(Role.DEV)
 | 
				
			||||||
    async def dice_all_cmd(self, ctx, *teams):
 | 
					    async def dice_all_cmd(self, ctx, *teams):
 | 
				
			||||||
 | 
					        """Lance un dé pour chaque equipe afin de tester les tirages."""
 | 
				
			||||||
        channel = ctx.channel.id
 | 
					        channel = ctx.channel.id
 | 
				
			||||||
        if channel in self.tirages:
 | 
					        if channel in self.tirages:
 | 
				
			||||||
            for t in teams:
 | 
					            for t in teams:
 | 
				
			||||||
@@ -626,10 +627,9 @@ class TirageCog(Cog, name="Tirages"):
 | 
				
			|||||||
        channel_id = ctx.channel.id
 | 
					        channel_id = ctx.channel.id
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if channel_id in self.tirages:
 | 
					        if channel_id in self.tirages:
 | 
				
			||||||
            print(self.tirages, channel_id)
 | 
					            await ctx.send(f"Le tirage {self.tirages[channel_id].id} est annulé.")
 | 
				
			||||||
            print(self.tirages[channel_id])
 | 
					            self.tirages[channel_id].save()
 | 
				
			||||||
            del self.tirages[channel_id]
 | 
					            del self.tirages[channel_id]
 | 
				
			||||||
            await ctx.send("Le tirage est annulé.")
 | 
					 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            await ctx.send("Il n'y a pas de tirage en cours.")
 | 
					            await ctx.send("Il n'y a pas de tirage en cours.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -656,18 +656,14 @@ class TirageCog(Cog, name="Tirages"):
 | 
				
			|||||||
    def get_tirages(self) -> Dict[int, BaseTirage]:
 | 
					    def get_tirages(self) -> Dict[int, BaseTirage]:
 | 
				
			||||||
        return DiscordTirage.load_all()
 | 
					        return DiscordTirage.load_all()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def save_tirages(self, tirages):
 | 
					 | 
				
			||||||
        File.TIRAGES.touch()
 | 
					 | 
				
			||||||
        with open(File.TIRAGES, "w") as f:
 | 
					 | 
				
			||||||
            yaml.dump(tirages, f)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @draw_group.command(name="show")
 | 
					    @draw_group.command(name="show")
 | 
				
			||||||
    async def show_cmd(self, ctx: Context, tirage_id: str = "all"):
 | 
					    async def show_cmd(self, ctx: Context, tirage_id: str = "all"):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        Affiche le résumé d'un tirage.
 | 
					        Affiche le résumé d'un tirage.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Exemples:
 | 
					        Exemples:
 | 
				
			||||||
            `!draw show all` - Liste les ID possible
 | 
					            `!draw show all` - Liste les ID possibles
 | 
				
			||||||
 | 
					            `!draw show TRI` - Affiche les tirages avec l'équipe TRI
 | 
				
			||||||
            `!draw show 42` - Affiche le tirage n°42
 | 
					            `!draw show 42` - Affiche le tirage n°42
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -686,6 +682,12 @@ class TirageCog(Cog, name="Tirages"):
 | 
				
			|||||||
                f"`{key}`: {', '.join(tirage.teams)}" for key, tirage in tirages.items()
 | 
					                f"`{key}`: {', '.join(tirage.teams)}" for key, tirage in tirages.items()
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
            await ctx.send(msg)
 | 
					            await ctx.send(msg)
 | 
				
			||||||
 | 
					        elif len(tirage_id) == 3 and tirage_id.isupper():
 | 
				
			||||||
 | 
					            for t in tirages.values():
 | 
				
			||||||
 | 
					                for p, teams in t.poules.items():
 | 
				
			||||||
 | 
					                    if tirage_id in teams:
 | 
				
			||||||
 | 
					                        t.ctx = ctx
 | 
				
			||||||
 | 
					                        await t.annonce_poule(p)
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            try:
 | 
					            try:
 | 
				
			||||||
                n = int(tirage_id)
 | 
					                n = int(tirage_id)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user