1

是否可以在 RiveScript 内部访问对象宏?我对此有点困惑。我已经定义了以下脚本:

> object small python
  return "4"
< object

+ small
- <call>small</call>

当我输入时,这给了我一个错误small

error: [ERR: Object Not Found]
4

2 回答 2

1

在对象名称之后留一个空格,就像这样

- <call>small  </call>
于 2019-09-22T18:34:12.910 回答
1

的定义object似乎没问题,但您可能从https://play.rivescript.com/https://www.rivescript.com/try运行它,它们只允许 JavaScript 或 CoffeeScript(请参阅关于页面)。

您可以使用rivescript-python运行代码,您可以通过以下方式安装:

pip install rivescript

然后将您的 rivescript 放入文件 ( .rive) 中,例如,在helloworld.rive.

然后在python中:

from rivescript import RiveScript
bot = RiveScript()
bot.load_directory('.') # set your directory where the .rive file(s) is/are
bot.sort_replies()

现在您可以使用bot.reply来获取某个输入的答案:

>>> bot.reply('localuser','small')
'4'

编辑:我已经在 Ubuntu 14.04 上使用 Python 3.4.3 和 Python 2.7.12 以及 rivescript 1.14.4 测试了这段代码。

于 2017-02-09T15:39:53.503 回答