프로그래밍/RiveScript

[Tutorial] Topics

프리월드 2017. 3. 9. 15:20


LABELED SECTIONS

레이블이 지정된 섹션에는 세 가지 유형이 있습니다.

레이블은 > 기호를 사용하여 정의되며 <로 끝납니다.

완료되면 라벨이 붙은 모든 섹션이 제대로 닫혀 있어야합니다 (파일의 끝에 있더라도).

스타일을 위해서 레이블이 붙은 섹션의 내용도 들여 써야합니다.

라벨이 지정된 섹션은 서로 안에 삽입 할 수 없습니다.


Topics

토픽(Topic)은 트리거의 논리접 그룹을 말합니다. 사용자가 토픽안에 있으면 봇은 토픽 안에 있는 트리거에만 동작합니다.

+ i hate you
- You're really mean! I'm not talking again until you apologize.{topic=sorry}

> topic sorry

  // This will match if the word "sorry" exists ANYWHERE in their message
  + [*] sorry [*]
  - It's OK, I'll forgive you!{topic=random}

  + *
  - Nope, not until you apologize.
  - Say you're sorry!
  - Apologize!

< topic

해당 예제에서는 "i hate you"라고 트리거가 동작할 때 토픽은 sorry로 넘어가며 해당 토픽에서 빠져 나오기 위해서는 sorry라를 트리거를 작동시켜야지만 빠져 나올 수 있습니다. 태그는 가장 기본적으로 정의되는 {topic=random}토픽이며 sorry 토픽에서 빠져나오기 위해서 {topic=random}태그를 사용하게 됩니다.

토픽은 상속 할 수 있으며 다른 트리거를 포함 시킬 수 있습니다. 그렇지만 이것은 고급 사용자를 위한 것이고 Tutorial 범위에 벗어납니다. 이에 대해 자세한 예를 보고 싶다면 rpg.rive를 참고하시기 바랍니다.

존재하지 않는 토픽을 지정하면 더이상 대화를 할 수 없냐고 물어 볼 수 있지만 RiveScript는 이를 감지해서 자동으로 기본 토픽("random")으로 되돌립니다. 

'프로그래밍 > RiveScript' 카테고리의 다른 글

[Tutorial] MORE DEFINITIONS  (0) 2017.03.09
[Tutorial] The Begin Block  (0) 2017.03.09
[Tutorial] Conditionals  (0) 2017.03.09
[Tutorial] Short Discussions  (2) 2017.03.09
[Tutorial] Redirections  (0) 2017.03.09