Commandes

Les commandes préfixées utilisent !. Les slash commands sont synchronisées au démarrage si activé. Les paramètres sont bornés pour éviter les abus.

Catégorie Commande Syntaxe Paramètres Comportement Accès
Admin ping !ping / /ping Aucun Renvoie la latence du bot en millisecondes. Tout le monde
Admin purge !purge [limit] / /purge limit:<n> limit (défaut 10), borné 1..200 Supprime les messages du salon. En version préfixée, le bot purge limit + 1 messages (inclut le message de commande), puis envoie un message de confirmation qui s’auto-supprime. Administrateur
Fun roll !roll [faces] / /roll faces:<n> faces (défaut 6), borné 2..1000 Tire un entier aléatoire entre 1 et faces. En slash, la réponse est éphémère (visible uniquement par l’utilisateur). Tout le monde
Rôles addrole !addrole <nom_du_role> nom_du_role (string) Ajoute à l’auteur le rôle dont le nom correspond (comparaison insensible à la casse). Réponses possibles : “Contexte invalide”, “Rôle introuvable”, “Rôle ajouté: …”. Administrateur
Rôles removerole !removerole <nom_du_role> nom_du_role (string) Retire le rôle correspondant à l’auteur. Même logique de recherche et messages que addrole. Administrateur
Vocal join !join Aucun Rejoint le salon vocal de l’auteur (ou s’y déplace si déjà connecté). Si l’auteur n’est pas en vocal : “Tu dois être dans un canal vocal.” Tout le monde (auteur en vocal)
Vocal leave !leave Aucun Déconnecte le bot du vocal. Si non connecté : “Je ne suis pas connecté.” Tout le monde

Permissions

Les commandes sensibles sont protégées par des checks basés sur les permissions Discord. !purge, !addrole et !removerole exigent la permission “Administrateur”.

Configuration

Le bot lit config.json au démarrage et valide les champs. En cas d’erreur, il s’arrête avec un message explicite.

Clé Type Contraintes Rôle
token string non vide Token Discord du bot.
prefix string non vide Préfixe des commandes préfixées (ex. !).
sync_slash_commands bool par défaut true Active la synchronisation des slash commands.
guild_id_for_dev_sync int ou null int positif ou null Si défini, synchronise les slash commands sur un serveur précis (plus rapide en dev).
log_level string non vide (ex. INFO) Niveau de logs console.

Fonctionnement interne

Chargement des modules

Au démarrage, le bot charge automatiquement les extensions : bot.admin, bot.fun, bot.roles, bot.music. Les erreurs éventuelles sont loggées.

Synchronisation des slash commands

Si activé, le bot synchronise l’arbre de commandes. En mode dev (guild_id renseigné), la sync est faite sur le serveur cible.

Intents

Le bot active message_content (commandes préfixées) et members (rôles/permissions).

Logs

Les logs suivent le format : date | niveau | module | message. Le bot annonce aussi l’utilisateur connecté lors de on_ready.