|
3 | 3 | from typing import TYPE_CHECKING |
4 | 4 | from urllib.parse import urljoin |
5 | 5 |
|
| 6 | +import discord |
6 | 7 | from discord import Embed |
7 | 8 |
|
8 | 9 | from src.settings import Settings |
@@ -49,3 +50,25 @@ def embed(self, club: ClubSchema) -> Embed: |
49 | 50 | url=urljoin(str(self._client._base_url), club.logo) |
50 | 51 | ) |
51 | 52 | return embed |
| 53 | + |
| 54 | + async def create_club(self, club_name: str, serv): |
| 55 | + # create the role for member, presidence and treasurer |
| 56 | + president = await serv.create_role(name=f"Président {club_name}") |
| 57 | + tresorier = await serv.create_role(name=f"Trésorier {club_name}") |
| 58 | + membre = await serv.create_role(name=f"Membre {club_name}", mentionable=True) |
| 59 | + |
| 60 | + # create the clubs category |
| 61 | + overwrites = { |
| 62 | + serv.default_role: discord.PermissionOverwrite(read_messages=False), |
| 63 | + president: discord.PermissionOverwrite( |
| 64 | + read_messages=True, manage_channels=True |
| 65 | + ), |
| 66 | + membre: discord.PermissionOverwrite(read_messages=True), |
| 67 | + tresorier: discord.PermissionOverwrite(read_messages=True), |
| 68 | + } |
| 69 | + |
| 70 | + categorie = await serv.create_category(club_name, overwrites=overwrites) |
| 71 | + |
| 72 | + # create default channel |
| 73 | + await serv.create_text_channel(f"Général-{club_name}", category=categorie) |
| 74 | + await serv.create_voice_channel(f"Général-{club_name}", category=categorie) |
0 commit comments