튜토리얼 생성 기능은 봇버드에서만 가능합니다.
봇버드의 고급기능와 정규표현식을 이용합니다.
고급기능 : 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]로 이전단계로 돌아가게 합니다. 이전단계가 토탈라이크 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 |