📚 Guide des commandes
Cette page détaille **toutes les commandes slash** du bot Discord GuerreRP (Admin / Lootbox / Season Pass),
leur utilité,
les permissions nécessaires,
les options attendues,
des exemples d’utilisation.
🧰 Commandes générales
/Ping
Rôle : Vérifier si le bot répond correctement.
Permission : Utilisable uniquement par les IDs listés dans
config.perm.Comportement :
Répond avec un message simple de type :
Pong! Bot GuerreRP développé par Ducratif.
Peut être utilisé pour vérifier que :
le bot est bien en ligne,
la connexion au serveur Discord est fonctionnelle.
Exemple d’utilisation :
Utilise
/pingaprès un redémarrage du bot pour vérifier qu’il est opérationnel.
👥 Outils Discord & Bienvenue
Welcome (Automatique)
Welcome (Automatique)Ce n’est pas une commande, mais un comportement automatique.
Event :
guildMemberAddComportement :
Lorsqu’un nouveau membre rejoint :
Le bot envoie un DM avec
config.dmWelcomeMessage(si les MP sont ouverts).Le bot envoie un message dans
config.welcomeChannelIdavecconfig.welcomeChannelMessage.
Le placeholder
{user}est remplacé par une mention du membre.
Effet visible :
DM : “Bienvenue sur GuerreRP ! …”
Salon public : “🎉 Bienvenue @Pseudo sur GuerreRP ! …”
/rolebutton
/rolebuttonEnvoie un embed avec un bouton permettant aux membres d’obtenir (ou retirer) un rôle.
Permission requise : Administrateur (ou équivalent, selon Discord).
Utilité :
Créer un message “Clique pour obtenir le rôle X”.
Pratique pour les rôles d’accès, notifications, événements, etc.
Options
salon
Salon texte
✅
Salon où sera envoyé l’embed + bouton.
titre
Texte
✅
Titre de l’embed.
description
Texte
✅
Description de l’embed.
couleur
Texte
❌
Couleur hex (ex: #2f3136), sinon config par défaut.
bouton
Texte
❌
Texte affiché sur le bouton.
role
Rôle
❌
Rôle à attribuer. Sinon : config.roleId.
Fonctionnement
Le bot envoie un embed dans le salon cible.
Un bouton est ajouté sous l’embed.
Lorsqu’un membre clique :
S’il n’a pas le rôle → le rôle lui est ajouté.
S’il a déjà le rôle → le rôle lui est retiré.
Exemple d’utilisation :
/rolebutton salon:#rôles titre:"Notifications" description:"Clique pour recevoir les annonces" bouton:"Recevoir les annonces" role:@Annonces
📦Gestion des caisses (LootBoxes)
Toutes ces commandes sont réservées aux IDs présents dans config.perm.
/createbox
/createboxCréer une nouvelle caisse via un formulaire (modal).
Utilité :
Ajouter une nouvelle lootbox dans la DB (
lootboxes) sans passer par SQL.
Fonctionnement :
Lorsque la commande est exécutée :
Le bot ouvre un modal avec plusieurs champs :
Nom de la caisse
Description courte
Description longue
Image (URL)
Catégorie
Tags (séparés par des virgules)
Les valeurs sont insérées dans la table
lootboxes.
Exemple d’utilisation :
/createbox→ remplit le formulaire → valide → la caisse est créée en base.
/editbox
/editboxModifier une caisse existante.
Options
id
Nombre
✅
ID de la caisse à modifier.
Fonctionnement
Le bot récupère la caisse dans
lootboxes.Affiche un embed récapitulatif :
Nom, descriptions, image
Catégorie
Tags
Statut (active/inactive)
Ajoute une rangée de 3 boutons :
⚙️ Général→ modification des infos générales (nom, description, image, etc.).🎁 Items→ gestion des items (lootbox_contents).💳 Paiements→ gestion des moyens de paiement (lootbox_payments).
Les boutons ouvrent chacun un modal géré dans interactionHandler.js.
/duplicatebox
/duplicateboxDupliquer une caisse et l’ensemble de son contenu/paiements.
Options
id
Nombre
✅
ID de la caisse à dupliquer.
Fonctionnement
Copie la ligne
lootboxescorrespondante.Copie les lignes associées dans :
lootbox_contentslootbox_payments
La caisse dupliquée est généralement :
Marquée comme inactive par défaut.
Renommée (ex : ajouter “(Dupliquée)”).
Exemple d’utilisation :
/duplicatebox id:12→ crée une nouvelle caisse basée sur l’ID 12 pour une édition rapide.
/infobox
/infoboxAfficher toutes les infos détaillées d’une caisse.
Options
id
Nombre
✅
ID de la caisse ciblée.
Fonctionnement
Récupère :
lootboxes(infos générales),lootbox_contents(items),lootbox_payments(paiements).
Affiche un embed avec :
Nom, descriptions, image
Catégorie, tags
Statut (active/inactive)
Liste des moyens de paiement (type, valeur, etc.)
Liste des items (item, quantité, rareté)
/listboxes
/listboxesLister toutes les caisses avec pagination.
Fonctionnement
Récupère la liste des caisses depuis
lootboxes(tri par ID décroissant).Paginer la liste par blocs (par ex. 10 caisses par page).
Affiche un embed du type :
Ajoute des boutons :
⬅️ Page précédente
➡️ Page suivante
Les interactions sont gérées dans
componentHandler.js.
/givebox
/giveboxAttribuer une caisse à un joueur.
Options
boxid
Nombre
✅
ID de la caisse à donner.
joueur
Utilisateur
✅
Utilisateur Discord cible.
Fonctionnement
Vérifie que la caisse existe dans
lootboxes.Récupère le lien Discord ↔ personnage dans la table
discord_users:discord_id= ID de l’utilisateur Discord.
Plusieurs cas :
Aucun personnage trouvé → le bot répond :
“Le joueur doit se connecter au serveur au moins une fois…”
Un seul personnage → attribution directe dans
lootbox_rewards.Plusieurs personnages :
Le bot affiche un select menu listant les personnages.
Une fois le personnage choisi, la caisse est ajoutée à ce personnage.
/removebox
/removeboxRetirer une caisse non ouverte liée à un Discord.
Options
discordid
Texte
✅
ID Discord du joueur cible.
Fonctionnement
Récupère tous les
identifierliés à cediscord_iddansdiscord_users.Pour chaque identifier, cherche les caisses non réclamées dans
lootbox_rewards.Propose un ou plusieurs select menus pour choisir quelle caisse retirer.
L’action finale (suppression / update de reward) est gérée par
componentHandler.js.
🎟️ Gestion du Season Pass
Toutes les commandes Season Pass sont également réservées aux IDs de config.perm.
/createsaison
/createsaisonCréer une nouvelle saison de Saison Passe.
Fonctionnement
Ouvre un modal contenant :
Nom de la saison
Description
Niveau max (
max_level)Date de début
Date de fin
Insère ces informations dans
lootbox_saisonpasse.
/viewsaison
/viewsaisonVoir et gérer les saisons existantes (avec pagination).
Fonctionnement
Récupère toutes les saisons depuis
lootbox_saisonpasse.Affiche un embed paginé (par exemple, 5 saisons par page) :
ID, nom, dates, max_level, statut actif/terminé.
Ajoute des boutons :
⬅️ / ➡️ pour naviguer entre les pages.
Ajoute éventuellement des boutons de gestion :
Modifier une saison
Supprimer une saison
Les interactions sont gérées côté
componentHandler.js.
/addsaisonreward
/addsaisonrewardAjouter une récompense à une saison.
Options
saison_id
Nombre
✅
ID de la saison visant la reward.
Fonctionnement
Vérifie que la saison existe (
lootbox_saisonpasse).Ouvre une interface (select + modal) pour :
choisir le niveau de la récompense,
définir :
label(nom affiché),reward_type(type de reward),reward_value(valeur associée),amount(quantité),challenge_key(optionnel, si lié à un défi).
Insère dans
lootbox_saisonpass_rewards.
/viewsaisonrewards
/viewsaisonrewardsVoir et gérer les récompenses d’une saison.
Options
saison_id
Nombre
✅
ID de la saison à inspecter.
Fonctionnement
Récupère les rewards liées à la saison dans
lootbox_saisonpass_rewards.Affiche un embed paginé avec :
niveau, nom, type, valeur, quantité, challenge lié éventuel.
Ajoute des boutons :
⬅️ / ➡️ pour la pagination,
✏️ Modifierpour éditer une reward,🗑️ Supprimerpour la supprimer.
Les actions sont gérées côté
componentHandler.jsetinteractionHandler.js.
/addchallenge
/addchallengeAjouter un nouveau challenge de Saison Passe.
Fonctionnement
Ouvre un modal avec :
challenge_key→ clé unique (ex:kill_player,win_paintball),challenge_label→ nom affiché dans l’UI du Season Pass,challenge_data→ objectif numérique (ex:10,50, etc.).
Insère un nouveau challenge dans
lootbox_saisonpass_challenges.
/listchallenge
/listchallengeLister tous les challenges disponibles.
Fonctionnement
Récupère tous les challenges :
id,key,label,type,data.
Affiche un embed paginé :
Chaque challenge est affiché avec ses infos.
Boutons :
⬅️ / ➡️ pour naviguer,
éventuellement un bouton pour changer l’ordre (par type, par date, etc.).
La construction d’embed est factorisée pour être réutilisée dans d’autres interactions.
/viewsaisonlogs
/viewsaisonlogsConsulter les logs de progression / récompenses du Season Pass.
Fonctionnement
Ouvre un select menu proposant :
Discord IDCFX Identifier
Une fois le type choisi, le bot demande l’ID ou l’identifier.
Récupère dans
lootbox_saisonpass_logstoutes les entrées associées au joueur (progression, niveaux atteints, récompenses prises, etc.).Affiche un ou plusieurs embeds avec les logs.
🛡️ Modération / Lien compte
/ban_discord
/ban_discordBannir / débannir un utilisateur au niveau de la logique DB (pas un ban Discord classique).
Fonctionnement
Ouvre un select menu :
Discord IDCFX Identifier
Selon le choix :
Le bot demande la valeur (ID Discord ou identifier CFX).
Cherche dans
discord_userset/ou la table de bans.Applique un ban logique (ou un débannissement) selon l’action choisie.
Utilisé pour synchroniser les sanctions entre Discord et la base GuerreRP.
🔁 Résumé d’utilisation
En pratique, le staff utilisera :
Pour tester le bot :
/ping
Pour l’accueil & rôles :
/rolebutton(welcome & DM auto via events)
Pour les lootboxes :
/createbox→ créer/editbox→ modifier/duplicatebox→ dupliquer/infobox→ voir une caisse/listboxes→ lister/givebox→ donner une caisse à un joueur/removebox→ retirer une caisse non ouverte
Pour le Season Pass :
/createsaison→ créer une saison/viewsaison→ voir les saisons/addsaisonreward→ ajouter une reward/viewsaisonrewards→ gérer les rewards/addchallenge→ créer un challenge/listchallenge→ lister les challenges/viewsaisonlogs→ consulter les logs d’un joueur
Pour la modération liée à la DB :
/ban_discord→ ban / unban logique par Discord ID ou CFX.
Cette page sert de référence rapide pour tout le staff qui utilise le bot.
Mis à jour
Ce contenu vous a-t-il été utile ?
