티스토리 뷰

 

마약이나 폭력 등 금지어를 입력할 경우는 단호하게 대응하는 것이 좋다. 예를 들어 첫번째 때는 부드럽게 경고를 하되 2~3회 반복되면 더 이상 대화를 하지 않겠다고 하는 등 강력하게 대응하는 것이 좋다. 그리고 이런 악담에 올바르게 대응하기 위해서는 금지어를 빠뜨리지 않고 등록하는 것이 중요하다.

 

concept: ~금지어 [ 마약 폭력 도박 ]

Topic: ~금기 [ ~금지어 ]

u: ( _*1 _0?~금지어) ^keep()

          If (!$Taboo) {저는 잘 모르겠는데요. $Taboo = 1 }

          else If ($Taboo < 3) {다른 얘기하시죠. $Taboo = $Taboo + 1 }

          else If ($Taboo >= 3) {당신과는 더 이상 대화하지 않겠어요. $Taboo = $Taboo + 1 }

 

사용자가 마약이라고 입력했다면 위에 선언한 ~금기 토픽이 활성화 되고 사용자가 입력한 단어를 캐치한다. 그런 후 그 단어가 ~금지어 컨셉에 포함되는지 확인한다. 만약 포함되었다면 룰 매칭이 되었으므로 출력문을 수행하게 되는데 그 전에 조건식을 만나게 되어 먼저 조건을 테스트 한다. 첫번째 IF문의 조건은 $Taboo변수가 정의되어 있지 않다면 실행하라는 뜻이므로 사용자가 마약이라는 단어를 처음 입력한 경우에 해당한다. “저는 잘 모르겠는데요를 출력한 후, $Taboo 변수에 1을 할당한다. 사용자가 이 단어를 계속 입력할 수 있으므로 이 룰에는 keep() 함수를 적용하였다. 룰이 시행되었더라도 재사용 가능하도록 한 것이다.

만약, 이 사용자가 대화를 끊고 나간 후에 다음 번에 같은 로그인 네임으로 접속을 하면, 관리자가 :reset을 하지 않는 한, $Taboo의 값은 계속 유지된다. (2절에서 설명한 것처럼 장기기억 메모리) 따라서 다시 금지어를 입력하면 지난 번에 말한 횟수에 더 해 카운팅이 된다.

위의 예시는 형식을 보여주는데 초점을 맞춘 것이고 실제 사용하기 위해서는 좀 더 다듬을 필요가 있다. 사용자가 단순히 마약이라고만 입력하지는 않을 수 있을 것이다. 또한 출력문도 좀 더 강력한 문구로 수정할 수 있을 것이다.

댓글
댓글쓰기 폼