이것은 Ubuntu Online, Fedora Online, Windows online emulator 또는 MAC OS online emulator와 같은 다양한 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공자에서 실행할 수 있는 명령 rivescriptp입니다.
프로그램:
이름
rivescript - Perl RiveScript 인터프리터에 대한 명령줄 프런트엔드.
개요
$ rivescript [옵션] [RiveScript 문서 경로]
기술
이것은 RiveScript 인터프리터에 대한 명령줄 프런트엔드입니다. 이 스크립트는 다음을 폐기합니다.
오래된 "rsdemo"이며 타사 프로그램에서 비대화형으로 사용할 수도 있습니다. 이를 위해,
다양한 입출력 및 세션 처리 방법을 지원합니다.
RiveScript 문서 경로가 지정되지 않으면 기본적으로 제공되는 예제 브레인으로 설정됩니다.
Eliza 봇을 기반으로 한 RiveScript 모듈을 사용합니다.
옵션
--디버그, -d
디버그 모드를 활성화합니다. 이렇게 하면 RiveScript의 모든 디버그 데이터가 터미널에 인쇄됩니다.
대신 파일에 기록하려면 "--log" 옵션을 대신 사용하세요.
"--디버그".
--로그 파일
디버그 모드를 활성화하고 디버그 출력을 터미널이 아닌 "FILE"에 인쇄합니다.
--json, -j
비대화형 방식으로 스크립트를 실행하기 위해 JSON 모드에서 "rivescript"를 실행합니다.
예를 들어, 네이티브가 없는 프로그래밍 언어에서 RiveScript를 사용하려면
RiveScript 라이브러리). 자세한 내용은 "JSON 모드"를 참조하세요.
--데이터 JSON_DATA
"--json" 옵션을 사용하면 JSON 입력 메시지를 명령으로 제공할 수 있습니다.
"--data" 옵션과 함께 line 인수를 제공합니다. 제공되지 않으면 JSON 데이터는
대신 표준 입력에서 읽으세요. 따라서 이 옵션은 유용합니다.
양방향 파이프를 열려면 명령줄 인수로 메시지를 전달해야 합니다.
표준 출력에서 응답을 읽으세요. 자세한 내용은 "JSON 모드"를 참조하세요.
--listen, -l [주소:]포트
스크립트를 서버 데몬으로 실행하기 위해 TCP 모드에서 "rivescript"를 실행합니다.
주소가 지정되지 않으면 "localhost"에 바인딩됩니다. 자세한 내용은 "TCP 모드"를 참조하세요.
--엄격, --엄격하지 않음
RiveScript 파서에 대한 엄격 모드를 활성화합니다. 기본적으로 활성화되어 있습니다.
"--nostrict"를 사용하여 비활성화합니다. Strict 모드는 파서가 계속 진행되지 않도록 합니다.
RiveScript 문서에서 구문 오류를 발견했습니다.
--깊이=50
기본 재귀 깊이 제한을 재정의합니다. 이것은 RiveScript가 몇 번 반복되는지 제어합니다.
다른 답변으로의 리디렉션을 재귀적으로 따릅니다. 기본값은 50입니다.
--utf8, -u
RiveScript에서 UTF-8 옵션을 사용합니다. 이렇게 하면 트리거에 외래 문자가 포함될 수 있습니다.
그리고 사용자 메시지 필터링을 완화합니다. 이것은 기본적으로 활성화되지 않습니다!
--도움
터미널에 이 문서를 표시합니다.
사용법
대화 형 모드
다른 모드를 지정하지 않고 "rivescript"를 실행할 때 사용되는 기본 모드입니다.
이 모드는 이전의 "rsdemo" 스크립트와 유사하게 동작하며 1:1로 채팅할 수 있습니다.
RiveScript 봇.
이 모드는 RiveScript 봇을 테스트하는 데 사용할 수 있습니다. 예:
$ rivescript /경로/RS/파일
JSON 모드
이 모드는 타사 프로그램에서 호출할 때 사용해야 합니다. 이 모드에서는 데이터가
스크립트에 들어가고 나오는 내용은 JSON으로 인코딩됩니다.
예:
$ rivescript --json /경로/RS/파일
수신 JSON 데이터의 형식은 다음과 같습니다.
{
"사용자 이름": "로컬 사용자",
"메시지": "안녕하세요 봇!",
"변수": {
"name": "에이든"
}
}
여기서 "username"은 사용자의 고유한 이름이고 "message"는 봇에 보내는 메시지입니다.
"vars"는 프로그램에서 추적하고 있는 모든 사용자 변수의 해시입니다(예:
사용자 이름과 나이).
"rivescript"의 응답은 다음과 같습니다.
{
"상태": "알았어",
"reply": "안녕하세요, 인간!",
"변수": {
"name": "에이든"
}
}
여기서 "상태"는 "정상" 또는 "오류"이고 "답변"은 봇이 귀하의 메시지에 응답하는 것입니다.
"vars"는 사용자의 현재 변수의 해시입니다(프로그램에서 변수를 저장할 수 있도록 함)
어딘가에).
Standard 입력 or Data
기본적으로 JSON 모드는 표준 입력에서 읽어 JSON 메시지를 수신합니다.
이에 대한 대안으로 "rivescript"에 "--data" 옵션을 제공하여 다음을 표시할 수 있습니다.
명령줄 인수로 들어오는 JSON 데이터.
"rivescript"에 대한 양방향 파이프를 열지 않으려는 경우 이것이 도움이 될 수 있습니다.
대신 명령줄 인수로 입력을 전달하고 응답을 읽으십시오.
표준 출력.
예:
$ rivescript --json --data '{"사용자 이름": "로컬 사용자", "메시지": "안녕하세요" }' \
/경로/RS/파일
이렇게 하면 "rivescript"가 JSON 응답을 표준 출력에 인쇄하고 종료합니다.
이 방법을 사용하면 상태 저장 세션을 가질 수 없습니다.
종료 of 관심 있는 분야를 알려주세요(선택사항)
JSON 모드를 사용할 수 있는 방법은 두 가지가 있습니다. "실행하고 잊어버리기" 또는 상태 저장
세션 오픈.
"fire and forget"에서는 프로그램을 열고 JSON 입력을 인쇄하고 EOF 신호를 보냅니다.
그러면 "rivescript"가 JSON 응답을 보내고 종료됩니다.
상태 저장 세션 모드에서는 "__END__"라는 텍스트를 줄에 따로 보내야 합니다.
JSON 데이터 전송을 완료합니다. 그러면 "rivescript"가 이를 처리하고 JSON 응답을 반환합니다.
그리고 마지막에 "__END__"라고 말하세요.
예:
{
"사용자 이름": "로컬 사용자",
"메시지": "안녕하세요 봇!",
"변수": {}
}
__끝__
그리고 응답 :
{
"상태": "알았어",
"reply": "안녕하세요, 인간!",
"변수": {}
}
__끝__
이렇게 하면 같은 파이프를 재사용하여 여러 메시지를 보내고 받을 수 있습니다.
TCP 모드
TCP 모드는 "rivescript"가 들어오는 연결을 위해 TCP 소켓에서 수신하도록 합니다. 이렇게 하면
다른 프로그램(예: CGI 스크립트 또는 프로그램)에서 연결할 수 있습니다.
다른 언어로 작성됨).
예:
$ rivescript --listen 로컬호스트:2001
TCP 모드는 "JSON 모드"와 유사하게 동작합니다. 가장 큰 차이점은 읽고
표준 입력 및 출력 대신 TCP 소켓을 사용하여 작성합니다. 그러나 JSON 모드와 달리
TCP 모드 항상 상태 저장 방식으로 실행됩니다(JSON 메시지는 다음 텍스트로 끝나야 함)
""__END__""가 한 줄에 단독으로 표시됩니다. "메시지 끝"을 참조하세요.
클라이언트에서 20줄의 텍스트를 읽은 후 "__END__" 줄이 발견되지 않으면
포기하고 클라이언트에 오류 메시지(JSON으로 인코딩됨)를 보내고 연결을 끊습니다.
onworks.net 서비스를 사용하여 rivescriptp를 온라인으로 사용하세요