본문 바로가기

커뮤 시스템 구현 예제/자동봇 응용

튜토리얼 생성

튜토리얼 생성 기능은 봇버드에서만 가능합니다.

봇버드의 고급기능와 정규표현식을 이용합니다.

고급기능 : http://erthard.tistory.com/29

정규표현식 : http://erthard.tistory.com/28

 

'라이크 획득/디스라이크 획득/라이크 누적 범위/디스라이크 누적 범위/답신 횟수 누적 범위' 를 사용합니다.

 

라이크와 디스라이크는 멘션을 통해 획득하지 않을 경우 0입니다.

 

반영 순서 : 커맨드 인식 > 출력 > 라이크 디스라이크 반영.



* 멤버별 닉네임 등록 혹은 처음 맞이하는 이벤트 또는 시스템 봇의 주의사항 등을 별도 공지, NPC의 첫인사 등을 위한 기능입니다.

 

 

먼저 튜토리얼 입력 전, 튜토리얼의 단계를 구성합니다.

 

예를 들어, [이름 등록 > 조사/전투 설명 > 조사/전투 진행 > 튜토리얼 종료] 등입니다.

 

각, 단계별로 단계 구별을 위한, 라이크 혹은 디스라이크를 부여합니다.

해당 변수(라이크/디스라이크)는 2개 이상의 합으로 다른 1개의 값을 만들 수 없는 값이어야 합니다. 

ex) 1/2/4/8/16

 

*이름 등록 확인 - 라이크 1

*이름 등록 완료 - 라이크 2

*조사 설명 - 라이크 4

*튜토 조사 진행 - 라이크 8

*튜토리얼 종료 - 라이크 16

 

 

 

1) 첫 멘션 

 

커맨드로는 '.*'를 입력합니다. 

 

해당 정규표현식으로 전제조건에 부합할 때, 어떠한 멘션이라도 반응하게 됩니다.

우선도를 90 등 높은 수로 지정. 지정답변이 입력된 어떠한 커맨드보다 우선 반응하게 해둡니다.

 

[라이크 토탈 0-0]

[디스라이크 토탈 0-0]

[리플라이 토탈 0-0]

으로 최초 멘션임을 판정할 수 있게 조건을 걸고 원하는 내용을 작성합니다.

 

ex) 방문자의 이름을 알려주세요.

[내 이름은 ___]

 

 

2) 이름 등록 확인

 

커맨드로는 '내 이름은 {set_nickname}'이라고 입력합니다.

 [내 이름은]의 뒷내용을 봇버드가 기억합니다. 커맨드 내에 정규표현식도 사용 가능합니다.

 

**봇버드는 개인당 이름,호칭 등을 기억할 수 있습니다.

봇 메모리에 닉네임,유저워드로 기록되며 커맨드에 지정태그를 사용하는 것으로 봇이용자(멤버)가 자신의     닉네임,유저워드 등을 정할 수 있습니다. 이를 이용하여 튜토리얼에서 사용자의 이름을 정합니다.

 

봇버드 태그 참조 : http://erthard.tistory.com/26

 

이름등록을 확인 및, 확인 절차를 거칩니다.

ex) 방문자의 이름은 {nickname}입니까?

> 네

> 아니오

 

[라이크 or 디스라이크 토탈 0-0 or 0-튜토값] :: 튜토리얼에서만 이름지정이 가능하게 하실 경우, 튜토리얼 내에서의 누적 라이크 값 미만으로 제한을 걸어주세요.

[리플라이 토탈 1-10] :: 초반에만 이름지정이 가능하게 할 경우, 리플라이 제한을 걸어주세요.

[겟 라이크 +1]

 

 

3) 이름 확인 절차

 

커맨드로는 네와 아니오 두가지 입니다.

 

'네'일 경우.

이름 등록이 완료되어 진행하게 됩니다.

우선도를 높여두셔도 됩니다. :)!

[라이크 토탈 1-1]로, 이름등록 확인된 경우에만 반응하도록 합니다.

[겟 라이크 +2] :: 다음단계로 진행 및 인식하게 합니다.

 

ex) {nickname}씨를 환영합니다.

조사 튜토리얼을 진행합니다.

필요하시다면 조사 튜토리얼.

필요하시지 않으시다면 스킵. 을 말씀하여주세요.

 

'아니오'일 경우.

다시 이름등록으로 돌아갑니다. 우선도를 높여두셔도 됩니다. :)!

        [라이크 토탈 1-1]로, 이름등록 확인된 경우에만 반응하도록 합니다.

[겟 라이크 -1]로 이전단계로 돌아가게 합니다. 이전단계가 토탈라이크 0-0일 경우, 그에 반응하게 하기 위해서입니다.

 

ex) 아 잘못 들었네요. 

다시 한번 말씀해주시겠어요?

방문자분의 이름은..?

[내 이름은 ___]

 

 

4) 조사 튜토리얼.

이전 단계에서 제공된 커맨드를 커맨드로 사용합니다.

 

튜토리얼과 일반 조사의 커맨드가 함께 입력되어있을 경우, 혼용을 방지하기 위하여 조사 튜토리얼의 우선도를 높여주세요.

해당단계까지 진행되었을 경우, 라이크는 1+2로 총 라이크가 3으로 누적되어있습니다.

 

[토탈 라이크 3-3]으로 하면 이전단계 및 이 후의 단계에서는 반응하지 않습니다.

 

'조사 튜토리얼' 커맨드로 조사의 내용 입력 및 단계진행 기록을 위하여 [겟 라이크 +4]를 입력합니다.

 

ex) 조사를 하기 위해서는 

장소와 함께 조사를 말씀해주셔야 합니다 
예를 들어 '주방 조사', '현관 조사' 등 입니다.

 

주방 조사 를 입력해주세요.

 

 

5) 튜토 조사 진행

이전 단계에서 제공된 커맨드를 커맨드로 사용합니다.

 

튜토리얼과 일반 조사의 커맨드가 함께 입력되어있을 경우, 혼용을 방지하기 위하여 조사 튜토리얼의 우선도를 높여주세요.

해당단계까지 진행되었을 경우, 라이크는 1+2+4로 총 라이크가 7으로 누적되어있습니다.

 

[토탈 라이크 7-7]으로 하면 이전단계 및 이 후의 단계에서는 반응하지 않습니다.

 

'주방 조사' 커맨드로 조사의 내용 입력 및 단계진행 기록을 위하여 [겟 라이크 +8]를 입력합니다.

 

ex)조사 내용

[현위치] : 조사한 위치가 함께 출력됩니다.(도움말)

 

>테이블 : 조사 시, 조사가능한 선택지가 함께 제공됩니다.(도움말)

*현재 테이블 조사가 가능합니다. 조사해보시겠어요?

>현관 : 이동가능지역 선택지입니다(도움말)

 

 

6) 튜토리얼 종료

이전 단계에서 제공된 커맨드를 커맨드로 사용합니다.

이 단계는 이전 단계와 합칠 수 있습니다. :)

 

튜토리얼과 일반 조사의 커맨드가 함께 입력되어있을 경우, 혼용을 방지하기 위하여 조사 튜토리얼의 우선도를 높여주세요.

해당단계까지 진행되었을 경우, 라이크는 1+2+4+8로 총 라이크가 15로 누적되어있습니다.

 

[토탈 라이크 15-15]로 하면 이전단계 및 이 후의 단계에서는 반응하지 않습니다.

 

'테이블 조사' 커맨드로 조사의 내용 입력 및 단계진행 기록을 위하여 [겟 라이크 +16]를 입력합니다.

튜토리얼 종료 멘트를 함께 입력해줍니다.

 

ex)조사내용

[현위치]

 

>어쩌구

>저쩌구

**모든 튜토리얼이 종료되었습니다.

방문자님의 현 위치는 어디이며, 어디에서 어떻게 시작하실 수 있습니다. 등등..

본 시스템은 몇시에서 몇시 사이에 이용하실 수 있습니다.

 

 

7) 일반 입력.

 

일반 입력의 경우 기본적으로 주어지는 0-10000으로 범위를 지정해두셔도 되지만, 튜토리얼 중 출력되는 경우가 불안하실 경우에는 튜토리얼의 커맨드들의 우선도를 높이거나, 튜토리얼 진행 단계 범위로 주어지는 라이크 혹은 디스라이크 값이상의 값을 지정해두시면 일반입력이 튜토리얼 중 반응하지 않습니다.

 

예를 들어 예시의 경우, 튜토리얼 종료 시 라이크가 31이 되니
30-10000 사이에 반응하도록 일반 조사 등을 입력하면 튜토리얼에서는 반응하지 않습니다.

'커뮤 시스템 구현 예제 > 자동봇 응용' 카테고리의 다른 글

라이크/디스라이크  (0) 2018.05.20
개인 ID 등록  (0) 2018.05.20
자유 커맨드  (0) 2018.05.20
커맨드 누락 지적 / 우선도  (0) 2018.05.18
몬스터 출현  (0) 2018.05.17