一个具有异步功能的用于python的cleverbot api包装器。
cleverbot.p的Python项目详细描述
py是一个用于python的cleverbot api包装器,可以同时使用 功能齐全,使用方便。
示例
importcleverbotcb=cleverbot.Cleverbot('YOUR_API_KEY',timeout=60)text=input("Say to Cleverbot: ")try:reply=cb.say(text)exceptcleverbot.CleverbotErroraserror:print(error)else:print(reply)finally:cb.close()
安装
从PyPI正常安装 管道:
pip install cleverbot.py
或者使用异步依赖项(仅限python 3.4.2+)安装它:
pip install cleverbot.py[async]
要求:
- python 3.2+或2.7
- A Cleverbot API key
依赖项:
- 请求1.0.0+
- 异步:
- aiohttp 1.0.0+
用法
首先导入包:
importcleverbot
如果您有异步依赖项并希望使用cleverbot 异步导入,如下所示:
fromcleverbotimportasync_ascleverbot
然后用api密钥和cleverbot状态初始化cleverbot, 如果您想调整克利夫波特的情绪,请超时或调整:
cb=cleverbot.Cleverbot('YOUR_API_KEY',cs='76nxdxIJ02AAA',timeout=60,tweak1=0,tweak2=100,tweak3=100)
cleverbot状态是您从中获得的会话的编码状态 与克利夫伯特交谈,包括整个谈话历史。
如果您异步使用cleverbot,还可以为 带loop关键字参数的Cleverbot
你现在可以开始和克利夫波特说话了。
直接与克利夫波特交谈:
reply=cb.say("Hello")
您可以将关键字参数传递给Cleverbot.say,例如cs来更改 会话,vtext以更改当前会话的历史记录,或 甚至tweak作为cb_settings_tweak的别名来更改Cleverbot的 心情。有关详细信息,请阅读the official Cleverbot API docs的“参数”部分。
或者,开始一段新的对话并从中交谈:
convo=cb.conversation()reply=convo.say("Hello")
对话就像迷你克里夫博特,所以你可以把任何 cleverbot接受包括key在内的关键字参数。你没有的价值观 不包括Cleverbot状态的传入将从 克利夫波特。
如果你想更方便地管理你的对话,你可以输入一个名字作为 你创造的每一次谈话的第一个论点 Cleverbot.conversations放入以名称为键和 以对话为价值。尝试混合命名和不命名的对话 会导致错误。
Cleverbot.say和Conversation.say如果您正在运行 异步的。
如果请求出错,例如无效的api密钥 APIError将被引发,其中包含错误消息,或者如果您定义了 超时,并且在定义的秒数内未收到回复 得到一个Timeout。
例如:
cleverbot.errors.APIError: Missing or invalid API key or POST request, please visit www.cleverbot.com/api
您可以从错误中获取错误消息和http状态 喜欢这样:
try:cb.say("Hello")exceptcleverbot.APIErroraserror:print(error.error,error.status)
这与Timeout类似,在这里您可以获得定义的超时 值为Timeout.timeout。
另外,所有cleverbot errors子类CleverbotError都可以使用 它捕捉每一个与克利夫波特相关的错误。
访问直接与Cleverbot交谈或通过交谈获得的数据 你可以从属性中获取或直接从属性中获取的对话 Cleverbot.data或Conversation.data字典:
cb.conversation_id==cb.data['conversation_id']convo.conversation_id==convo.data['conversation_id']
注意除了Cleverbot.cs和^{tt20}之外的每个属性$ (即Cleverbot状态)是只读的,如果将其设置为 一些东西。
有关所有数据及其说明的列表,请转到“json回复” the official Cleverbot API docs中的节。
要重置Cleverbot及其所有对话的数据,只需执行 以下内容:
cb.reset()
要仅重置单个对话的数据,请使用Conversation.reset代替:
convo.reset()
重置不会删除任何对话,因此您可以重用它们。
如果你想保存Cleverbot的当前状态及其所有对话 您可以使用Cleverbot.save:
cb.save('cleverbot.pickle')
这节省了你给克利夫波特和它的密钥、超时和调整 会话以及每个会话的数据,包括cleveRBOT状态。
为了加载并重新创建以前保存的状态为新的cleverbot 实例使用load:
cb=cleverbot.load('cleverbot.pickle')
要只加载数据和对话,请使用Cleverbot.load:
cb.load('cleverbot.pickle')
加载对话将删除旧对话。
当你处理完当前的cleverbot实例后,关闭cleverbot的 与API的连接:
cb.close()
Cleverbot.close是一个协程,如果您异步使用cleverbot。