Ajout de la gestion des jeux gratuits et des invitations Discord. Création des modèles FreeGame et DiscordInvite, mise à jour de la base de données et des fichiers de configuration. Intégration de nouvelles fonctionnalités pour synchroniser et révoquer les invitations, ainsi que l'ajout d'un flux RSS pour les jeux gratuits. Amélioration de l'interface d'administration avec des statistiques et des options de gestion des serveurs.

This commit is contained in:
Mow
2025-12-06 11:25:45 +01:00
parent 54b014c4c8
commit 42db84f010
23 changed files with 3671 additions and 697 deletions
+33
View File
@@ -0,0 +1,33 @@
import discord
import logging
from database.helpers import ConfigurationHelper
from discord import Member
async def assignAutoRole(bot: discord.Client, member: Member):
"""Attribue automatiquement un rôle aux nouveaux membres"""
config = ConfigurationHelper()
if not config.getValue('autorole_enable'):
return
role_id = config.getIntValue('autorole_role_id')
if not role_id:
logging.warning('Auto-role activé mais aucun rôle configuré')
return
# Chercher le rôle dans le serveur du membre
role = member.guild.get_role(role_id)
if not role:
logging.error(f'Rôle auto-role {role_id} introuvable dans le serveur {member.guild.name}')
return
try:
await member.add_roles(role, reason='Auto-role: Attribution automatique à l\'arrivée')
logging.info(f'Auto-role: Rôle "{role.name}" attribué à {member.name} sur {member.guild.name}')
except discord.Forbidden:
logging.error(f'Auto-role: Permission refusée pour attribuer le rôle "{role.name}" à {member.name}')
except discord.HTTPException as e:
logging.error(f'Auto-role: Erreur HTTP lors de l\'attribution du rôle : {e}')
except Exception as e:
logging.error(f'Auto-role: Erreur inattendue : {e}')