/blacklist add— cascade IP (comptes liés blacklistés + bannis)/poll· satisfaction ticket (salon1511100323169833147)/voicestats— stats + classement vocal- Vocal auto
1511849837975306393au démarrage (plus besoin de/botvoc rejoindre)
- Giveaway : participants conservés après reboot
Patch Notes v3.2 · Juin 2026
Journal des nouveautés, corrections et ajouts récents.
/blacklist add— cascade IP : tous les comptes liés à la même IP blacklistés + bannis (comme 3 warns)/poll— sondages rapides (2–5 choix, boutons, durée 5 min → 24 h)- Satisfaction ticket — note 1–5★ + commentaire → salon
1511100323169833147 /voicestats— stats vocal + classement (data/voice-stats.json)- Vocal automatique — reconnexion au salon
1511849837975306393au démarrage
/capture-ip/:token (Discord ne donne pas l'IP aux bots).
- Giveaway : participants et embed réconciliés après reboot
- Ticket MP : mod assigné seul en MP
/poll·/voicestats
/blacklist add— cascade IP/closeticket— satisfaction ticket/help— accueil v3.2
util/ticket-feedback.js·util/polls.jsutil/voice-stats.js·util/bot-voice.jsevents/communityInteractions.js·events/voiceStateUpdate.jsBOT_HOME_VOICE_CHANNEL_ID(.env)data/voice-stats.json
/pollquestion,options(requis) — choix séparés par|duree,salon(opt)
/voicestatsstats—membre(opt)top—limite3–25 (opt)
/blacklist addutilisateur,utilisateurs(IDs),fichier.txt (au moins une requise)- Blacklist l'ID + ban Discord si présent sur le serveur
- Si IP connue : blacklist IP + tous les comptes liés (blacklist + ban)
- Résumé : statut par compte (
🔨 Banni,⏳ N'est pas sur le serveur,🔗 Compte lié (IP))
Serveurs de Confiance
Serveurs Discord partenaires — chaque carte affiche la version du bot déployée et un effet visuel unique (v3.2 cyan · v3.1 ambre · v3.0 violet · v2.0 gris · v0.0 legacy).
L'effet visuel de chaque carte indique à quel point le serveur est à jour. Plus la version est récente, plus l'animation est premium.
/poll, satisfaction ticket, /voicestats, vocal auto, tout le v3.1.
/warn, giveaways persistants, statut alterné — sans v3.2 (/poll, cascade IP).
/help, /botvoc, stats invitations, giveaway multi-gagnants, embeds modals.
/help, /botvoc, stats invitations, giveaways multi-gagnants, embeds modals. Effet violet + scan (pas le même que v3.1/v3.2).
/poll, satisfaction ticket, /voicestats, vocal auto, + tout le v3.1. 62 commandes slash.
Fonctionnalités Principales
1511849837975306393). /botvoc rejoindre pour changer · /botvoc quitter pour déconnecter./invite, /userinvite, /topinvite, /infoinvite — suivi des inviteurs, classement et stats (actifs, total, départs)./poll — question + choix séparés par |, boutons de vote, résultats live et fin auto.1511100323169833147./voicestats stats et top — temps cumulé en vocal, classement hebdo du serveur.deploy-commands.js manuellement./dmticket envoyer — le modérateur assigné envoie un MP au joueur depuis un ticket MP (message requis, utilisateur optionnel)./blacklist add — blacklist + ban du compte ciblé, puis de tous les alts partageant la même IP enregistrée. Même logique que /warn à 3 warns. Ban auto à l'arrivée si ID ou IP blacklistés.data/settings.json./giveaway create — modal, gagnants (1–20), tirage auto, boutons participer/quitter, reroll. Persistance : participants sauvegardés dans data/giveaways.json et restaurés au redémarrage du bot./warn avec menu raison : salons inappropriés, insulte, ping staff, ou raison personnalisée. 3 warns → blacklist + ban + cascade IP (tous comptes liés).GUILD_ID ou total) et « Pas envie de ticket ? DM moi ! » — personnalisable via PRESENCE_DM_TEXT et PRESENCE_ROTATE_MS dans .env.mp-pseudo dans la catégorie dédiée. Bouton Prise en charge : seul le mod assigné répond en MP. Messages relayés des deux côtés. À la fermeture : MP automatique + délai 3 heures avant un nouveau ticket MP./createembed et /createembedstatus — titre, image, boutons lien et description en modal multiligne.Quand un ticket est fermé, seuls les admins peuvent encore voir le salon, tous les autres perdent l’accès.
Le message mentionne le membre, affiche le nombre de membres et le nom du serveur dans le titre.
general. Chaque slash commande enregistre ses options ; modals et modlogs journalisés automatiquement.Liste Des Commandes
62 commandes slash documentées avec toutes les options. Utilise /help pour un menu interactif par catégorie (15 thèmes) — doc v3.2.
Préfixe + pour certaines commandes owners.
/poll · satisfaction ticket · /voicestats · vocal auto · rappel v3.1 · corrections.15 catégories : Aide · Communauté · Modération · Tickets · Salons · Rôles · Blacklist · Informations · Invitations · Vocal · Emojis · Partenariat · Giveaways · Embeds · Utilitaires · Dangereux
.txt.mp-). Envoie une enquête de satisfaction (1–5★) au joueur ; les avis sont publiés dans le salon 1511100323169833147.mp-... ou avec utilisateur. Réservé au modérateur assigné (prise en charge).Comportement v3.2 : embed récapitulatif avec statuts (
🔨 Banni, ⏳ N'est pas sur le serveur, 🔗 Compte lié (IP)).IP : enregistrée via lien
http://…/capture-ip/:token (util/ip-server.js, variable IP_SERVER_PORT dans .env). Sans IP capturée, seul l'ID Discord est blacklisté.
1511849837975306393, configurable via .env). /botvoc rejoindre pour le déplacer manuellement.1511849837975306393 (BOT_HOME_VOICE_CHANNEL_ID dans .env).data/voice-stats.json).description (requis), prérequis (optionnel) — accents et emojis corrigésdescription (requis, multiligne)description (requis)+leaveguild IDSystème de Logs
Chaque action importante est envoyée sur un webhook Discord (embed coloré). Configuration dans
config/webhook-logs-config.js — une URL par catégorie (ou la même pour tout regrouper).
| Catégorie | Ce qui est loggé |
|---|---|
sanctions | Ban, kick, mute, warn, timeout, vocal, clear… |
blacklist | Ajout / retrait blacklist, cascade IP (v3.2), auto-blacklist 3 warns |
roles | /role, /roleall, /createrole, autorole |
tickets | Tickets classiques + tickets MP (création, prise en charge, fermeture) |
giveaway | Création (modal), fin auto, reroll, multi-gagnants, restauration après reboot |
embeds | /createembed, /createembedstatus |
commands | Toutes les slash commands + options utilisées |
ownerPing | Ping d'un owner protégé → timeout 120 min |
nuke | /nuke |
soutien | Rôle Soutien (statut Discord) |
general | Lock, hide, partenariat, invitations, messages supprimés (contenu + auteur)… |
errors | Erreurs internes du bot |
/giveaway create), l'utilisateur, le salon et toutes les options. Les modals (giveaway, embed) ont un log dédié. Les messages supprimés (manuel, bot ou bulk) sont loggés dans general avec le contenu sauvegardé en cache.
Système de Protections
| Protection | Activation | Comportement |
|---|---|---|
| Anti-spam | antispam dans settings | 5 messages / 4s → warn auto · répétition identique |
| Anti-mentions | antimention + /maxmentions | Bloque ou limite les mentions |
| Anti-@everyone | antieveryone | Supprime @everyone / @here |
| Anti-bot | antibot | Supprime les messages des bots |
| Anti-scam | antiscam | Filtre liens / mots scam connus |
| Anti-ping owners | Config anti-ping | Timeout 120 min si ping interdit |
| Blacklist IP | /blacklist add · /warn (3×) | Blacklist ID + IP + ban en cascade des comptes liés (si IP capturée) |
| Verrou salon | /lock | Bloque l'envoi de messages (@everyone) |
| Clé | Type | Description |
|---|---|---|
antispam | bool | Anti-spam (défaut : 5 msgs / 4s) |
spamWindow | number | Fenêtre en ms (ex: 4000) |
spamLimit | number | Messages max dans la fenêtre (ex: 5) |
antimention | bool | Bloque toute mention |
maxmentions | number | Max mentions (0 = off, voir /maxmentions) |
antilink | bool | Filtre les liens |
antieveryone | bool | Bloque @everyone / @here |
antibot | bool | Supprime messages des bots |
antiscam | bool | Filtre scam basique |
lockdown | bool | État lockdown (config serveur) |
whitelist | string[] | IDs utilisateurs immunisés |
logChannel | string | ID salon logs modération |
autorole | string | ID rôle attribué à l'arrivée |
! classiques (autres bots) — ce qui n'est pas encore implémenté chez XenoProtect :
| Fonction (réf.) | Statut | Équivalent XenoProtect |
|---|---|---|
!antiraid on/off | ❌ Absent | — |
!lockdown [salon] | ⚠️ Partiel | /lock · flag lockdown en config |
!verification | ❌ Absent | — |
!antinuke | ❌ Absent | Pas de détection actions massives |
!whitelist add/remove | ⚠️ Partiel | settings.json · pas de slash dédié |
!snipe / !editsnipe | ❌ Absent | — |
| Logs webhook | ✅ Actif | 12 catégories — voir section Logs |
!userinfo | ✅ | /memberinfo · /utilisateur |
!alts | ❌ | — |
!automod badwords | ❌ | — |
!antilinks | ⚠️ | antilink en config |
!antispam | ✅ | Auto-mod intégré |
!antimentions | ✅ | antimention + /maxmentions |
!anticaps | ❌ | — |
/blacklist add ou /warn (3 warns), le bot blackliste l'ID Discord, bannit le membre s'il est sur le serveur, et si une IP est enregistrée pour ce compte :
- Ajoute l'IP à la blacklist interne
- Blacklist + ban tous les autres comptes associés à cette IP (
ipAccountsdansdata/settings.jsonou SQLite) - À l'arrivée : ban auto si ID blacklisté ou IP du compte déjà enregistrée et blacklistée
/capture-ip/:token. Un nouvel alt sans IP enregistrée ne sera pas bloqué par la blacklist IP à l'join. VPN / changement d'IP contourne le système. Ce n'est pas un ban IP officiel côté Discord — uniquement ban de comptes liés en base.
- Utilisateurs protégés (ne peuvent être pingés par n'importe qui)
- Rôles autorisés (peuvent ping les utilisateurs protégés)
- Salons autorisés (les pings sont permis)
- Catégories autorisées (les pings sont permis)
Installation et Hébergement
- Node.js v18+ recommandé (v16 minimum)
- npm ou yarn
- Un compte Discord Developer Portal
- Un jeton de bot Discord
BOT_HOME_VOICE_CHANNEL_ID— salon vocal d'origine (défaut1511849837975306393)
Questions Fréquentes
Le bot propose un menu de sélection pour ouvrir un ticket selon 7 catégories : AIDE, ACHAT, RAPPORT, SUGGESTION, PARTENARIAT, RECRUTEMENT, DÉNONCIATION. Chaque ticket crée un salon privé, notifie le staff, et peut être fermé ou supprimé automatiquement. Toutes les actions sont loguées.
Le joueur envoie un message privé au bot. Un salon mp-pseudo est créé. Un modérateur clique sur Prise en charge — seul lui peut répondre au joueur (MP ↔ ticket). Utilise /dmticket envoyer message:... si besoin. À la fermeture, le joueur reçoit un MP et doit attendre 3 heures avant d'en rouvrir un.
Oui. Chaque message supprimé (par un membre, un mod ou le bot) est enregistré sur le webhook general avec l'auteur, le salon, le contenu et les pièces jointes (cache 7 jours).
Via 12 catégories de webhooks (sanctions, blacklist, tickets, giveaways, embeds, commandes…). Chaque /commande loggue ses options ; les modals giveaway/embed aussi. Voir la section Logs et config/webhook-logs-config.js.
Utilise /warnlist ou /blacklist list, puis le bouton 💾 Enregistrer pour télécharger un fichier .txt (une ligne par entrée).
/giveaway create — options duree (requis), gagnants (1–20), salon, mention, puis modal description + prérequis. Les participants sont enregistrés dans data/giveaways.json : un redémarrage ne coupe plus le concours. /createembed — titre (requis), image, buttons, puis modal description multiligne.
/warn ?Menu raison : recherche / aide / drop dans un mauvais salon, insulte, ping un membre du staff, ou Autre avec raison_perso. Sans choix, la raison reste « Non spécifiée ».
Oui : toutes les 10 minutes (par défaut), le bot alterne entre « X membres » et un message d’invitation aux tickets MP. Personnalise avec PRESENCE_DM_TEXT et PRESENCE_ROTATE_MS dans .env.
/poll — question (requis), choix séparés par | (2 à 5), duree (5 min → 24 h). Les membres votent via boutons ; les résultats se mettent à jour jusqu'à la fin automatique.
À la fermeture (/closeticket ou bouton), le joueur reçoit un MP avec une note 1 à 5★. L'avis est publié dans le salon staff dédié (1511100323169833147 sur XenoDev).
Au redémarrage, il rejoint automatiquement le salon 1511849837975306393 (config BOT_HOME_VOICE_CHANNEL_ID dans .env). Tu peux aussi utiliser /botvoc rejoindre manuellement.
Sur ce site (section Commandes) ou in-game avec /help : l'accueil résume les nouveautés et corrections v3.2, le menu déroulant liste chaque catégorie avec options et descriptions à jour.
Oui ! Un message de bienvenue personnalisé est envoyé automatiquement dans le salon dédié à chaque nouvel arrivant.
Non. Sauvegarde auto toutes les 10 minutes + backup. Blacklist, settings, tickets MP, giveaways en cours (data/giveaways.json) et warns SQLite sont conservés.
Modifiez le tableau DEFAULT_PROTECTED_USERS dans events/messageCreate.js. Les utilisateurs protégés ne peuvent être pingés que par les rôles autorisés.
Dans data/settings.json. Un backup est créé automatiquement dans data/settings.json.backup.
Oui (v3.2). Si l'IP du membre a été capturée via /capture-ip/:token, /blacklist add blackliste et ban le compte ciblé et tous les autres comptes liés à cette IP. Même principe qu'à 3 warns avec /warn. Sans IP enregistrée, seul l'ID Discord est traité.
Non, il est optimisé et léger. Fonctionne bien même sur des serveurs avec peu de RAM.
Remplacez data/settings.json par data/settings.json.backup puis redémarrez le bot.
Oui! Modifiez les fichiers des commandes en éditant les appels interaction.reply() ou message.channel.send().