discord.js v14 · node.js · rp server

UnioraBot

Le bot Discord tout-en-un conçu pour votre serveur RP. Tickets, XP, boutique, modération et bien plus.

20+ Commandes
5 Catégories tickets
6 Modules
24/7 Pterodactyl
Node.js 21 discord.js v14 Pterodactyl JSON storage Slash commands
Défiler

Tout ce dont votre
serveur a besoin.

UnioraBot regroupe en un seul bot tout ce qu'un serveur RP attend : gestion, animation et récompenses.

🎫
Tickets avancés
5 catégories distinctes (Recrutement, Entreprise, Gang, Boutique, En jeu). Dossiers Discord créés automatiquement. Formulaires, liens, claim, transfert, notation post-fermeture.
Système XP & Niveaux
Les membres gagnent de l'XP en chattant (cooldown 1 min). Passage de niveau automatique avec annonce dans le salon. Commande /niveau pour consulter sa progression.
💰
Boutique & Crédits
50 crédits gagnés à chaque passage de niveau. Boutique configurable via shop.json. Les codes cadeaux sont envoyés automatiquement en MP lors d'un rachat.
👋
Bienvenue
Embed de bienvenue automatique dans un salon dédié à chaque arrivée. Affiche l'avatar, la date de création du compte et le numéro de membre.
🎭
Rôles automatiques
Panel de boutons cliquables pour s'attribuer ou retirer des rôles. Configurable via roles.json. Jusqu'à 25 rôles par panel.

Toutes les commandes.

Toutes les commandes utilisent le système de slash commands Discord. Les commandes staff nécessitent le rôle configuré.

🎫 Tickets
/setup-tickets Envoie le panel d'ouverture de tickets dans le salon actuel STAFF
/fermer Ferme le ticket actuel (délai 5s + envoi notation en MP) STAFF
/ajouter @membre Ajoute un membre dans le ticket actuel TICKET
/retirer @membre Retire un membre du ticket actuel TICKET
/stats Statistiques globales (tickets ouverts/fermés, note moyenne, temps de résolution) STAFF
⭐ XP & Crédits
/niveau [@membre] Affiche le niveau XP et la barre de progression d'un membre TOUS
/solde [@membre] Affiche le solde de crédits et le nombre de récompenses accessibles TOUS
/boutique Liste toutes les récompenses disponibles avec leur prix en crédits TOUS
/réclamer <id> Échange des crédits contre une récompense — code envoyé en MP TOUS
ℹ️ Informations
/userinfo [@membre] Profil complet : ID, rôles, date d'arrivée, crédits TOUS
/serverinfo Informations détaillées sur le serveur (membres, salons, rôles...) TOUS
/avatar [@membre] Affiche l'avatar en grand format TOUS
📢 Animation
/annonce Envoie un embed personnalisé dans un salon choisi (couleur, @everyone optionnel) STAFF
/sondage <question> Lance un vote Oui/Non/Abstention avec résultats en temps réel STAFF
/event Publie un événement RP avec titre, description, date et lieu STAFF
/rappel <message> <temps> Rappel personnel en MP après X minutes/heures/jours (max 7j) TOUS
/setup-roles Envoie le panel de rôles automatiques avec boutons cliquables STAFF

Mise en place
sur Pterodactyl.

Le bot tourne sur un egg Node.js générique. La configuration complète prend moins de 10 minutes.

1
Créer le bot sur Discord
Rendez-vous sur discord.com/developers/applications → New Application → Bot. Activez les 3 intents : Presence, Server Members et Message Content. Copiez le token généré.
2
Inviter le bot sur le serveur
OAuth2 → URL Generator → Cocher bot + applications.commands + permission Administrator. Ouvrir le lien généré et sélectionner le serveur.
3
Configurer Pterodactyl
Créer un serveur avec l'egg Node.js Generic. Paramètres recommandés :
Startup : node index.js
Install : npm install
RAM : 512 MB
Node : v21+
4
Upload & configurer
Uploader les fichiers index.js, config.json, package.json, roles.json et shop.json. Remplir config.json avec vos IDs Discord.
5
Lancer et initialiser
Cliquer sur Reinstall (exécute npm install), puis Start. Le bot créé automatiquement les 5 dossiers de tickets. Taper /setup-tickets dans le salon souhaité.
⚠️
Activer le Mode Développeur Discord
Pour copier les IDs de serveur, salons et rôles, activez le Mode développeur dans Paramètres Discord → Avancé → Mode développeur. Ensuite, clic droit sur n'importe quel élément → Copier l'identifiant.

Structure du projet.

Tous les fichiers de données sont en JSON, lisibles et modifiables directement depuis Pterodactyl.

⚙️
config.json
Token, IDs du serveur, salon de logs, salon de bienvenue, lien formulaire.
À CONFIGURER
🎭
roles.json
Liste des rôles disponibles dans le panel boutons. Ajouter label, emoji et roleId.
À CONFIGURER
🛍️
shop.json
Récompenses de la boutique. Définir id, nom, prix, description et codes.
À CONFIGURER
📊
stats.json
Statistiques des tickets : ouvertures, fermetures, temps de résolution, notations.
AUTO-GÉNÉRÉ
xp.json
Données XP et niveaux de chaque membre. Mis à jour à chaque message.
AUTO-GÉNÉRÉ
💰
wallet.json
Solde de crédits de chaque membre. Alimenté automatiquement par les passages de niveau.
AUTO-GÉNÉRÉ
reminders.json
Rappels en attente. Rechargés automatiquement si le bot redémarre.
AUTO-GÉNÉRÉ
🤖
index.js
Code principal du bot. Contient tous les modules et commandes.
FICHIER PRINCIPAL
shop.json
[
  {
    "id": "nitro1",
    "name": "Discord Nitro 1 mois",
    "emoji": "💎",
    "price": 500,
    "codes": ["CODE-XXXX-1", "CODE-XXXX-2"]
  }
]