Bot chống spam Discord theo dõi tốc độ thành viên gửi tin nhắn, việc họ có lặp lại cùng một nội dung hay không, và họ mention bao nhiêu người cùng lúc. Sau đó nó tự động cấm nói chuyện tạm thời ngay khi họ vượt giới hạn bạn đã đặt. Làm tốt thì nó sẽ bắt được bot raid và kẻ flood trong vài giây, mà không đụng đến thành viên chỉ đang trò chuyện nhanh. Hướng dẫn này đi qua chính xác những gì được tính là spam, cách ngưỡng và thời gian cấm của Noxyr hoạt động bên trong, và cách điều chỉnh để thành viên thật không bao giờ bị bắt nhầm.
Điều gì được tính là spam?
Hầu hết cấu hình chống spam trên Discord theo dõi ba mẫu riêng biệt, và chỉ một trong số đó cũng có thể kích hoạt phản ứng:
- Tốc độ tin nhắn: quá nhiều tin nhắn từ một người trong một khoảng thời gian ngắn. Điều này bắt được việc flood bằng copy-paste và các tài khoản raid chạy script.
- Nội dung trùng lặp: cùng một tin nhắn (hoặc một tin gần giống hệt) được gửi lặp đi lặp lại. Điều này bắt được kiểu "vào máy chủ rồi dán cùng một link lừa đảo vào năm kênh".
- Mention hàng loạt: một tin nhắn duy nhất ping nhiều người dùng hoặc vai trò hơn hẳn một tin nhắn bình thường, bao gồm
@everyonevà@here.
Một thành viên chỉ cần kích hoạt một trong ba mẫu này. Người gửi sáu tin nhắn bình thường liên tiếp nhưng không lặp lại nội dung và không mention ai thì hoàn toàn không bị ảnh hưởng.
Ngưỡng chống spam và thời gian cấm của Noxyr hoạt động ra sao
Noxyr theo dõi một cửa sổ trượt cho mỗi thành viên, theo từng máy chủ. Mọi tin nhắn mà thành viên đó gửi trong cửa sổ sẽ được thêm vào cửa sổ đó; bất cứ thứ gì cũ hơn độ dài cửa sổ sẽ tự động rơi ra. Ba kiểm tra chạy trên cửa sổ này với mỗi tin nhắn mới:
- Số tin tối đa / cửa sổ: nếu thành viên gửi nhiều hơn số tin đã cấu hình trong cửa sổ (mặc định: nhiều hơn 6 tin trong 8 giây), đó là một lần kích hoạt theo tốc độ.
- Giới hạn trùng lặp: nội dung được cắt khoảng trắng thừa, chuyển thành chữ thường và gộp khoảng trắng trước khi so sánh, nên "Hello!!" và "hello!!" được tính là cùng một tin nhắn. Khi số tin trùng lặp trong cửa sổ đạt đến mức này (mặc định: 4), đó là một lần kích hoạt.
- Giới hạn mention: Noxyr đếm số người dùng và vai trò được mention trong tin nhắn. Nếu tin nhắn ping
@everyonehoặc@here, 100 sẽ được cộng vào số đếm đó, điều này đảm bảo kích hoạt bất kể giới hạn bạn đã đặt, vì không ai đặt giới hạn mention gần mức cao như vậy.
Kiểm tra đầu tiên bị kích hoạt sẽ tạo ra phản ứng; bot không chờ xem liệu kiểm tra thứ hai có cũng kích hoạt hay không. Khi phản ứng xảy ra, có thể có hai điều tùy theo cài đặt của bạn:
- Timeout: thành viên bị cấm nói chuyện tạm thời trong số phút đã cấu hình (mặc định 10, tối đa 7 ngày từ lệnh, bị giới hạn ở mức tối đa 28 ngày của Discord). Điều này chỉ xảy ra nếu vai trò của bot nằm trên vai trò của thành viên, giống như mọi hành động kiểm duyệt khác.
- Xóa tin nhắn: nếu được bật (mặc định bật), bot sẽ xóa tối đa 10 tin nhắn gần nhất được theo dõi của thành viên đó trong kênh nơi lần kích hoạt xảy ra. Bot không truy tìm các tin nhắn thành viên đó đã gửi ở kênh khác trong cùng đợt spam.
Sau một lần kích hoạt, cửa sổ của thành viên đó được đặt lại về rỗng, nên một đợt spam duy nhất chỉ kích hoạt một hành động, chứ không phải một hành động cho mỗi tin nhắn vượt giới hạn.
Cấu hình
Mọi thứ ở trên được đặt bằng /security antispam hoặc trang Bảo mật trên bảng điều khiển:
- enabled: chống spam mặc định tắt, ngay cả khi chính module Bảo mật đang bật, nên việc bật module không bao giờ bắt đầu kiểm duyệt ai một cách bất ngờ.
- max_messages và window_seconds: giới hạn tốc độ và độ dài cửa sổ.
- duplicate_limit: bao nhiêu lần lặp lại thì được tính là spam.
- mention_limit: bao nhiêu lượt ping trong một tin nhắn thì được tính là mention hàng loạt.
- timeout_minutes: thời gian cấm nói chuyện tạm thời kéo dài bao lâu.
- delete_messages: có dọn dẹp nội dung spam hay không.
/security status hiển thị các con số hiện tại của cả chống spam và anti-nuke trong một embed, là cách nhanh nhất để kiểm tra những gì đang thực sự hoạt động trước khi bạn thay đổi bất cứ điều gì.
Tránh báo động giả
Bộ lọc spam cấm nhầm thành viên thật sẽ khiến mọi người bỏ đi. Một vài điều giúp tránh việc đó:
- Quản trị viên được miễn tự động. Bất kỳ ai có quyền Administrator, hoặc có vai trò quản trị bạn đã thêm trên bảng điều khiển, sẽ bị bỏ qua hoàn toàn. Thông báo và ping giveaway do nhân viên đăng sẽ không bao giờ kích hoạt giới hạn mention.
- Tin nhắn của bot và webhook không bao giờ bị kiểm tra. Chỉ tin nhắn của người thật mới đi qua kiểm tra chống spam, nên một webhook thông báo hoặc bot khác đăng nhanh trong kênh nhật ký không phải là vấn đề.
- Tăng cửa sổ trước khi tăng số lượng. Nếu những người gõ nhanh trong kênh chung đông đúc đang tiến gần giới hạn tốc độ, nới rộng
window_secondsmột chút (ví dụ từ 8 lên 12) thường nhẹ nhàng hơn tăngmax_messages, vì nó cho các cuộc trò chuyện qua lại bình thường nhiều chỗ hơn mà không mở rộng cửa quá nhiều cho một đợt flood thật. - Theo dõi duplicate_limit với nội dung mẫu. Các cộng đồng dùng mẫu copy-paste (bài LFG, macro vé hỗ trợ, câu trả lời đơn ứng tuyển) có thể chạm vào kiểm tra trùng lặp. Hãy tăng giới hạn một chút thay vì tắt hẳn việc phát hiện trùng lặp.
- Tắt delete_messages trong lúc điều chỉnh. Khi không xóa, spam vẫn bị cấm nói chuyện tạm thời nhưng tin nhắn vẫn hiển thị, giúp bạn dễ thấy chính xác điều gì đã kích hoạt bộ lọc và điều chỉnh các con số dựa trên bằng chứng thực tế.
- Hiện chưa có embed cảnh báo nào được gửi khi chống spam kích hoạt, như anti-nuke làm. Nhật ký kiểm toán của chính Discord vẫn ghi lại mọi lần cấm nói chuyện mà bot áp dụng, nên hãy kiểm tra ở đó (hoặc
/security statusđể xem cài đặt hiện tại) nếu bạn muốn xem lại chuyện gì đã xảy ra.
Bot chống spam Discord so với AutoMod tích hợp
AutoMod gốc của Discord có thể chặn tin nhắn chứa link giống spam hoặc từ khóa bị gắn cờ, và nó có quy tắc riêng về mention spam, tất cả được cấu hình trong Cài đặt máy chủ. Nó thực sự hữu ích và không tốn gì để bật. Chỗ nó kém hơn một bot chống spam chuyên dụng là mỗi biện pháp bảo vệ là một quy tắc riêng bạn phải tạo từng cái một trong trình chỉnh sửa quy tắc, và không cái nào theo dõi hành vi tổng thể của thành viên qua nhiều tin nhắn như một cửa sổ trượt theo từng thành viên. AutoMod phản ứng với một tin nhắn đơn lẻ; nó không có khái niệm gốc về "người này vừa gửi sáu tin trong tám giây" hay "đây là bản sao thứ tư của cùng một tin trong phút này".
Bộ lọc dựa trên bot như của Noxyr gộp giới hạn tốc độ, phát hiện trùng lặp và giới hạn mention sau một công tắc duy nhất, áp dụng cùng một miễn trừ quản trị ở mọi nơi, và cho bạn một chỗ duy nhất (bảng điều khiển hoặc /security status) để xem và thay đổi mọi con số cùng lúc, thay vì một chồng quy tắc độc lập. Chạy cả hai không gây xung đột. Bộ lọc từ khóa và link của AutoMod bắt những thứ mà bộ lọc theo tốc độ sẽ không bao giờ bắt được, còn bộ lọc spam theo từng thành viên bắt các mẫu flood mà AutoMod không được thiết kế để theo dõi.
Câu hỏi thường gặp
Chống spam có bật mặc định không? Không. Module Bảo mật bật mặc định, nhưng bản thân chống spam phải được bật riêng bằng /security antispam enabled:True hoặc từ bảng điều khiển.
Nó có cấm nói chuyện tạm thời một người điều hành đang spam reaction hoặc trả lời nhanh không? Không, nếu họ có Administrator hoặc một vai trò quản trị đã cấu hình. Thêm nhân viên đáng tin cậy vào vai trò quản trị từ trang Vai trò trên bảng điều khiển nếu họ chưa có Administrator.
Nó có xóa tin nhắn ở mọi kênh mà thành viên đã gửi không? Không, chỉ ở kênh nơi lần kích hoạt xảy ra, và chỉ tối đa 10 tin nhắn được theo dõi gần nhất ở đó.
Khác biệt giữa cái này và anti-nuke là gì? Chống spam theo dõi các thành viên bình thường gửi tin nhắn. Anti-nuke theo dõi các hành động phá hoại ở cấp quản trị như xóa kênh hoặc vai trò hàng loạt. Chúng được cấu hình riêng và có thể chạy độc lập; xem hướng dẫn anti-nuke đầy đủ cho nửa còn lại của module bảo mật của Noxyr.
Tôi có thể đặt giới hạn khác nhau cho từng kênh không? Hiện tại thì không; giới hạn áp dụng trên toàn máy chủ, dù việc xóa chỉ tác động đến kênh nơi đợt spam xảy ra.
Chống spam là một công tắc trong module Bảo mật miễn phí của Noxyr, cùng với anti-nuke, xác minh và nhật ký kiểm duyệt. Thêm Noxyr miễn phí và bật nó từ tài liệu bảo mật, hoặc đọc trang tính năng bot bảo mật đầy đủ để biết mọi thứ module bao gồm.