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) - **Statuts dynamiques** : Rotation automatique des humeurs (10 min)
- **Notifications Humble Bundle** : Surveillance et alertes automatiques (30 min) - **Notifications Humble Bundle** : Surveillance et alertes automatiques (30 min)
- **Commandes personnalisées** : Gestion via interface web - **Commandes personnalisées** : Gestion via interface web
- **Recherche ProtonDB** : Commande `!protondb <nom_du_jeu>` pour vérifier la compatibilité Linux/Steam Deck - **Recherche ProtonDB** :
- **Modération** : Outils intégrés - 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 ### Twitch
- **Chat bot** : Commandes et interactions automatiques - **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 - Support jusqu'à 100 chaînes simultanément
- Notifications Discord avec aperçu du stream - Notifications Discord avec aperçu du stream
- Gestion via interface d'administration - Gestion via interface d'administration
@@ -243,6 +256,7 @@ python run-web.py
- **GameAlias** : Alias pour améliorer les recherches ProtonDB - **GameAlias** : Alias pour améliorer les recherches ProtonDB
- **GameBundle** : Historique et notifications Humble Bundle - **GameBundle** : Historique et notifications Humble Bundle
- **Message** : Messages automatiques périodiques (implémenté) - **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 ### Architecture multi-thread
- **Thread 1** : Interface web Flask (port 5000) avec logging rotatif - **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'): if ConfigurationHelper().getValue('moderation_enable'):
value = ( value = (
"• `!averto @utilisateur [raison]`\n" "• `!averto @utilisateur raison`\n"
"• `!delaverto <id>`\n" " *Alias: !warn, !av, !avertissement*\n"
"• `!delaverto id`\n"
" *Alias: !removewarn, !delwarn*\n"
"• `!warnings` ou `!warnings @utilisateur`\n" "• `!warnings` ou `!warnings @utilisateur`\n"
" *Alias: !listevent, !listwarn*\n"
"Exemples:\n" "Exemples:\n"
"`!averto @User Spam`\n" "`!averto @User Spam dans le chat`\n"
"`!delaverto 12`\n" "`!delaverto 12`\n"
"`!warnings @User`" "`!warnings @User`"
) )
embed.add_field(name="⚠️ Avertissements", value=value, inline=False) embed.add_field(name="⚠️ Avertissements", value=value, inline=False)
embed.add_field( embed.add_field(
name="🔎 Inspection", 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`"), "Ex: `!inspect @User`"),
inline=False inline=False
) )
if ConfigurationHelper().getValue('moderation_ban_enable'): if ConfigurationHelper().getValue('moderation_ban_enable'):
value = ( value = (
"• `!ban @utilisateur [raison]`\n" "• `!ban @utilisateur raison`\n"
"• `!unban <discord_id>` ou `!unban #<sanction_id> [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" "• `!banlist`\n"
" Affiche la liste des utilisateurs bannis\n"
"Exemples:\n" "Exemples:\n"
"`!ban @User Toxicité`\n" "`!ban @User Comportement toxique répété`\n"
"`!unban 123456789012345678 Erreur`\n" "`!unban 123456789012345678 Erreur de modération`\n"
"`!unban #5 Appel accepté`" "`!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'): if ConfigurationHelper().getValue('moderation_kick_enable'):
value = ( value = (
"• `!kick @utilisateur [raison]`\n" "• `!kick @utilisateur raison`\n"
"Exemple: `!kick @User Spam`" " 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: try:
sent = await message.channel.send(embed=embed) sent = await message.channel.send(embed=embed)

View File

@@ -57,7 +57,7 @@
<legend>Modération</legend> <legend>Modération</legend>
<label for="moderation_enable"> <label for="moderation_enable">
<input type="checkbox" name="moderation_enable" {% if configuration.getValue('moderation_enable') %}checked="checked"{% endif %}> <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>
<label for="moderation_ban_enable"> <label for="moderation_ban_enable">
@@ -169,7 +169,7 @@
<label for="twitch_channel">Chaîne à rejoindre</label> <label for="twitch_channel">Chaîne à rejoindre</label>
<input name="twitch_channel" type="text" value="{{ configuration.getValue('twitch_channel') }}" <input name="twitch_channel" type="text" value="{{ configuration.getValue('twitch_channel') }}"
placeholder="#machinTruc" /> placeholder="#machinTruc" />
<input type="Submit" value="Définir"> <input type="Submit" value="Enregistrer la configuration Twitch">
<p> <p>
<a href="{{ url_for('twitchConfigurationHelp') }}">Aide</a> <a href="{{ url_for('twitchConfigurationHelp') }}">Aide</a>
</p> </p>
@@ -189,20 +189,22 @@
<h2>Humble Bundle</h2> <h2>Humble Bundle</h2>
<form action="{{ url_for('updateConfiguration') }}" method="POST"> <form action="{{ url_for('updateConfiguration') }}" method="POST">
<label for="humble_bundle_enable">Activer</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>
<input type="checkbox" name="humble_bundle_enable" {% if configuration.getValue('humble_bundle_enable') %}
checked="checked" {% endif %}> <label for="humble_bundle_enable">
<label>Activer les notifications Humble Bundle</label> <input type="checkbox" name="humble_bundle_enable" {% if configuration.getValue('humble_bundle_enable') %}checked="checked"{% endif %}>
<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> Activer les notifications Humble Bundle
<p>Il est possible de configurer un canal de notification pour recevoir les notifications des bundles Humble Bundle.</p> </label>
<label for="humble_bundle_channel">Canal de notification des packs Humble Bundle</label>
<label for="humble_bundle_channel">Canal de notification</label>
<select name="humble_bundle_channel"> <select name="humble_bundle_channel">
{% for channel in channels %} {% for channel in channels %}
<option value="{{channel.id}}" {% if configuration.getIntValue('humble_bundle_channel')==channel.id %} <option value="{{channel.id}}" {% if configuration.getIntValue('humble_bundle_channel')==channel.id %}selected="selected"{% endif %}>
selected="selected" {% endif %}> {{channel.name}}
{{channel.name}}</option> </option>
{% endfor %} {% endfor %}
</select> </select>
<input type="Submit" value="Définir">
<input type="Submit" value="Enregistrer la configuration Humble Bundle">
</form> </form>
{% endblock %} {% endblock %}

View File

@@ -7,13 +7,53 @@
Historique des actions de modération effectuées sur le serveur Discord. Historique des actions de modération effectuées sur le serveur Discord.
Le bot enregistre automatiquement les avertissements, exclusions et bannissements. Le bot enregistre automatiquement les avertissements, exclusions et bannissements.
Exemples de commandes :
<ul> <table>
<li><strong>!kick @utilisateur raison</strong> - !kick @Jean Spam de liens</li> <thead>
<li><strong>!ban @utilisateur raison</strong> - !ban @Marie Comportement toxique répété</li> <tr>
<li><strong>!warn @utilisateur raison</strong> - !warn @Paul Langage inapproprié</li> <th>Commande</th>
<li><strong>!unwarn @utilisateur</strong> - !unwarn @Paul</li> <th>Description</th>
</ul> </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> </p>
{% if not event %} {% if not event %}