Améliore la communication et la documentation

This commit is contained in:
skylanix
2025-11-06 01:01:23 +00:00
parent 18a883c27b
commit a26214ed68
4 changed files with 99 additions and 35 deletions

View File

@@ -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 <nom_du_jeu>` 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

View File

@@ -704,40 +704,48 @@ async def handle_staff_help_command(message: Message, bot):
if ConfigurationHelper().getValue('moderation_enable'):
value = (
"• `!averto @utilisateur [raison]`\n"
"• `!delaverto <id>`\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 <id>`\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 <discord_id>` ou `!unban #<sanction_id> [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)

View File

@@ -57,7 +57,7 @@
<legend>Modération</legend>
<label for="moderation_enable">
<input type="checkbox" name="moderation_enable" {% if configuration.getValue('moderation_enable') %}checked="checked"{% endif %}>
Activer les commandes d'avertissement (!averto, !delaverto, !listaverto)
Activer les commandes d'avertissement (!warn, !unwarn, !inspect)
</label>
<label for="moderation_ban_enable">
@@ -169,7 +169,7 @@
<label for="twitch_channel">Chaîne à rejoindre</label>
<input name="twitch_channel" type="text" value="{{ configuration.getValue('twitch_channel') }}"
placeholder="#machinTruc" />
<input type="Submit" value="Définir">
<input type="Submit" value="Enregistrer la configuration Twitch">
<p>
<a href="{{ url_for('twitchConfigurationHelp') }}">Aide</a>
</p>
@@ -189,20 +189,22 @@
<h2>Humble Bundle</h2>
<form action="{{ url_for('updateConfiguration') }}" method="POST">
<label for="humble_bundle_enable">Activer</label>
<input type="checkbox" name="humble_bundle_enable" {% if configuration.getValue('humble_bundle_enable') %}
checked="checked" {% endif %}>
<label>Activer les notifications Humble Bundle</label>
<p>Humble Bundle est un service qui propose des bundles de jeux vidéo à des prix réduits. Il est utile pour trouver des jeux vidéo à des prix intéressants.</p>
<p>Il est possible de configurer un canal de notification pour recevoir les notifications des bundles Humble Bundle.</p>
<label for="humble_bundle_channel">Canal de notification des packs Humble Bundle</label>
<p>Humble Bundle propose régulièrement des bundles de jeux vidéo à des prix réduits. Activez les notifications pour recevoir automatiquement les nouveaux packs disponibles sur votre serveur Discord.</p>
<label for="humble_bundle_enable">
<input type="checkbox" name="humble_bundle_enable" {% if configuration.getValue('humble_bundle_enable') %}checked="checked"{% endif %}>
Activer les notifications Humble Bundle
</label>
<label for="humble_bundle_channel">Canal de notification</label>
<select name="humble_bundle_channel">
{% for channel in channels %}
<option value="{{channel.id}}" {% if configuration.getIntValue('humble_bundle_channel')==channel.id %}
selected="selected" {% endif %}>
{{channel.name}}</option>
<option value="{{channel.id}}" {% if configuration.getIntValue('humble_bundle_channel')==channel.id %}selected="selected"{% endif %}>
{{channel.name}}
</option>
{% endfor %}
</select>
<input type="Submit" value="Définir">
<input type="Submit" value="Enregistrer la configuration Humble Bundle">
</form>
{% endblock %}

View File

@@ -7,13 +7,53 @@
Historique des actions de modération effectuées sur le serveur Discord.
Le bot enregistre automatiquement les avertissements, exclusions et bannissements.
Exemples de commandes :
<ul>
<li><strong>!kick @utilisateur raison</strong> - !kick @Jean Spam de liens</li>
<li><strong>!ban @utilisateur raison</strong> - !ban @Marie Comportement toxique répété</li>
<li><strong>!warn @utilisateur raison</strong> - !warn @Paul Langage inapproprié</li>
<li><strong>!unwarn @utilisateur</strong> - !unwarn @Paul</li>
</ul>
<table>
<thead>
<tr>
<th>Commande</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>!averto @utilisateur raison</strong><br><small>Alias : !warn, !av, !avertissement</small></td>
<td>Avertit un utilisateur et enregistre l'avertissement dans la base de données</td>
</tr>
<tr>
<td><strong>!delaverto id</strong><br><small>Alias : !removewarn, !delwarn</small></td>
<td>Retire un avertissement en utilisant son numéro d'ID</td>
</tr>
<tr>
<td><strong>!warnings</strong> ou <strong>!warnings @utilisateur</strong><br><small>Alias : !listevent, !listwarn</small></td>
<td>Affiche la liste des événements de modération (tous ou pour un utilisateur spécifique)</td>
</tr>
<tr>
<td><strong>!inspect @utilisateur</strong> ou <strong>!inspect id</strong></td>
<td>Affiche des informations détaillées sur un utilisateur : création du compte, date d'arrivée, historique de modération</td>
</tr>
<tr>
<td><strong>!kick @utilisateur raison</strong></td>
<td>Expulse un utilisateur du serveur</td>
</tr>
<tr>
<td><strong>!ban @utilisateur raison</strong></td>
<td>Bannit définitivement un utilisateur du serveur</td>
</tr>
<tr>
<td><strong>!unban discord_id</strong> ou <strong>!unban #sanction_id raison</strong></td>
<td>Révoque le bannissement d'un utilisateur et lui envoie une invitation</td>
</tr>
<tr>
<td><strong>!banlist</strong></td>
<td>Affiche la liste des utilisateurs actuellement bannis du serveur</td>
</tr>
<tr>
<td><strong>!aide</strong><br><small>Alias : !help</small></td>
<td>Affiche l'aide avec toutes les commandes disponibles</td>
</tr>
</tbody>
</table>
</p>
{% if not event %}