✨ add teams voice channels
This commit is contained in:
parent
63deb17723
commit
d84586b1e9
|
@ -1,11 +1,15 @@
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
import discord
|
||||||
from discord.ext.commands import Cog, command, Context, Bot
|
from discord.ext.commands import Cog, command, Context, Bot
|
||||||
|
|
||||||
from src.constants import *
|
from src.constants import *
|
||||||
|
|
||||||
|
|
||||||
class MiscCog(Cog, name="Divers"):
|
class MiscCog(Cog, name="Divers"):
|
||||||
|
def __init__(self, bot: Bot):
|
||||||
|
self.bot = bot
|
||||||
|
|
||||||
@command(
|
@command(
|
||||||
name="choose",
|
name="choose",
|
||||||
usage='choix1 choix2 "choix 3"...',
|
usage='choix1 choix2 "choix 3"...',
|
||||||
|
@ -24,12 +28,36 @@ class MiscCog(Cog, name="Divers"):
|
||||||
|
|
||||||
@command(name="joke", aliases=["blague"], hidden=True)
|
@command(name="joke", aliases=["blague"], hidden=True)
|
||||||
async def joke_cmd(self, ctx):
|
async def joke_cmd(self, ctx):
|
||||||
|
await ctx.message.delete()
|
||||||
with open(JOKES_FILE) as f:
|
with open(JOKES_FILE) as f:
|
||||||
jokes = f.read().split("\n\n\n")
|
jokes = f.read().split("\n\n\n")
|
||||||
|
|
||||||
msg = random.choice(jokes)
|
msg = random.choice(jokes)
|
||||||
await ctx.send(msg)
|
await ctx.send(msg)
|
||||||
|
|
||||||
|
@command(
|
||||||
|
name="help-test", hidden=True,
|
||||||
|
)
|
||||||
|
async def help_test(self, ctx: Context, *args):
|
||||||
|
if not args:
|
||||||
|
await self.send_bot_help(ctx)
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
|
||||||
|
embed = discord.Embed(
|
||||||
|
title="Help for `!draw`",
|
||||||
|
description="Groupe qui continent des commande pour les tirages",
|
||||||
|
color=0xFFA500,
|
||||||
|
)
|
||||||
|
# embed.set_author(name="*oooo*")
|
||||||
|
embed.add_field(name="zoulou", value="okokok", inline=True)
|
||||||
|
embed.add_field(name="lklk", value="mnmn", inline=True)
|
||||||
|
embed.set_footer(text="thankss!")
|
||||||
|
await ctx.send(embed=embed)
|
||||||
|
|
||||||
|
async def send_bot_help(self, ctx: Context):
|
||||||
|
embed = discord.Embed(title="Aide pour le bot du TFJM²",)
|
||||||
|
|
||||||
|
|
||||||
def setup(bot: Bot):
|
def setup(bot: Bot):
|
||||||
bot.add_cog(MiscCog())
|
bot.add_cog(MiscCog(bot))
|
||||||
|
|
|
@ -197,6 +197,41 @@ class TeamsCog(Cog, name="Teams"):
|
||||||
reason=f"{ctx.author.name} à demandé une channel pour son équipe.",
|
reason=f"{ctx.author.name} à demandé une channel pour son équipe.",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@team.command(name="voice", usage="Nom du salon")
|
||||||
|
@commands.has_role(Role.CAPTAIN)
|
||||||
|
async def team_channel(self, ctx, *channel_name):
|
||||||
|
"""
|
||||||
|
(cap) Crée une channel vocale privée pour l'équipe
|
||||||
|
|
||||||
|
Crée un endroit de discussion privé seulement pour l'équipe
|
||||||
|
personne d'autre n'y aura accès.
|
||||||
|
|
||||||
|
Exemple:
|
||||||
|
`!team voice un-nom-sympa`
|
||||||
|
"""
|
||||||
|
|
||||||
|
if not channel_name:
|
||||||
|
await ctx.send(
|
||||||
|
"Tu dois mettre un nom d'équipe, par exemple "
|
||||||
|
"`!team channel un-super-nom`"
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
|
channel_name = " ".join(channel_name)
|
||||||
|
|
||||||
|
guild: discord.Guild = ctx.guild
|
||||||
|
team_role = self.teams_for(ctx.author)[0][1]
|
||||||
|
team_channel_category = get(guild.categories, name=TEAMS_CHANNEL_CATEGORY)
|
||||||
|
await guild.create_voice_channel(
|
||||||
|
channel_name,
|
||||||
|
overwrites={
|
||||||
|
guild.default_role: discord.PermissionOverwrite(read_messages=False),
|
||||||
|
team_role: discord.PermissionOverwrite(read_messages=True),
|
||||||
|
},
|
||||||
|
category=team_channel_category,
|
||||||
|
reason=f"{ctx.author.name} à demandé une channel vocale pour son équipe.",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def setup(bot: Bot):
|
def setup(bot: Bot):
|
||||||
bot.add_cog(TeamsCog())
|
bot.add_cog(TeamsCog())
|
||||||
|
|
|
@ -63,4 +63,4 @@ JOKES_FILE = TOP_LEVEL_DIR / "data" / "jokes"
|
||||||
|
|
||||||
with open(TOP_LEVEL_DIR / "data" / "problems") as f:
|
with open(TOP_LEVEL_DIR / "data" / "problems") as f:
|
||||||
PROBLEMS = f.read().splitlines()
|
PROBLEMS = f.read().splitlines()
|
||||||
MAX_REFUSE = len(PROBLEMS) - 5
|
MAX_REFUSE = len(PROBLEMS) - 4 # -5 usually but not in 2020 because of covid-19
|
||||||
|
|
Loading…
Reference in New Issue