2026-08-16 19:37:15 +02:00
|
|
|
import discord
|
|
|
|
|
from discord.ext import commands
|
|
|
|
|
from discord import app_commands
|
Modularize bot: per-guild config system for roles/channels/categories
- Add utils/guild_config.py: centralized config loader per guild (data/guilds/{id}.json)
- Add commandes/config.py: /config set_role, /config set_channel, /config set_category, /config voir, /config reset
- Replace ALL hardcoded role IDs (banquier, gouvernement, citoyen, staff, ems, permis, fbm, ursaff, etc.) with guild_config lookups
- Replace ALL hardcoded channel IDs (welcome, candidature, questions, mp_reception) with guild_config lookups
- Replace ALL hardcoded category IDs (ticket) with guild_config lookups
- Remove duplicate commandes/welcome_message.py (kept utils/ version)
- Remove 20+ hardcoded snowflake IDs across 22 files
- Guilds configure via /config on Discord, no code changes needed
2026-08-17 00:12:57 +02:00
|
|
|
from utils.guild_config import has_role, get_guild_role
|
2026-08-16 19:37:15 +02:00
|
|
|
|
|
|
|
|
class PermisCommand(commands.Cog):
|
|
|
|
|
def __init__(self, bot):
|
|
|
|
|
self.bot = bot
|
|
|
|
|
|
|
|
|
|
@app_commands.command(name="ajouter_permis", description="Ajoute le rôle 'permis' à un membre.")
|
|
|
|
|
async def ajouter_permis(self, interaction: discord.Interaction, membre: discord.Member):
|
|
|
|
|
"""Ajoute le rôle 'permis' à un membre sélectionné."""
|
|
|
|
|
# Vérifier si l'utilisateur a le rôle "auto-école"
|
Modularize bot: per-guild config system for roles/channels/categories
- Add utils/guild_config.py: centralized config loader per guild (data/guilds/{id}.json)
- Add commandes/config.py: /config set_role, /config set_channel, /config set_category, /config voir, /config reset
- Replace ALL hardcoded role IDs (banquier, gouvernement, citoyen, staff, ems, permis, fbm, ursaff, etc.) with guild_config lookups
- Replace ALL hardcoded channel IDs (welcome, candidature, questions, mp_reception) with guild_config lookups
- Replace ALL hardcoded category IDs (ticket) with guild_config lookups
- Remove duplicate commandes/welcome_message.py (kept utils/ version)
- Remove 20+ hardcoded snowflake IDs across 22 files
- Guilds configure via /config on Discord, no code changes needed
2026-08-17 00:12:57 +02:00
|
|
|
if not has_role(interaction.user, "auto_ecole"):
|
2026-08-16 19:37:15 +02:00
|
|
|
await interaction.response.send_message("❌ Erreur : Vous n'avez pas la permission d'utiliser cette commande.")
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
# Vérifier si le rôle "permis" existe
|
Modularize bot: per-guild config system for roles/channels/categories
- Add utils/guild_config.py: centralized config loader per guild (data/guilds/{id}.json)
- Add commandes/config.py: /config set_role, /config set_channel, /config set_category, /config voir, /config reset
- Replace ALL hardcoded role IDs (banquier, gouvernement, citoyen, staff, ems, permis, fbm, ursaff, etc.) with guild_config lookups
- Replace ALL hardcoded channel IDs (welcome, candidature, questions, mp_reception) with guild_config lookups
- Replace ALL hardcoded category IDs (ticket) with guild_config lookups
- Remove duplicate commandes/welcome_message.py (kept utils/ version)
- Remove 20+ hardcoded snowflake IDs across 22 files
- Guilds configure via /config on Discord, no code changes needed
2026-08-17 00:12:57 +02:00
|
|
|
permis_role = get_guild_role(interaction.guild, "permis")
|
2026-08-16 19:37:15 +02:00
|
|
|
if not permis_role:
|
|
|
|
|
await interaction.response.send_message("❌ Erreur : Le rôle 'permis' n'existe pas.")
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
# Ajouter le rôle "permis" au membre
|
|
|
|
|
await membre.add_roles(permis_role)
|
|
|
|
|
await interaction.response.send_message(f"✅ Le rôle 'permis' a été ajouté à {membre.mention}.")
|
|
|
|
|
|
|
|
|
|
async def setup(bot):
|
|
|
|
|
await bot.add_cog(PermisCommand(bot))
|