Это команда rivescriptp, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
rivescript - интерфейс командной строки для интерпретатора Perl RiveScript.
СИНТАКСИС
$ rivescript [параметры] [путь к документам RiveScript]
ОПИСАНИЕ
Это интерфейс командной строки для интерпретатора RiveScript. Этот скрипт отменяет
старый "rsdemo", а также может использоваться сторонними программами в неинтерактивном режиме. С этой целью,
он поддерживает различные методы ввода / вывода и обработки сеансов.
Если путь к документу RiveScript не указан, по умолчанию будет использоваться пример мозга, который поставляется
с модулем RiveScript, который основан на боте Eliza.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
--отладка, -д
Включает режим отладки. Это распечатает все данные отладки из RiveScript на ваш терминал.
Если вы хотите, чтобы вместо этого регистрировался файл, используйте параметр "--log" вместо
"--отлаживать".
--лог-файл
Включает режим отладки и выводит отладочные данные в «ФАЙЛ», а не на ваш терминал.
--жсон, -ж
Запускает "rivescript" в режиме JSON для запуска сценария неинтерактивным способом (для
Например, чтобы использовать RiveScript на языке программирования, не имеющем собственного
Библиотека RiveScript). Подробнее см. «Режим JSON».
--данные JSON_DATA
При использовании параметра "--json" вы можете предоставить входное сообщение JSON в виде команды
строковый аргумент с параметром "--data". Если не указан, то данные JSON будут
вместо этого читать со стандартного ввода. Поэтому этот вариант полезен, если вы не хотите
чтобы открыть двусторонний канал, а лучше передать сообщение как аргумент командной строки и
просто прочтите ответ из стандартного вывода. См. «Режим JSON» для получения более подробной информации.
--listen, -l [АДРЕС:] ПОРТ
Запускает "rivescript" в режиме TCP для запуска сценария как серверного демона. Если
адрес не указан, он будет привязан к "localhost". Подробнее см. «Режим TCP».
--строгий, --нострогий
Включает строгий режим для парсера RiveScript. По умолчанию он включен, используйте
"--nostrict", чтобы отключить его. Строгий режим не позволяет синтаксическому анализатору продолжить работу, когда он
находит синтаксическую ошибку в документах RiveScript.
--глубина = 50
Отменить ограничение глубины рекурсии по умолчанию. Это определяет, сколько раз RiveScript
будет рекурсивно следовать перенаправлениям на другие ответы. По умолчанию 50.
--utf8, -у
Используйте опцию UTF-8 в RiveScript. Это позволяет триггерам содержать иностранные символы.
и ослабляет фильтрацию сообщений пользователей. По умолчанию это не включено!
--Помогите
Отображает эту документацию в вашем терминале.
ИСПОЛЬЗОВАНИЕ
Интерактивное режим
Это режим по умолчанию, используемый при запуске rivescript без указания другого режима.
Этот режим ведет себя аналогично старому сценарию "rsdemo" и позволяет вам общаться один на один с
ваш бот RiveScript.
Этот режим можно использовать для тестирования вашего бота RiveScript. Пример:
$ rivescript / путь / к / rs / файлам
JSON режим
Этот режим следует использовать при вызове из сторонней программы. В этом режиме данные, которые
входящие и выходящие из скрипта кодируются в JSON.
Пример:
$ rivescript --json / путь / к / rs / файлам
Формат входящих данных JSON следующий:
{
"имя пользователя": "локальный пользователь",
"message": "Привет, бот!",
"vars": {
"name": "Эйден"
}
}
Здесь «имя пользователя» - это уникальное имя пользователя, «сообщение» - это его сообщение боту, а
"vars" - это хэш любых пользовательских переменных, которые ваша программа может отслеживать (например,
имя и возраст пользователя).
Ответ от rivescript будет выглядеть следующим образом:
{
"status": "ok",
"reply": "Привет, человек!",
"vars": {
"name": "Эйден"
}
}
Здесь «status» будет «ok» или «error», «reply» - это ответ бота на ваше сообщение и
"vars" - это хэш текущих переменных для пользователя (чтобы ваша программа могла их сохранить
где-то).
Стандарт вход or Данные
По умолчанию режим JSON будет читать из стандартного ввода для получения вашего сообщения JSON. Как
альтернативой этому, вы можете предоставить параметр "--data" для "rivescript", чтобы представить
входящие данные JSON в качестве аргумента командной строки.
Это может быть полезно, если вы не хотите открывать двусторонний канал для "rivescript", и если бы вы
скорее передайте свой ввод в качестве аргумента командной строки и просто прочитайте ответ от
стандартный вывод.
Пример:
$ rivescript --json --data '{"имя пользователя": "localuser", "message": "привет"}' \
/ путь / к / RS / файлам
Это заставит rivescript распечатать свой ответ JSON на стандартный вывод и выйти. Ты
не может иметь сеанс с отслеживанием состояния с помощью этого метода.
Конец of Сообщение
Есть два способа использовать режим JSON: "запустить и забыть" или сохранить состояние
сессия открыта.
В режиме «выстрелил и забыл» вы открываете программу, распечатываете входные данные JSON и отправляете сигнал EOF,
а затем «rivescript» отправляет вам ответ JSON и завершает работу.
В режиме сеанса с отслеживанием состояния вы должны отправить текст «__END__» в отдельной строке после того, как вы
завершите отправку данных JSON. Затем "rivescript" обработает его, вернет свой ответ JSON.
а затем в конце произнесите «__END__».
Пример:
{
"имя пользователя": "локальный пользователь",
"message": "Привет, бот!",
"vars": {}
}
__КОНЕЦ__
И ответ:
{
"status": "ok",
"reply": "Привет, человек!",
"vars": {}
}
__КОНЕЦ__
Таким образом, вы можете повторно использовать один и тот же канал для отправки и получения нескольких сообщений.
TCP режим
Режим TCP заставит "rivescript" прослушивать TCP-сокет на предмет входящих подключений. Сюда
вы можете подключиться к нему из другой программы (например, скрипта CGI или программы
написано на другом языке).
Пример:
$ rivescript --listen localhost: 2001
Режим TCP ведет себя аналогично «Режиму JSON»; самая большая разница в том, что он будет читать и
писать, используя сокет TCP вместо стандартного ввода и вывода. Однако, в отличие от режима JSON,
Режим TCP всегда работает с сохранением состояния (сообщения JSON должны заканчиваться текстом
"" __END__ "" в отдельной строке). См. «Конец сообщения».
Если строка «__END__» не будет найдена после того, как клиент прочитает 20 строк текста, она будет
откажитесь и отправьте клиенту сообщение об ошибке (в кодировке JSON) и отключите его.
Используйте rivescriptp онлайн на сервисах onworks.net