Anti-spam bot pro Discord sleduje, jak rychle člen píše, zda opakuje stejnou zprávu a kolik lidí zmiňuje najednou. Jakmile překročí limit, který jste nastavili, automaticky mu dá časový limit. Když je to uděláno dobře, zachytí roboty z nájezdů a záplavové zprávy během sekund, aniž by se dotkl člena, který jen rychle píše. Tento průvodce ukáže přesně, co se počítá jako spam, jak prahové hodnoty a časové limity Noxyru fungují pod kapotou a jak je doladit, aby skuteční členové nikdy nebyli chyceni.
Co se počítá jako spam?
Většina nastavení anti-spamu na Discordu sleduje tři různé vzory a kterýkoli z nich může spustit reakci sám o sobě:
- Rychlost zpráv: příliš mnoho zpráv od jedné osoby v krátkém okně. Zachytí to záplavy zkopírovaných zpráv a skriptované účty z nájezdů.
- Duplicitní obsah: stejná zpráva (nebo téměř stejná) odeslaná znovu a znovu. Zachytí to vzor „připojím se a vložím stejný podvodný odkaz do pěti kanálů“.
- Hromadné zmínky: jediná zpráva, která pingne výrazně víc uživatelů nebo rolí, než by běžná zpráva, včetně
@everyonea@here.
Člen potřebuje spustit jen jeden z těchto tří. Někdo, kdo pošle šest normálních zpráv za sebou, ale nikdy neopakuje obsah a nikoho nezmiňuje, zůstane úplně nedotčen.
Jak fungují prahové hodnoty a časové limity anti-spamu Noxyru
Noxyr sleduje klouzavé okno pro každého člena na každém serveru. Každá zpráva, kterou člen odešle v rámci okna, se do něj přidá; cokoli starší než délka okna automaticky vypadne. Při každé nové zprávě proti tomuto oknu běží tři kontroly:
- Maximum zpráv / okno: pokud člen v okně odeslal víc zpráv, než je nastaveno (výchozí: více než 6 za 8 sekund), jde o spuštění kvůli rychlosti.
- Limit duplicit: obsah se před porovnáním zkrátí, převede na malá písmena a sloučí se přebytečné mezery, takže „Ahoj!!“ a „ahoj!!“ se počítají jako stejná zpráva. Jakmile se v okně objeví tolik duplicit (výchozí: 4), jde o spuštění.
- Limit zmínek: Noxyr počítá zmíněné uživatele a role ve zprávě. Pokud zpráva pinguje
@everyonenebo@here, k počtu se přičte 100, což zaručeně spustí reakci bez ohledu na nastavený limit, protože nikdo nenastavuje limit zmínek ani zdaleka tak vysoko.
První kontrola, která se spustí, vyvolá reakci; bot nečeká, jestli by se spustila i druhá. Když k tomu dojde, mohou se podle nastavení stát dvě věci:
- Časový limit: člen dostane časový limit na nastavený počet minut (výchozí 10, z příkazu až 7 dní, s maximem 28 dní, které stanoví Discord). K tomu dojde jen tehdy, když je role bota nad rolí člena, stejně jako u jakékoli jiné moderační akce.
- Mazání zpráv: pokud je zapnuto (ve výchozím stavu ano), bot smaže až posledních 10 sledovaných zpráv tohoto člena v kanálu, kde ke spuštění došlo. Nehledá zprávy, které člen během stejné vlny napsal v jiných kanálech.
Po spuštění se okno tohoto člena vynuluje, takže jedna vlna spustí jen jednu akci, a ne jednu za každou zprávu nad limit.
Nastavení
Všechno výše se nastavuje příkazem /security antispam nebo na stránce Zabezpečení na dashboardu:
- enabled: anti-spam je ve výchozím stavu vypnutý, i když je samotný modul Zabezpečení zapnutý, takže zapnutí modulu nikdy nezačne nikoho moderovat bez varování.
- max_messages a window_seconds: rychlostní limit a délka okna.
- duplicate_limit: kolik opakování znamená spam.
- mention_limit: kolik pingů v jedné zprávě znamená hromadnou zmínku.
- timeout_minutes: jak dlouho časový limit trvá.
- delete_messages: zda se spam také uklidí.
/security status ukáže aktuální hodnoty pro anti-spam i anti-nuke v jednom embedu, což je nejrychlejší způsob, jak zkontrolovat, co je opravdu aktivní, než cokoli změníte.
Jak se vyhnout falešným poplachům
Filtr spamu, který dává časové limity skutečným členům, naučí lidi odejít. Několik věcí tomu brání:
- Admini jsou automaticky vyjmuti. Každý s oprávněním Správce nebo rolí, kterou jste na dashboardu přidali jako admin roli, je úplně přeskočen. Oznámení a pingy k giveawayům, které zveřejní personál, nikdy nespustí limit zmínek.
- Zprávy botů a webhooků se nikdy nekontrolují. Anti-spam kontroluje jen zprávy od lidí, takže oznamovací webhook nebo jiný bot, který rychle píše do logovacího kanálu, není problém.
- Nejdřív zvyšte okno, až potom počet. Pokud se rychlí pisatelé v rušném obecném kanálu blíží rychlostnímu limitu, mírné rozšíření
window_seconds(třeba z 8 na 12) bývá šetrnější než zvyšovánímax_messages, protože dá běžné konverzaci víc prostoru, aniž by výrazně otevřelo dveře skutečné záplavě. - Hlídejte duplicate_limit u šablonového obsahu. Komunity, které používají šablony zkopírované z jiných míst (příspěvky LFG, makra tiketů, odpovědi v přihláškách), mohou narazit na kontrolu duplicit. Zvyšte limit trochu, místo abyste detekci duplicit úplně vypnuli.
- Při ladění vypněte delete_messages. S vypnutým mazáním spam dostane časový limit, ale zprávy zůstanou viditelné, a je tak mnohem snazší vidět přesně, co filtr spustilo, a upravit čísla podle skutečných důkazů.
- Spuštění anti-spamu zatím neposílá upozorňovací embed jako u anti-nuke. Vlastní protokol auditu Discordu pořád zaznamenává každý časový limit, který bot udělil, takže se tam podívejte (nebo na
/security statuspro aktuální nastavení), pokud chcete zpětně zjistit, co se stalo.
Anti-spam bot pro Discord vs. vestavěný AutoMod Discordu
Nativní AutoMod Discordu umí blokovat zprávy obsahující odkazy podobné spamu nebo označená klíčová slova a má vlastní pravidlo pro spam zmínkami, vše nastavitelné v Nastavení serveru. Je opravdu užitečný a zapnutí nic nestojí. Kde nestačí oproti specializovanému anti-spam botovi pro Discord, je to, že každá ochrana je samostatné pravidlo, které vytváříte jedno po druhém v editoru pravidel, a žádné z nich nesleduje celkové chování člena napříč zprávami tak, jak to dělá klouzavé okno pro každého člena. AutoMod reaguje na jednotlivou zprávu izolovaně; nemá nativní pojem „tenhle člověk poslal šest zpráv za osm sekund“ nebo „tohle je čtvrtá kopie stejné zprávy za tuhle minutu“.
Filtr založený na botovi, jako je Noxyrův, spojuje omezení rychlosti, detekci duplicit a limity zmínek za jeden přepínač, uplatňuje všude stejné výjimky pro adminy a dává vám jedno místo (dashboard nebo /security status), kde vidíte a měníte všechna čísla najednou, místo hromady nezávislých pravidel. Běh obou současně není konflikt. Filtry klíčových slov a odkazů v AutoModu chytí věci, které filtr založený na rychlosti nikdy nezachytí, a anti-spam filtr pro jednotlivé členy chytí vzory záplav, které AutoMod nesleduje.
Časté otázky
Je anti-spam ve výchozím stavu zapnutý? Ne. Modul Zabezpečení je zapnutý ve výchozím stavu, ale samotný anti-spam se musí zapnout zvlášť příkazem /security antispam enabled:True nebo na dashboardu.
Dá časový limit moderátorovi, který spamuje reakcemi nebo rychlými odpověďmi? Ne, pokud má Správce nebo nastavenou admin roli. Důvěryhodné členy personálu, kteří ji ještě nemají, přidejte do admin rolí na stránce Role na dashboardu.
Maže zprávy ve všech kanálech, kam člen psal? Ne, jen v kanálu, kde ke spuštění došlo, a jen až posledních 10 sledovaných zpráv tam.
Jaký je rozdíl mezi tímto a anti-nukem? Anti-spam sleduje běžné členy, kteří posílají zprávy. Anti-nuke sleduje destruktivní akce na úrovni adminů, jako je hromadné mazání kanálů nebo rolí. Nastavují se odděleně a mohou běžet nezávisle; druhou polovinu bezpečnostního modulu Noxyru najdete v kompletním průvodci anti-nukem.
Můžu nastavit různé limity pro každý kanál? Zatím ne; limity platí pro celý server, i když mazání se dotýká jen kanálu, kde vlna proběhla.
Anti-spam je jeden přepínač v bezplatném modulu Zabezpečení Noxyru, vedle anti-nuke, verifikace a logů moderace. Přidejte Noxyr zdarma a zapněte ho podle dokumentace k zabezpečení, nebo si přečtěte celou stránku funkcí bezpečnostního bota, kde je vše, co modul pokrývá.