From d5d3e45a62bd64822927f345cb588c0f7eebef61 Mon Sep 17 00:00:00 2001 From: skylanix Date: Wed, 12 Nov 2025 02:09:21 +0100 Subject: [PATCH] =?UTF-8?q?Ajouts=20des=20fonctionnalit=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 93 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 67 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 5d098db..4823351 100755 --- a/README.md +++ b/README.md @@ -56,16 +56,40 @@ Mamie Henriette est un bot intelligent open-source développé spécifiquement p - 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 + - **Intégration anti-cheat** : Affiche automatiquement les systèmes anti-cheat et leur statut (supporté, cassé, refusé) + - Cache mis à jour automatiquement depuis AreWeAntiCheatYet - **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 + - **Avertissements** : `!averto`, `!warn`, `!av`, `!avertissement` + - Envoi automatique de DM à l'utilisateur averti + - Support des timeouts combinés : `!warn @user raison --to durée` + - **Timeout** : `!timeout`, `!to` - Exclusion temporaire d'un utilisateur + - Syntaxe : `!to @user durée raison` (ex: `!to @User 10m Spam`) + - Durées supportées : secondes (s), minutes (m), heures (h), jours (j/days) + - **Gestion des avertissements** : `!delaverto`, `!removewarn`, `!delwarn` + - **Liste des événements** : `!warnings`, `!listevent`, `!listwarn` + - **Inspection utilisateur** : `!inspect @user` + - Historique complet des sanctions + - Date d'arrivée et durée sur le serveur + - Détection des comptes suspects (< 7 jours) + - Affichage du code d'invitation utilisé et de l'inviteur + - **Bannissement** : `!ban @user raison`, `!banlist` + - `!unban @user raison` ou `!unban #ID raison` (débannir par ID de sanction) + - Invitation automatique par DM lors du débannissement + - **Expulsion** : `!kick @user raison` + - **Annonces** : `!say #canal message` - Envoi de messages en tant que bot (staff uniquement) + - **Aide** : `!aide`, `!help` - Liste complète des commandes disponibles + - **Configuration avancée** : + - Support de multiples rôles staff + - Canal de logs dédié pour toutes les actions + - Suppression automatique des messages de modération (délai configurable) + - Activation/désactivation individuelle des fonctionnalités + - Panneau d'administration web pour consulter, éditer et supprimer l'historique +- **Messages de bienvenue et départ** : + - Messages personnalisables avec variables : `{member.mention}`, `{member.name}`, `{server.name}`, `{server.member_count}` + - **Système de tracking d'invitations** : Affiche qui a invité le nouveau membre + - **Messages de départ intelligents** : Détection automatique de la raison (volontaire, kick, ban) + - Affichage de la durée passée sur le serveur + - Embeds enrichis avec avatar et informations détaillées ### Twitch - **Chat bot** : Commandes et interactions automatiques @@ -82,10 +106,23 @@ Mamie Henriette est un bot intelligent open-source développé spécifiquement p ### Interface d'administration - **Dashboard** : Vue d'ensemble et statistiques -- **Configuration** : Tokens, paramètres des plateformes, configuration ProtonDB -- **Gestion des humeurs** : Création et modification des statuts -- **Commandes** : Édition des commandes personnalisées -- **Modération** : Outils de gestion communautaire +- **Configuration** : + - Tokens Discord/Twitch et paramètres des plateformes + - Configuration ProtonDB (API Algolia) + - Gestion des rôles staff (support de multiples rôles) + - Activation/désactivation individuelle des fonctionnalités (modération, ban, kick, welcome, leave) + - Configuration du délai de suppression automatique des messages de modération +- **Gestion des humeurs** : Création et modification des statuts Discord rotatifs +- **Commandes** : Édition des commandes personnalisées multi-plateformes +- **Modération** : + - Consultation de l'historique complet des sanctions + - Édition des raisons des événements de modération + - Suppression d'événements de modération + - Filtrage et recherche dans l'historique +- **Messages de bienvenue/départ** : + - Personnalisation des messages avec variables dynamiques + - Configuration des canaux de bienvenue et départ + - Activation/désactivation indépendante ## Installation @@ -134,7 +171,7 @@ cd MamieHenriette ``` ```bash -# 2. Récupérer l'image depuis Docker Hub et lancer +# 2. Récupérer l'image depuis GitHub Container Registry et lancer docker compose pull docker compose up -d ``` @@ -163,12 +200,12 @@ cd MamieHenriette ```yaml services: - MamieHenriette: + mamiehenriette: container_name: MamieHenriette restart: unless-stopped - build: . # ← Décommentez cette lignes - image: mamiehenriette # ← Décommentez cette lignes - # image: skylanix/mamiehenriette:latest # ← Commentez cette ligne + build: . # ← Décommentez cette ligne + image: mamiehenriette # ← Décommentez cette ligne + # image: ghcr.io/skylanix/mamiehenriette:latest # ← Commentez cette ligne # ... reste de la configuration ``` @@ -234,9 +271,9 @@ services: - Donnez un nom : `MamieHenriette` - Collez la configuration ci-dessus dans l'éditeur -3. **Adapter les chemins** : - - Remplacez `/chemin/vers/instance` par le chemin absolu sur votre serveur (ex: `/opt/containers/MamieHenriette/instance`) - - Remplacez `/chemin/vers/logs` par le chemin absolu sur votre serveur (ex: `/opt/containers/MamieHenriette/logs`) +3. **Adapter les chemins des volumes** : + - Modifiez `./instance` et `./logs` selon votre configuration + - Exemple : `/opt/containers/MamieHenriette/instance` et `/opt/containers/MamieHenriette/logs` 4. **Déployer** : - Cliquez sur "Deploy the stack" @@ -281,10 +318,12 @@ git pull origin main # 3. Mettre à jour l'image Docker docker compose pull -# 4. Reconstruire et relancer -docker compose up --build -d +# 4. Relancer +docker compose up -d ``` +> 💡 **Note** : Si vous utilisez Watchtower, les mises à jour de l'image sont automatiques (vérification toutes les 30 minutes). + #### Sans Docker (installation locale) ```bash # 1. Arrêter l'application @@ -352,14 +391,16 @@ python run-web.py ## Spécifications techniques ### Base de données (SQLite) -- **Configuration** : Paramètres et tokens des plateformes +- **Configuration** : Paramètres et tokens des plateformes, configuration des fonctionnalités - **Humeur** : Statuts Discord rotatifs avec gestion automatique - **Commande** : Commandes personnalisées multi-plateformes (Discord/Twitch) - **LiveAlert** : Configuration surveillance streamers Twitch (nom, canal Discord, statut) - **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 +- **AntiCheatCache** : Cache des informations anti-cheat pour ProtonDB (mise à jour automatique hebdomadaire) +- **Message** : Messages automatiques périodiques +- **Moderation** : Historique complet des actions de modération (avertissements, timeouts, bans, kicks, unbans) avec raison, staff, timestamp et durée +- **MemberInvites** : Tracking des invitations (code d'invitation, inviteur, date de join) ### Architecture multi-thread - **Thread 1** : Interface web Flask (port 5000) avec logging rotatif