배경
현재 Discourse Automation 플러그인에서 트리거를 설정할 때(예: 게시물 생성, 토픽 생성) “카테고리” 필터가 제공됩니다. 이 필터는 화이트리스트로 작동하며, 자동화는 선택된 특정 카테고리에서만 실행됩니다.
문제점
이 화이트리스트 방식은 “전역(Global)” 자동화를 적용하되 몇 가지 예외만 제외하려는 커뮤니티에 마찰과 유지보수 부담을 초래합니다.
#staff 카테고리를 제외한 모든 카테고리에서 자동화가 실행되도록 하려면:
- 초기 설정: 모든 공개 카테고리를 수동으로 하나씩 선택해야 합니다.
- 유지보수: 향후 새로운 카테고리가 생성될 때마다 해당 카테고리에서는 기본적으로 자동화가 실행되지 않습니다. 관리자가 자동화 설정으로 돌아가 새 카테고리를 목록에 추가해야 한다는 사실을 기억해야 합니다.
제안된 해결책
“카테고리 제외”(블랙리스트) 필드를 추가하는 것을 제안합니다.
기대되는 동작:
- "카테고리"가 비어 있고 "제외된 카테고리"에 값이 있는 경우: 제외된 카테고리를 제외하고 모든 곳에서 실행됩니다.
- 이를 통해 향후 확장성이 보장됩니다: 나중에 생성되는 모든 새 카테고리는 수동 개입 없이 자동으로 해당 자동화를 상속받게 됩니다.
사용 사례 예시
시나리오: 특정 채널에서의 “봇 충돌” 방지
목표: 두 가지 서로 다른 자동화가 있습니다:
- 환영 봇:
#Introductions카테고리에서 신규 사용자에게 답글을 달아 포럼 안내를 제공합니다. - 지원 봇: 기술 관련 카테고리의 토픽에서 로그/상세 정보를 요청하기 위해 답글을 다는 봇입니다.
문제: 지원 봇이 #Introductions를 제외하고 모든 곳에서 실행되도록 하려면, 현재는 지원 봇이 소개 글에 답글을 달지 않도록(신규 사용자에게 기술적 질문으로 혼란을 주지 않도록) “포함” 목록을 사용하여 모든 기술 카테고리를 수동으로 선택해야 합니다.
해결책: 지원 봇을 단순히 **제외: #Introductions**로 설정할 수 있다면, 지원 봇에 대한 방대한 허용 카테고리 목록을 유지보수할 필요 없이 두 봇이 서로의 말을 방해하지 않도록 보장할 수 있습니다.