用于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应用程序

创建完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

示例机器人应用程序

以下机器人程序是使用此框架创建的,在您开发自己的原始机器人程序时应作为指南。

高级主题

隐藏命令

  • 发布消息将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中的说明启动并运行。

 src=

单元测试

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

许可证

麻省理工学院

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

推荐PyPI第三方库


热门话题
java应用程序不是在Eclipse中运行,而是在命令行中运行   swing Java图形组件问题。似乎找不到错误   我需要键盘。close();让代码正常工作?   Springboot中的java HttpSession   抽象语法树我想添加一个语句。我试图解析它,java解析器异常被抛出。如何克服它?   java Hibernate:清理会话   具有不连续子集的java划分问题   java正则表达式查找最后一个冒号后的字符串   java从SpringShell执行OS命令   Java扫描器字符串输入   java字符串索引越界异常(charAt)   java执行器服务终止被卡住   Springockito没有继承java@ContextConfiguration   java如何为一个servlet映射多个url   java安卓获取命令的stderr   java生成类型。表:数据库中的大数字   安卓 Getter Setter返回NothingJava