From a26214ed68a1749556be0fba71a1c7076f4e4b30 Mon Sep 17 00:00:00 2001 From: skylanix Date: Thu, 6 Nov 2025 01:01:23 +0000 Subject: [PATCH] =?UTF-8?q?Am=C3=A9liore=20la=20communication=20et=20la=20?= =?UTF-8?q?documentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 20 +++++++++-- discordbot/moderation.py | 32 ++++++++++------- webapp/templates/configurations.html | 28 ++++++++------- webapp/templates/moderation.html | 54 ++++++++++++++++++++++++---- 4 files changed, 99 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index a26c22d..38d4361 100755 --- a/README.md +++ b/README.md @@ -50,12 +50,25 @@ Mamie Henriette est un bot intelligent open-source développé spécifiquement p - **Statuts dynamiques** : Rotation automatique des humeurs (10 min) - **Notifications Humble Bundle** : Surveillance et alertes automatiques (30 min) - **Commandes personnalisées** : Gestion via interface web -- **Recherche ProtonDB** : Commande `!protondb ` pour vérifier la compatibilité Linux/Steam Deck -- **Modération** : Outils intégrés +- **Recherche ProtonDB** : + - Commande `!protondb nom_du_jeu` ou `!pdb nom_du_jeu` pour vérifier la compatibilité Linux/Steam Deck + - Recherche intelligente avec support des alias de jeux + - Affichage du score de compatibilité, nombre de rapports et lien direct +- **Modération** : Système complet de modération avec historique + - Avertissements : `!averto`, `!warn`, `!av`, `!avertissement` + - Gestion des avertissements : `!delaverto`, `!removewarn`, `!delwarn` + - Liste des événements : `!warnings`, `!listevent`, `!listwarn` + - Inspection utilisateur : `!inspect` (historique complet, date d'arrivée, compte) + - Bannissement : `!ban`, `!unban` (avec invitation automatique), `!banlist` + - Expulsion : `!kick` + - Aide : `!aide`, `!help` + - Messages de bienvenue et départ personnalisables + - Panneau d'administration web pour consulter l'historique ### Twitch - **Chat bot** : Commandes et interactions automatiques -- **Alertes Live** : Surveillance automatique des streamers (vérification toutes les 5 minutes) +- **Alertes Live** : + - Surveillance automatique des streamers - Support jusqu'à 100 chaînes simultanément - Notifications Discord avec aperçu du stream - Gestion via interface d'administration @@ -243,6 +256,7 @@ python run-web.py - **GameAlias** : Alias pour améliorer les recherches ProtonDB - **GameBundle** : Historique et notifications Humble Bundle - **Message** : Messages automatiques périodiques (implémenté) +- **Moderation** : Historique complet des actions de modération (avertissements, bans, kicks, unbans) avec raison, staff et timestamp ### Architecture multi-thread - **Thread 1** : Interface web Flask (port 5000) avec logging rotatif diff --git a/discordbot/moderation.py b/discordbot/moderation.py index a48c6f7..317600a 100644 --- a/discordbot/moderation.py +++ b/discordbot/moderation.py @@ -704,40 +704,48 @@ async def handle_staff_help_command(message: Message, bot): if ConfigurationHelper().getValue('moderation_enable'): value = ( - "• `!averto @utilisateur [raison]`\n" - "• `!delaverto `\n" + "• `!averto @utilisateur raison`\n" + " *Alias: !warn, !av, !avertissement*\n" + "• `!delaverto id`\n" + " *Alias: !removewarn, !delwarn*\n" "• `!warnings` ou `!warnings @utilisateur`\n" + " *Alias: !listevent, !listwarn*\n" "Exemples:\n" - "`!averto @User Spam`\n" + "`!averto @User Spam dans le chat`\n" "`!delaverto 12`\n" "`!warnings @User`" ) embed.add_field(name="⚠️ Avertissements", value=value, inline=False) embed.add_field( name="🔎 Inspection", - value=("• `!inspect @utilisateur` ou `!inspect `\n" + value=("• `!inspect @utilisateur` ou `!inspect id`\n" + "Affiche les infos détaillées et l'historique de modération\n" "Ex: `!inspect @User`"), inline=False ) if ConfigurationHelper().getValue('moderation_ban_enable'): value = ( - "• `!ban @utilisateur [raison]`\n" - "• `!unban ` ou `!unban # [raison]`\n" + "• `!ban @utilisateur raison`\n" + " Bannit définitivement un utilisateur\n" + "• `!unban discord_id` ou `!unban #sanction_id raison`\n" + " Révoque le ban et envoie une invitation\n" "• `!banlist`\n" + " Affiche la liste des utilisateurs bannis\n" "Exemples:\n" - "`!ban @User Toxicité`\n" - "`!unban 123456789012345678 Erreur`\n" + "`!ban @User Comportement toxique répété`\n" + "`!unban 123456789012345678 Erreur de modération`\n" "`!unban #5 Appel accepté`" ) - embed.add_field(name="🔨 Ban / Unban", value=value, inline=False) + embed.add_field(name="🔨 Bannissement", value=value, inline=False) if ConfigurationHelper().getValue('moderation_kick_enable'): value = ( - "• `!kick @utilisateur [raison]`\n" - "Exemple: `!kick @User Spam`" + "• `!kick @utilisateur raison`\n" + " Expulse temporairement un utilisateur du serveur\n" + "Exemple: `!kick @User Spam de liens`" ) - embed.add_field(name="👢 Kick", value=value, inline=False) + embed.add_field(name="👢 Expulsion", value=value, inline=False) try: sent = await message.channel.send(embed=embed) diff --git a/webapp/templates/configurations.html b/webapp/templates/configurations.html index 292ff8f..bc711cc 100644 --- a/webapp/templates/configurations.html +++ b/webapp/templates/configurations.html @@ -57,7 +57,7 @@ Modération