用于python的ringcentral chatbot框架
ringcentral-bot-framework的Python项目详细描述
环形中心聊天机器人python
欢迎使用适用于python的ringcentral chatbot框架。这个框架极大地简化了构建bot的过程,使之能够与ringcentral的群聊系统glip一起工作。它旨在为开发人员完成大部分繁重的工作,使他们能够主要关注机器人的逻辑和用户体验。
功能
- 令牌管理-处理与bot身份验证相关的服务器逻辑,并验证令牌持久性
- 事件订阅-自动订阅bot事件,并在订阅过期时续订这些订阅
- 易于定制-通过编辑config.py来修改bot行为
- 数据持久性-内置对filedb和aws dynamodb的支持,具有完全可定制的db层
- 交钥匙托管-内置支持AWS Lambda托管您的机器人
开始
让我们启动并运行一个本地chatbot服务器,这样您就可以了解框架是如何工作的。我们的第一个聊天机器人将是一个简单的鹦鹉机器人,将重复的事情回到你。在开始之前,让我们为您的开发环境设置所需的一切。
安装必备组件
这个框架需要python3.6+和pip3。
首先,我们安装virtualenv,它将创建一个独立的环境来安装和运行这个框架所需的所有python库。使用virtualenv将确保为此项目安装的库不会与正在处理的其他python项目冲突或中断。
# init project bin/init source venv/bin/activate
接下来,我们需要运行用于将web请求路由到本地主机的工具ngrok。这将允许开发中的本地bot从ringcentral接收webhook。ngrok是一个节点应用程序,安装和启动如下:
./bin/proxy
ngrok启动后,它将在ngrok代理运行时显示url。它会说:
转发https://xxxxx.ngrok.io->;本地主机:9898
请记下此URL,因为您将在下一步中需要它。
创建您的机器人应用程序
你需要在RingCentral中创建你的机器人应用程序。单击下面的链接"创建机器人应用程序"将为您完成此操作。单击它时,将输入bot的回调url。这将是上面的ngrok url,外加/bot oauth
。例如:
https://xxxxxx.ngrok.io/bot-oauth
创建完bot应用程序后,请记下客户端ID和客户端机密。我们将在下一步中使用这些值。
编辑.env
示例.env文件可以在.env.sample
中找到。创建此文件的副本:
cp .sample.env .env
然后查找以下变量,并相应地进行设置:
ringcentral_bot_服务器
ringcentral_bot_client_id
ringcentral_bot_client_secret
安装bot行为
此bot框架从名为config.py
的文件。让我们复制鹦鹉机器人配置开始。
cp sample-bots/parrot.py ./bot.py
启动服务器
# rcs is cli server module from ringcentral_chatbot_server
rcs bot.py
将bot添加到glip中
当服务器启动并运行时,可以将bot添加到沙盒glip帐户中。导航上面创建的应用程序的仪表板。从左侧边栏菜单中选择"bot"。为您的机器人保存首选名称,然后单击"添加到glip"按钮。
发送测试消息
添加bot后,我们可以用它发送消息。登录我们的沙盒glip。然后使用您在上一步中选择的名称与机器人开始聊天。
你现在应该和机器人进行私人聊天了。它应该用类似于以下内容的信息来问候您:
< Buff行情>你好,我是聊天机器人。如果你想和我说话,请回答"鹦鹉宝宝"。
输入parrotbot polly想要饼干吗?让我们看看会发生什么。
快速入门:使用单行脚本初始化bot项目
现在您知道它是如何工作的了,您可以尝试在一行脚本中初始化bot项目:
# make sure you have python3.6+ and pip3 installed# use wget wget -qO- https://raw.githubusercontent.com/ringcentral/ringcentral-chatbot-factory-py/master/bin/init.sh | bash # or with curl curl -o- https://raw.githubusercontent.com/ringcentral/ringcentral-chatbot-factory-py/master/bin/init.sh | bash
示例机器人应用程序
以下机器人程序是使用此框架创建的,在您开发自己的原始机器人程序时应作为指南。
- 日期-时间聊天机器人:可以告诉时间/日期的简单易懂的聊天机器人。
- 助手机器人:简单的助手glip机器人显示用户/公司信息,该机器人将向您显示如何访问用户数据。
- 轮询bot:glip poll bot,此bot将显示如何创建/使用自定义数据库包装器。
- 翻译机器人程序:为glip翻译机器人程序。
- 欢迎机器人:glip chatbot欢迎新的团队成员。
- 所有bot:使用此bot向glip添加所有函数。
高级主题
隐藏命令
- 发布消息将bot重命名为newname
- 发布消息
@bot\u setavatar\u
和图像附件以设置bot配置文件图像。
使用cli工具创建bot应用程序
为了帮助加快创建其他glip bot的过程,创建了Ringcentral chatbot factory py。要使用它,请安装它,然后运行rcf
命令,如下所示:
pip3 install ringcentral_chatbot_factory rcf my-ringcentral-chat-bot
然后回答提示。然后按照my ringcentral chat bot/readme.md中的说明启动并运行。
单元测试
bin/test
待办事项
访问https://github.com/zxdong262/ringcentral-chatbot-python/issues" rel="nofollow">https://github.com/zxdong262/ringcentral chatbot python/issues
学分
核心bot框架逻辑是从ringcentral ai bot中植入的,由@tylerlong
许可证
麻省理工学院