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
This commit is contained in:
parent
bc3cb3f3d5
commit
2e38d05152
25 changed files with 368 additions and 125 deletions
|
|
@ -3,6 +3,7 @@ from discord import app_commands
|
|||
from discord.ext import commands
|
||||
from utils.data_manager import DataManager
|
||||
from utils.card_generator import CardGenerator
|
||||
from utils.guild_config import has_role
|
||||
|
||||
card_generator = CardGenerator()
|
||||
|
||||
|
|
@ -14,20 +15,14 @@ class VoirIdentite(commands.Cog):
|
|||
async def voir_carte_identite(self, interaction: discord.Interaction, utilisateur: discord.Member = None):
|
||||
"""Affiche la carte d'identité d'un utilisateur"""
|
||||
|
||||
# Remplacer par l'ID de ton rôle gouvernement
|
||||
GOUVERNEMENT_ROLE_ID = 1360236421872484403
|
||||
|
||||
target_user = utilisateur or interaction.user
|
||||
|
||||
# 🔒 Vérification si l'utilisateur peut voir la carte d'un autre
|
||||
if utilisateur and utilisateur != interaction.user:
|
||||
gouvernement_role = interaction.guild.get_role(GOUVERNEMENT_ROLE_ID)
|
||||
if gouvernement_role not in interaction.user.roles:
|
||||
await interaction.response.send_message(
|
||||
"🚫 Vous n'avez pas l'autorisation de voir la carte d'identité d'un autre utilisateur.",
|
||||
ephemeral=True
|
||||
)
|
||||
return
|
||||
if utilisateur and utilisateur != interaction.user and not has_role(interaction.user, "gouvernement"):
|
||||
await interaction.response.send_message(
|
||||
"🚫 Vous n'avez pas l'autorisation de voir la carte d'identité d'un autre utilisateur.",
|
||||
ephemeral=True
|
||||
)
|
||||
return
|
||||
|
||||
user_id = str(target_user.id)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue