3

我在 RiveScript Interpreter 的 .rive 文件中有以下代码,当用户键入命令“给我结果”时,代码基本上会说 hello world:

> object base64 python
    import base64 as b64
    return b64.b64encode(" ".join(args))
< object
+ encode * in base64
- OK: <call>base64 <star></call>

现在,当使用带有命令的解释器运行它时python3 rivescript eg/brain,我得到了正确的预期结果。但是当我尝试使用以下代码运行它时:

from rivescript import RiveScript

bot = RiveScript()
bot.load_directory("./eg/brain")
bot.sort_replies()

while True:
    msg = raw_input('You> ')
    if msg == '/quit':
        quit()

    reply = bot.reply("localuser", msg)
    print 'Bot>', reply

正如这里提到,默认情况下 Python 支持是打开的。

编辑:我忘了提到我得到的错误如下:

[ERR: Object Not Found]

为什么我收到此错误?

4

1 回答 1

3

很简单:只需使用该对象宏的触发器回复机器人即可。

例如:要调用所描述的对象宏,请在您的 .rive 文件中包含以下触发器和回复:

> object hello_world python
   print("give me result")
< object 

+ hello world
- <call>hello_world</call>
于 2016-10-19T02:58:04.613 回答