{% extends "template.html" %} {% block content %}

Modération Discord

Historique des actions de modération effectuées sur le serveur Discord. Le bot enregistre automatiquement les avertissements, exclusions et bannissements.

📋 Événements de modération 🔗 Invitations

📊 Statistiques

📋
Total des sanctions {{ stats.total }}
Dernières 24h {{ stats.recent_24h }}
📅
7 derniers jours {{ stats.recent_7d }}
📆
30 derniers jours {{ stats.recent_30d }}

🛡️ Top Modérateurs

{% if stats.top_moderators %}
{% for mod_name, count in stats.top_moderators %}
{{ loop.index }} {{ mod_name }} {{ count }} sanction{{ 's' if count > 1 else '' }}
{% endfor %}
{% else %}

Aucune donnée disponible

{% endif %}

⚖️ Types de sanctions

{% if stats.type_counts %}
{% for type_name, count in stats.type_counts.items() %}
{{ type_name }} {{ count }}
{% endfor %}
{% else %}

Aucune donnée disponible

{% endif %}

⚠️ Utilisateurs les plus sanctionnés

{% if stats.top_sanctioned %}
{% for username, count in stats.top_sanctioned %}
{{ loop.index }} {{ username }} {{ count }} sanction{{ 's' if count > 1 else '' }}
{% endfor %}
{% else %}

Aucune donnée disponible

{% endif %}
📖 Commandes de modération disponibles
!averto @utilisateur raison

Avertit un utilisateur et enregistre l'avertissement

Alias : !warn, !av, !avertissement
!delaverto id

Retire un avertissement par son ID

Alias : !removewarn, !delwarn
!warnings [@utilisateur]

Liste les événements de modération

Alias : !listevent, !listwarn
!inspect @utilisateur

Informations détaillées sur un utilisateur

Aussi : !inspect id
!kick @utilisateur raison

Expulse un utilisateur du serveur

!ban @utilisateur raison

Bannit définitivement un utilisateur

!unban discord_id

Révoque un bannissement

Aussi : !unban #sanction_id raison
!banlist

Liste des utilisateurs bannis

!aide

Affiche toutes les commandes

Alias : !help
{% if not event %}

📜 Historique des événements

{% if events %} {% for mod_event in events %} {% endfor %}
Type Utilisateur Discord ID Date & Heure Raison Staff #
{{ mod_event.type }} {{ mod_event.username }} {{ mod_event.discord_id }} {{ mod_event.created_at.strftime('%d/%m/%Y %H:%M') if mod_event.created_at else 'N/A' }} {{ mod_event.reason }} {{ mod_event.staff_name }} 🗑
{% else %}
🎉

Aucun événement de modération enregistré

Le serveur est sage !
{% endif %} {% endif %} {% if event %}

✏️ Editer un événement

Annuler
{% endif %} {% if show_invites %}

🔗 Invitations Discord

🔄 Synchroniser les invitations
{% if invite_stats %}

📊 Statistiques des invitations

🔗
Invitations actives {{ invite_stats.total }}
👥
Utilisations totales {{ invite_stats.total_uses }}
♾️
Permanentes {{ invite_stats.permanent }}
Temporaires {{ invite_stats.temporary }}
{% if invite_stats.top_inviters %}

🏆 Top inviteurs

{% for inviter_name, uses in invite_stats.top_inviters %}
{{ loop.index }} {{ inviter_name }} {{ uses }} membre{{ 's' if uses > 1 else '' }} invité{{ 's' if uses > 1 else '' }}
{% endfor %}
{% endif %} {% endif %} {% if invites %} {% for invite in invites %} {% endfor %}
Code Canal Créateur Utilisations Max utilisations Expiration Créée le Statut #
{{ invite.code }} {{ invite.channel_name or 'N/A' }} {{ invite.inviter_name or 'Inconnu' }} {{ invite.uses or 0 }} {{ invite.max_uses if invite.max_uses > 0 else '∞' }} {% if invite.max_age == 0 %} Jamais {% elif invite.expires_at %} {{ invite.expires_at.strftime('%d/%m/%Y %H:%M') }} {% else %} N/A {% endif %} {{ invite.created_at.strftime('%d/%m/%Y %H:%M') if invite.created_at else 'N/A' }} {% if invite.revoked %} Révoquée {% elif invite.is_expired %} Expirée {% elif invite.max_uses > 0 and invite.uses >= invite.max_uses %} Max atteint {% else %} Active {% endif %} {% if not invite.revoked %} 🗑 {% endif %}
{% else %}
🔗

Aucune invitation trouvée

Cliquez sur "Synchroniser les invitations" pour récupérer les invitations depuis Discord
{% endif %} {% endif %} {% endblock %}