如何在Rivescript" .rive"中执行Python3对象宏。脚本?

时间:2016-09-07 18:23:54

标签: python-3.x aiml rivescript

我在.rive文件中有以下代码用于RiveScript Interpreter,当用户输入命令时,代码基本上会显示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

正如它提到的here默认情况下支持Python。

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

[ERR: Object Not Found]

为什么我收到此错误?

1 个答案:

答案 0 :(得分:3)

简单:只需使用该对象宏的触发器回复僵尸程序。

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

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

+ hello world
- <call>hello_world</call>