一个具有异步功能的用于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]

要求:

依赖项:

  • 请求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.sayConversation.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.dataConversation.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。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
具有MVC模式的java观察者/可观察对象   java junit在测试执行后未清理记录器   java减少spring boot应用程序中的网络延迟   java MyFirstApp教程Android Studio sendMessage问题   java无法转换消息   java JSP如果是,则递增   URL和方法的java spring安全设置   spring中的java自动动态绑定   java在Wicket中构建表   使用JUnit在与main相同的类中使用java测试方法   使用tomcat 8管理器部署后,java找不到WAR文件路径   java原子整数错误行为   需要java吗?   java允许多个JLabel中的文本重叠   java Hadoop mapreduce映射程序编程   json参数化Jackson Java库的JsonProperty值