Bir Discord anti spam botu, bir üyenin ne kadar hızlı mesaj yazdığını, aynı mesajı tekrarlayıp tekrarlamadığını ve aynı anda kaç kişiyi etiketlediğini izler; siz belirlediğiniz sınırı aştığı anda da onu otomatik olarak zaman aşımına uğratır. İyi kurulduğunda, yalnızca hızlı sohbet eden bir üyeye dokunmadan raid botlarını ve seller yapanları saniyeler içinde yakalar. Bu rehber, neyin spam sayıldığını, Noxyr’ın eşik ve zaman aşımlarının perde arkasında nasıl çalıştığını ve gerçek üyelerin hiçbir zaman yakalanmaması için bunların nasıl ayarlanacağını adım adım anlatır.

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

Neye spam denir?

Çoğu anti spam Discord kurulumu üç ayrı kalıbı izler ve bunlardan herhangi biri tek başına bir yanıt tetikleyebilir:

  • Mesaj hızı: Kısa bir zaman aralığında tek bir kişiden çok fazla mesaj. Kopyala-yapıştır seli ve komut dosyasıyla çalışan raid hesaplarını yakalar.
  • Tekrarlanan içerik: Aynı mesajın (ya da neredeyse aynı bir mesajın) defalarca gönderilmesi. “Katıl ve aynı dolandırıcılık bağlantısını beş kanala yapıştır” kalıbını yakalar.
  • Toplu etiketler: Normal bir mesajdan çok daha fazla kullanıcıyı ya da rolü etiketleyen tek bir mesaj; @everyone ve @here dahil.

Bir üyenin üçünden yalnızca birini tetiklemesi yeterlidir. Arka arkaya altı normal mesaj gönderen, ama içeriği hiç tekrarlamayan ve kimseyi etiketlemeyen biri tamamen dokunulmadan kalır.

Noxyr’ın anti-spam eşikleri ve zaman aşımları nasıl çalışır

Noxyr, her üye için sunucu bazında kayan bir zaman aralığını izler. O üyenin aralık içinde gönderdiği her mesaj bu aralığa eklenir; aralık uzunluğundan daha eski olan mesajlar otomatik olarak düşer. Her yeni mesajda bu aralığa karşı üç kontrol çalışır:

  • Maksimum mesaj / aralık: Üye aralık içinde yapılandırılmış sayıdan fazla mesaj gönderdiyse (varsayılan: 8 saniyede 6’dan fazla), bu bir hız tetiklemesidir.
  • Tekrar sınırı: Karşılaştırmadan önce içerik kırpılır, küçük harfe çevrilir ve fazla boşlukları tek boşluğa indirilir; böylece “Merhaba!!” ile “merhaba!!” aynı mesaj sayılır. Aralık içinde bu kadar tekrar gelirse (varsayılan: 4), bu bir tetiklemedir.
  • Etiket sınırı: Noxyr, mesajdaki etiketlenen kullanıcıları ve rolleri sayar. Mesaj @everyone ya da @here etiketlerse, bu sayıya 100 eklenir. Böylece yapılandırdığınız sınır ne olursa olsun tetiklenir; çünkü kimse etiket sınırını bu seviyeye yakın koymaz.

İlk tetiklenen kontrol yanıtı başlatır; bot ikinci bir kontrolün de tetiklenip tetiklenmeyeceğini beklemez. Tetiklenme olduğunda ayarlarınıza bağlı olarak iki şey olabilir:

  • Zaman aşımı: Üye, yapılandırılmış dakika kadar zaman aşımına uğratılır (varsayılan 10 dakika; komuttan en fazla 7 gün, Discord’un 28 günlük üst sınırıyla sınırlı). Bu yalnızca botun rolü üyenin rolünün üstündeyse gerçekleşir; tıpkı diğer moderasyon işlemlerinde olduğu gibi.
  • Mesaj silme: Etkinse (varsayılan olarak açık), bot tetiklemenin gerçekleştiği kanaldaki o üyenin izlenen son 10 mesajına kadar siler. Aynı patlama sırasında üyenin diğer kanallara yazdığı mesajların peşine düşmez.

Bir tetiklemeden sonra o üyenin aralığı boş olarak sıfırlanır. Böylece tek bir patlama, sınırı aşan her mesaj için değil, yalnızca tek bir işlem tetikler.

Yapılandırma

Yukarıdakilerin hepsi /security antispam komutuyla ya da panelin Güvenlik sayfasından ayarlanır:

  • enabled: Güvenlik modülü açık olsa bile anti-spam varsayılan olarak kapalıdır. Böylece modülü açmak, habersizce kimseyi moderasyona almaz.
  • max_messages ve window_seconds: Hız sınırı ve aralığın uzunluğu.
  • duplicate_limit: Spam sayılmadan önce kaç tekrara izin verileceği.
  • mention_limit: Toplu etiket sayılmadan önce tek bir mesajda kaç etikete izin verileceği.
  • timeout_minutes: Zaman aşımının ne kadar süreceği.
  • delete_messages: Spam mesajların da temizlenip temizlenmeyeceği.

/security status, anti-spam ve anti-nuke için geçerli sayıları tek bir embed içinde gösterir. Bir şeyi değiştirmeden önce neyin gerçekten aktif olduğunu kontrol etmenin en hızlı yoludur.

Yanlış pozitiflerden kaçınmak

Gerçek üyelere zaman aşımı uygulayan bir spam filtresi, insanları ayrılmaya iter. Bunu önleyen birkaç şey vardır:

  • Yöneticiler otomatik olarak muaftır. Yönetici yetkisine sahip herkes ya da panelde yönetici rolü olarak eklediğiniz herhangi bir rol tamamen atlanır. Yetkililerin paylaştığı duyurular ve çekiliş etiketleri hiçbir zaman etiket sınırını tetiklemez.
  • Bot ve webhook mesajları asla incelenmez. Anti-spam kontrolüne yalnızca insan mesajları ulaşır; bu yüzden bir duyuru webhook’u ya da bir günlük kanalında hızlı mesaj gönderen başka bir bot sorun oluşturmaz.
  • Sayıyı artırmadan önce pencereyi genişletin. Yoğun bir genel kanalda hızlı yazanlar hız sınırına yaklaşıyorsa, window_seconds değerini biraz genişletmek (diyelim 8’den 12’ye) genellikle max_messages değerini yükseltmekten daha yumuşaktır. Normal karşılıklı sohbete daha fazla alan tanır ve gerçek bir sele kapıyı çok fazla açmaz.
  • Şablon içerikleri için duplicate_limit değerine dikkat edin. Kopyala-yapıştır şablonları kullanan topluluklar (LFG ilanları, bilet makroları, başvuru cevapları) tekrar kontrolüne takılabilir. Tekrar algılamayı tamamen kapatmak yerine sınırı biraz yükseltin.
  • Ayarlama yaparken delete_messages seçeneğini kapatın. Silme kapalıyken spam yine zaman aşımına uğrar ama mesajlar görünür kalır. Bu, filtreyi neyin tetiklediğini tam olarak görmeyi ve sayıları gerçek kanıtlara dayanarak ayarlamayı çok kolaylaştırır.
  • Şu anda anti-spam tetiklemeleri için bir uyarı embed’i gönderilmiyor. Anti-nuke’un yaptığı gibi değil. Discord’un kendi denetim kaydı, botun uyguladığı her zaman aşımını hâlâ kaydeder. Neler olduğunu incelemek istiyorsanız oraya bakın (ya da mevcut ayarlar için /security status).

Discord anti spam botu ile Discord’un yerleşik AutoMod’u

Discord’un yerel AutoMod’u, spam benzeri bağlantıları ya da işaretlenmiş anahtar kelimeleri içeren mesajları engelleyebilir; ayrıca kendi etiket spam kuralı vardır ve hepsi Sunucu Ayarları’ndan yapılandırılır. Gerçekten işe yarar ve açmak için bir maliyeti yoktur. Ancak özel bir anti spam Discord botunun gerisinde kaldığı nokta şudur: her koruma, kural düzenleyicisinde tek tek oluşturduğunuz ayrı bir kuraldır ve hiçbiri, kayan üye bazlı bir aralığın yaptığı gibi bir üyenin mesajlar arasındaki genel davranışını takip etmez. AutoMod tek bir mesaja izole olarak tepki verir; “bu kişi sekiz saniyede altı mesaj gönderdi” ya da “bu dakikada aynı mesajın dördüncü kopyası” gibi bir kavramı yerel olarak bilmez.

Noxyr gibi bot tabanlı bir filtre; hız sınırlamasını, tekrar algılamayı ve etiket sınırlarını tek bir anahtarın arkasında toplar, yönetici muafiyetlerini her yerde aynı şekilde uygular ve her sayıyı aynı anda görmenizi ve değiştirmenizi sağlayan tek bir yer sunar (panel ya da /security status). Bağımsız kurallardan oluşan bir yığın yerine tek bir yer. İkisini birlikte çalıştırmak bir çakışma değildir. AutoMod’un anahtar kelime ve bağlantı filtreleri, hız tabanlı bir filtrenin asla yakalamayacağı şeyleri yakalar; üye bazlı spam filtresi de AutoMod’un izlemek üzere tasarlanmadığı sel kalıplarını yakalar.

Sık sorulan sorular

Anti-spam varsayılan olarak açık mı? Hayır. Güvenlik modülü varsayılan olarak açıktır, ancak anti-spam’in kendisi /security antispam enabled:True komutuyla ya da panelden ayrıca açılmalıdır.

Tepkileri ya da hızlı yanıtları spam yapan bir moderatöre zaman aşımı uygular mı? Yönetici yetkisine ya da yapılandırılmış bir yönetici rolüne sahiplerse uygulamaz. Güvendiğiniz yetkilileri, henüz Yönetici yetkisi yoksa panelin Roller sayfasından yönetici rollerinize ekleyin.

Üyenin yazdığı her kanaldaki mesajları siler mi? Hayır. Yalnızca tetiklemenin gerçekleştiği kanaldaki mesajları siler ve orada izlenen son 10 mesajla sınırlıdır.

Bunun anti-nuke’tan farkı nedir? Anti-spam, sıradan üyelerin mesaj göndermesini izler. Anti-nuke ise toplu kanal ya da rol silme gibi yönetici düzeyindeki yıkıcı işlemleri izler. İkisi ayrı yapılandırılır ve bağımsız çalışabilir; Noxyr güvenlik modülünün ikinci yarısı için tam anti-nuke rehberine bakın.

Kanal bazında farklı sınırlar koyabilir miyim? Şu anda hayır. Sınırlar sunucu genelinde uygulanır; yalnızca silme işlemi, selin gerçekleştiği kanala dokunur.

Anti-spam, anti-nuke, doğrulama ve moderasyon günlükleriyle birlikte Noxyr’ın ücretsiz Güvenlik modülündeki tek bir anahtardır. Noxyr’ı ücretsiz ekleyin ve güvenlik dokümanlarından açın ya da modülün kapsadığı her şey için tam güvenlik botu özellik sayfasını okuyun.