Un bot anti-spam Discord surveille la vitesse à laquelle un membre publie, s'il répète le même message et le nombre de personnes qu'il mentionne en une fois. Dès qu'il dépasse une limite que vous avez définie, il le met automatiquement en sourdine. Bien configuré, il arrête les bots de raid et les spammeurs en quelques secondes, sans toucher à un membre qui discute simplement vite. Ce guide détaille ce qui est considéré comme du spam, le fonctionnement des seuils et des timeouts de Noxyr, et la manière de les ajuster pour que les vrais membres ne soient jamais pris dans le filet.

A burst of repeated messages fills a rate meter until it trips and the sender is timed out. rate limit TRIP Timed out

Qu'est-ce qui est considéré comme du spam ?

La plupart des dispositifs anti-spam sur Discord surveillent trois schémas distincts, et chacun peut déclencher une réaction à lui seul :

  • Débit de messages : trop de messages d'une même personne dans un court laps de temps. Cela détecte les inondations par copier-coller et les comptes de raid automatisés.
  • Contenu en double : le même message (ou un message presque identique) envoyé en boucle. Cela détecte le schéma « rejoindre et coller le même lien d'arnaque dans cinq salons ».
  • Mentions de masse : un seul message qui mentionne bien plus d'utilisateurs ou de rôles qu'un message normal ne le ferait, y compris @everyone et @here.

Un membre n'a besoin de déclencher qu'un seul de ces trois schémas. Quelqu'un qui envoie six messages normaux à la suite, sans jamais répéter de contenu ni mentionner qui que ce soit, reste totalement épargné.

Fonctionnement des seuils et des timeouts anti-spam de Noxyr

Noxyr suit une fenêtre glissante pour chaque membre, sur chaque serveur. Chaque message envoyé par ce membre dans la fenêtre y est ajouté ; tout ce qui est plus ancien que la durée de la fenêtre en sort automatiquement. Trois vérifications sont effectuées sur cette fenêtre à chaque nouveau message :

  • Messages maximum / fenêtre : si le membre a envoyé plus de messages que le nombre configuré dans la fenêtre (par défaut : plus de 6 en 8 secondes), c'est un déclenchement pour débit.
  • Limite de doublons : avant comparaison, le contenu est débarrassé de ses espaces superflus, mis en minuscules et les espaces multiples sont réduits. « Bonjour !! » et « bonjour !! » comptent donc comme le même message. Une fois ce nombre de doublons atteint dans la fenêtre (par défaut : 4), c'est un déclenchement.
  • Limite de mentions : Noxyr compte les utilisateurs et les rôles mentionnés dans le message. Si le message mentionne @everyone ou @here, 100 est ajouté à ce compte, ce qui garantit un déclenchement quelle que soit votre limite, car personne ne fixe une limite de mentions aussi élevée.

La première vérification déclenchée lance la réaction ; le bot n'attend pas de voir si une seconde vérification se déclencherait aussi. Lorsque cela se produit, deux choses peuvent arriver selon vos réglages :

  • Timeout : le membre est mis en sourdine pendant le nombre de minutes configuré (10 par défaut, jusqu'à 7 jours depuis la commande, plafonné au maximum de 28 jours de Discord). Cela ne se produit que si le rôle du bot est placé au-dessus de celui du membre, comme pour toute autre action de modération.
  • Suppression des messages : si cette option est activée (par défaut), le bot supprime jusqu'aux 10 derniers messages suivis de ce membre dans le salon où le déclenchement a eu lieu. Il ne recherche pas les messages publiés par le membre dans d'autres salons pendant la même rafale.

Après un déclenchement, la fenêtre de ce membre est remise à zéro. Ainsi, une seule rafale ne déclenche qu'une seule action, et non une action par message au-delà de la limite.

Configuration

Tout ce qui précède se règle avec /security antispam ou sur la page Sécurité du tableau de bord :

  • enabled : l'anti-spam est désactivé par défaut, même lorsque le module Sécurité lui-même est activé. Ainsi, activer le module ne commence jamais à modérer quelqu'un par surprise.
  • max_messages et window_seconds : la limite de débit et la durée de la fenêtre.
  • duplicate_limit : le nombre de répétitions à partir duquel le message est considéré comme du spam.
  • mention_limit : le nombre de mentions dans un même message à partir duquel il est considéré comme une mention de masse.
  • timeout_minutes : la durée de la mise en sourdine.
  • delete_messages : indique si le spam est également nettoyé.

/security status affiche en un seul embed les valeurs actuelles de l'anti-spam et de l'anti-nuke. C'est le moyen le plus rapide de vérifier ce qui est réellement actif avant de modifier quoi que ce soit.

Éviter les faux positifs

Un filtre anti-spam qui met en sourdine de vrais membres pousse les gens à partir. Quelques éléments évitent cela :

  • Les administrateurs sont exemptés automatiquement. Toute personne disposant de la permission Administrateur, ou d'un rôle que vous avez ajouté comme rôle administrateur sur le tableau de bord, est totalement ignorée. Les annonces et les pings de giveaway publiés par le staff ne déclenchent jamais la limite de mentions.
  • Les messages des bots et des webhooks ne sont jamais analysés. Seuls les messages humains passent par la vérification anti-spam. Un webhook d'annonce ou un autre bot qui publie rapidement dans un salon de journalisation ne pose donc pas de problème.
  • Augmentez la fenêtre avant d'augmenter le nombre. Si les personnes qui écrivent vite dans un salon général très actif s'approchent de la limite de débit, élargir un peu window_seconds (par exemple de 8 à 12) est généralement plus doux qu'augmenter max_messages. Cela laisse plus de place aux échanges normaux de la conversation sans ouvrir davantage la porte à une vraie inondation.
  • Surveillez duplicate_limit avec les contenus types. Les communautés qui utilisent des modèles copiés-collés (annonces LFG, macros de tickets, réponses de candidature) peuvent frôler la vérification des doublons. Augmentez légèrement la limite plutôt que de désactiver complètement la détection des doublons.
  • Désactivez delete_messages pendant les réglages. Avec la suppression désactivée, le spam est tout de même mis en sourdine, mais les messages restent visibles. Il est alors beaucoup plus simple de voir exactement ce qui a déclenché le filtre et d'ajuster les chiffres sur la base de preuves réelles.
  • Aucun embed d'alerte n'est actuellement publié pour les déclenchements anti-spam, contrairement à l'anti-nuke. Le journal d'audit de Discord enregistre tout de même chaque timeout appliqué par le bot. Consultez-le (ou /security status pour les réglages actuels) si vous voulez examiner ce qui s'est passé.

Bot anti-spam Discord ou AutoMod intégré à Discord ?

L'AutoMod natif de Discord peut bloquer les messages contenant des liens de type spam ou des mots-clés signalés, et il dispose de sa propre règle contre le spam de mentions, le tout configurable dans les Paramètres du serveur. Il est vraiment utile et ne coûte rien à activer. Là où il reste en deçà d'un bot anti-spam dédié, c'est que chaque protection est une règle distincte, à construire une par une dans l'éditeur de règles, et qu'aucune ne suit le comportement global d'un membre sur plusieurs messages, contrairement à une fenêtre glissante par membre. AutoMod réagit à un message isolé ; il n'a pas de notion native du type « cette personne a envoyé six messages en huit secondes » ou « c'est la quatrième copie du même message dans la minute ».

Un filtre basé sur un bot, comme celui de Noxyr, regroupe la limitation de débit, la détection des doublons et les limites de mentions derrière un seul interrupteur. Il applique les mêmes exemptions d'administrateur partout et vous offre un seul endroit (le tableau de bord ou /security status) pour voir et modifier tous les chiffres à la fois, au lieu d'une pile de règles indépendantes. Utiliser les deux n'est pas un conflit. Les filtres de mots-clés et de liens d'AutoMod détectent des choses qu'un filtre basé sur le débit ne verra jamais, et un filtre anti-spam par membre détecte des schémas d'inondation que AutoMod n'est pas conçu pour suivre.

Questions fréquentes

L'anti-spam est-il activé par défaut ? Non. Le module Sécurité est activé par défaut, mais l'anti-spam lui-même doit être activé séparément avec /security antispam enabled:True ou depuis le tableau de bord.

Le système va-t-il mettre en sourdine un modérateur qui spamme des réactions ou des réponses rapides ? Non, s'il dispose de la permission Administrateur ou d'un rôle administrateur configuré. Ajoutez le staff de confiance à vos rôles administrateurs depuis la page Rôles du tableau de bord, s'il ne dispose pas déjà de la permission Administrateur.

Supprime-t-il les messages dans tous les salons où le membre a publié ? Non, seulement dans le salon où le déclenchement a eu lieu, et uniquement jusqu'aux 10 derniers messages suivis dans ce salon.

Quelle est la différence entre ceci et l'anti-nuke ? L'anti-spam surveille les messages des membres ordinaires. L'anti-nuke surveille les actions destructrices de niveau administrateur, comme la suppression en masse de salons ou de rôles. Ils se configurent séparément et peuvent fonctionner indépendamment. Consultez le guide complet de l'anti-nuke pour la seconde moitié du module Sécurité de Noxyr.

Puis-je définir des limites différentes par salon ? Pas actuellement : les limites s'appliquent à l'ensemble du serveur, même si la suppression ne touche que le salon où la rafale a eu lieu.

L'anti-spam est un seul interrupteur dans le module Sécurité gratuit de Noxyr, aux côtés de l'anti-nuke, de la vérification et des journaux de modération. Ajoutez Noxyr gratuitement et activez-le depuis la documentation sécurité, ou lisez la page complète des fonctionnalités du bot de sécurité pour tout ce que couvre le module.