mirror of
https://gitlab.com/ddorn/tfjm-discord-bot.git
synced 2024-12-26 19:02:22 +00:00
✨ show tirages for a team
This commit is contained in:
parent
3551068a3f
commit
56cf3f2f55
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user