디스코드 안티 스팸 봇은 멤버가 얼마나 빨리 메시지를 올리는지, 같은 메시지를 반복하는지, 한 번에 몇 명을 멘션하는지 지켜보다가, 내가 정한 제한을 넘는 순간 자동으로 타임아웃을 걸어요. 잘 설정하면 빠르게 채팅하는 멤버는 건드리지 않고, 레이드 봇과 도배하는 계정을 몇 초 안에 잡아내요. 이 가이드에서는 무엇이 스팸으로 간주되는지, Noxyr의 임계값과 타임아웃이 내부적으로 어떻게 작동하는지, 실제 멤버가 걸리지 않도록 어떻게 조정하는지 차근차근 설명해요.
무엇이 스팸으로 간주되나요?
대부분의 디스코드 안티 스팸 설정은 세 가지 서로 다른 패턴을 감시하고, 그중 하나만 걸려도 단독으로 대응을 일으킬 수 있어요:
- 메시지 속도: 한 사람이 짧은 시간 안에 너무 많은 메시지를 보내는 경우예요. 복사 붙여넣기 도배나 스크립트로 움직이는 레이드 계정을 잡아내요.
- 중복 내용: 같은 메시지(또는 거의 똑같은 메시지)를 계속 반복해서 보내는 경우예요. "가입하고 다섯 채널에 같은 사기 링크를 붙여넣는" 패턴을 잡아내요.
- 대량 멘션: 한 메시지로 평범한 메시지보다 훨씬 많은 사용자나 역할을 호출하는 경우예요.
@everyone과@here도 포함돼요.
멤버는 세 가지 중 하나만 걸리면 돼요. 일반 메시지를 연달아 여섯 개 보내더라도 내용을 반복하지 않고 누구도 멘션하지 않는다면 전혀 건드리지 않아요.
Noxyr의 안티 스팸 임계값과 타임아웃은 어떻게 작동하나요
Noxyr는 서버마다, 멤버마다 이동하는 시간 창을 추적해요. 그 멤버가 시간 창 안에서 보낸 메시지는 모두 그 창에 추가되고, 창 길이보다 오래된 것은 자동으로 빠져요. 새 메시지가 올 때마다 그 창에 대해 세 가지 검사가 실행돼요:
- 최대 메시지 수 / 시간 창: 멤버가 시간 창 안에서 설정된 수보다 많은 메시지를 보내면 속도 위반이에요. 기본값은 8초 안에 6개 초과예요.
- 중복 제한: 내용은 비교 전에 앞뒤 공백이 제거되고, 소문자로 바뀌고, 여분의 공백이 하나로 합쳐져요. 그래서 "Hello!!"와 "hello!!"는 같은 메시지로 취급돼요. 중복이 시간 창 안에서 그 수(기본값 4개)에 도달하면 위반이에요.
- 멘션 제한: Noxyr는 메시지에서 멘션된 사용자와 역할을 세요. 메시지가
@everyone이나@here를 포함하면 그 수에 100이 더해져요. 누구도 그렇게 높게 멘션 제한을 설정하지 않으므로, 설정한 제한과 상관없이 반드시 위반으로 판정되게 하는 방식이에요.
처음으로 걸린 검사가 대응을 일으키고, 봇은 두 번째 검사도 걸리는지 기다리지 않아요. 대응이 일어나면 설정에 따라 두 가지 중 하나가 일어날 수 있어요:
- 타임아웃: 멤버가 설정된 분 수만큼 타임아웃돼요. 기본값은 10분이고, 명령어에서는 최대 7일까지 설정할 수 있지만 디스코드의 최대치인 28일을 넘지 못해요. 다른 모더레이션 작업과 마찬가지로, 봇의 역할이 멤버의 역할보다 위에 있을 때만 작동해요.
- 메시지 삭제: 켜져 있으면(기본값은 켜짐) 봇은 위반이 일어난 채널에서 그 멤버가 올린 추적된 메시지를 최근 10개까지 삭제해요. 같은 몰아치기 동안 다른 채널에 올린 메시지까지 쫓아가서 지우지는 않아요.
위반 후에는 그 멤버의 시간 창이 빈 상태로 초기화돼요. 따라서 한 번의 몰아치기에는 제한을 넘은 메시지마다가 아니라 대응이 한 번만 일어나요.
설정하기
위의 모든 항목은 /security antispam이나 대시보드의 보안 페이지에서 설정해요:
- enabled: 보안 모듈 자체가 켜져 있어도 안티 스팸은 기본적으로 꺼져 있어요. 그래서 모듈을 켠다고 해서 갑자기 누군가를 제재하기 시작하지는 않아요.
- max_messages와 window_seconds: 속도 제한과 시간 창의 길이예요.
- duplicate_limit: 몇 번 반복되어야 스팸으로 간주되는지예요.
- mention_limit: 한 메시지에서 몇 번 멘션해야 대량 멘션으로 간주되는지예요.
- timeout_minutes: 타임아웃이 지속되는 시간이에요.
- delete_messages: 스팸도 함께 정리할지 정해요.
/security status는 안티 스팸과 안티 너크의 현재 수치를 하나의 임베드에 보여 줘요. 무언가를 바꾸기 전에 실제로 무엇이 적용 중인지 확인하는 가장 빠른 방법이에요.
오탐 피하기
실제 멤버에게 타임아웃을 거는 스팸 필터는 사람들이 떠나게 만들어요. 다음 몇 가지가 이를 막아 줘요:
- 관리자는 자동으로 면제돼요. 관리자 권한이 있는 사람이나, 대시보드에서 관리자 역할로 추가한 역할을 가진 사람은 완전히 건너뛰어요. 스태프가 올리는 공지나 기브어웨이 멘션은 멘션 제한에 걸리지 않아요.
- 봇과 웹훅 메시지는 검사하지 않아요. 사람이 쓴 메시지만 안티 스팸 검사에 들어가므로, 공지 웹훅이나 로그 채널에서 빠르게 메시지를 올리는 다른 봇은 문제가 되지 않아요.
- 횟수를 올리기 전에 시간 창을 늘리세요. 바쁜 일반 채널에서 타자가 빠른 멤버들이 속도 제한에 가까워지고 있다면,
max_messages를 올리기보다window_seconds를 조금(예: 8에서 12로) 늘리는 편이 보통 더 부드러워요. 일반적인 대화에 여유를 주면서도 진짜 도배에 대해서는 문을 많이 열지 않기 때문이에요. - 템플릿 콘텐츠 주변의 duplicate_limit을 주의하세요. 복사 붙여넣기 템플릿(파티 모집 글, 티켓 매크로, 지원서 답변)을 쓰는 커뮤니티는 중복 검사에 걸릴 수 있어요. 중복 감지를 완전히 끄기보다는 제한을 조금 올리세요.
- 조정하는 동안 delete_messages를 끄세요. 삭제를 끄면 스팸은 여전히 타임아웃되지만 메시지는 그대로 보여요. 그래서 무엇이 필터에 걸렸는지 정확히 확인하고, 실제 증거를 바탕으로 수치를 조정하기가 훨씬 쉬워요.
- 현재 안티 스팸 위반에 대해서는 알림 임베드를 게시하지 않아요. 안티 너크처럼은 아니에요. 디스코드의 자체 감사 로그에는 봇이 적용한 모든 타임아웃이 그대로 남으니, 무슨 일이 있었는지 확인하고 싶다면 거기를 보세요(현재 설정은
/security status로 확인하고요).
디스코드 안티 스팸 봇 vs. 디스코드 기본 AutoMod
디스코드의 기본 AutoMod는 스팸처럼 보이는 링크나 표시된 키워드가 들어간 메시지를 차단할 수 있고, 자체 멘션 스팸 규칙도 가지고 있어요. 모두 서버 설정에서 구성해요. 실제로 유용하고 켜는 데 비용도 들지 않아요. 전용 디스코드 안티 스팸 봇에 미치지 못하는 부분은, 각 보호 기능이 규칙 편집기에서 하나씩 만드는 별도의 규칙이라는 점이에요. 그리고 그중 어떤 것도 멤버별 시간 창처럼 여러 메시지에 걸친 멤버 전체 행동을 추적하지 않아요. AutoMod는 메시지 하나만 따로 보고 반응해요. "이 사람이 8초 동안 여섯 메시지를 보냈다"나 "이 메시지의 네 번째 복사본이 이번 분에 올라왔다"는 개념이 기본으로 없어요.
Noxyr 같은 봇 기반 필터는 속도 제한, 중복 감지, 멘션 제한을 하나의 스위치 뒤에 묶고, 어디서나 같은 관리자 면제를 적용해요. 그리고 독립된 규칙 여러 개 대신 모든 수치를 한 곳(대시보드나 /security status)에서 한꺼번에 보고 바꿀 수 있게 해 줘요. 둘을 함께 쓰는 것은 충돌이 아니에요. AutoMod의 키워드와 링크 필터는 속도 기반 필터가 절대 잡지 못하는 것을 잡고, 멤버별 스팸 필터는 AutoMod가 추적하도록 만들어지지 않은 도배 패턴을 잡아내요.
자주 묻는 질문
안티 스팸은 기본으로 켜져 있나요? 아니요. 보안 모듈은 기본으로 켜져 있지만, 안티 스팸 자체는 /security antispam enabled:True로 따로 켜거나 대시보드에서 켜야 해요.
반응을 도배하거나 빠르게 답글을 다는 모더레이터에게도 타임아웃이 걸리나요? 관리자 권한이나 설정된 관리자 역할이 있다면 걸리지 않아요. 아직 관리자 권한이 없는 믿을 수 있는 스태프라면, 대시보드의 역할 페이지에서 관리자 역할에 추가하세요.
멤버가 글을 올린 모든 채널에서 메시지를 삭제하나요? 아니요. 위반이 일어난 채널에서만 삭제하고, 그 채널에서 추적된 최근 메시지 10개까지만 지워요.
이것과 안티 너크는 무엇이 다른가요? 안티 스팸은 일반 멤버가 메시지를 보내는 것을 지켜봐요. 안티 너크는 채널이나 역할의 대량 삭제 같은 관리자 수준의 파괴 작업을 지켜봐요. 둘은 따로 설정하며 독립적으로 실행할 수 있어요. Noxyr 보안 모듈의 나머지 절반은 안티 너크 가이드 전체를 참고하세요.
채널마다 다른 제한을 설정할 수 있나요? 지금은 안 돼요. 제한은 서버 전체에 적용되고, 삭제만 몰아치기가 일어난 채널에 적용돼요.
안티 스팸은 Noxyr의 무료 보안 모듈에 있는 하나의 토글이에요. 안티 너크, 인증, 모더레이션 로그와 함께 있어요. Noxyr를 무료로 추가하고 보안 문서에서 켜거나, 모듈이 다루는 모든 기능이 궁금하다면 보안 봇 기능 페이지를 읽어 보세요.