Code Monkey home page Code Monkey logo

feishuchatbot's Introduction

飞书Chatbot 接口

本仓库使用开放平台机器人能力,完成机器人接收用户消息,并且回复消息的处理。可以基于此示例扩展机器人事件处理能力。

运行环境

准备工作

1、在开发者后台 新建企业自建应用,点击应用名称进入应用详情页。

2、点击凭证与基础信息切换页面,拿到 App IDApp Secret值,点击事件订阅切换页面:拿到 Encrypt KeyVerification Token 值。

3、拉取最新代码到本地,并进入对应目录。

git clone https://gitlab.diaoai.cc/ai/feishu_chatbot

4、修改环境值

修改./bots_yaml/xxx.yaml文件中应用凭证数据为真实数据。

APP_ID: cli_a58bcxxx
APP_SECRET: Rnx4qw4axxx
VERIFICATION_TOKEN: WuQ2haGpAVMxxx
ENCRYPT_KEY: 44F1Sdub3xxx
LARK_HOST: https://open.feishu.cn
BotOpenID: "ou_99de243c69c2xxxa"
PORT: 8087

以上参数可以在 开发者后台 查看,其中 Encrypt Key 可以为空。BotOpenID 可以@ 一下机器人得到(暂时没有找到如何查询应用的openID)

运行服务

pip install requirement.txt
python3 server.py xxxx(bot_name)

完成配置,体验机器人

机器人接收的消息都会以回调事件请求形式,通过 POST 请求方式,送达到服务端处理。所以本地服务端启动之后,回调事件无法请求到内网,需要配置公网请求 URL。

配置分为如下两步:使用工具完成内网穿透、在应用的事件订阅页面配置公网请求 URL。

  1. 阿里云转发端口映射到K8S服务器上

如果在个人使用时没有公网端口可以暴露,使用工具暴露本地服务的公网访问入口,此处给出 ngrok 使用示例,若本地未安装可以访问 ngrok ,按照教程完成安装。

  • 使用以下命令获得公网 URL 注意:使用反向代理工具(ngrok)之前需要确定是否符合公司网络安全策略。 注意:需要提前在 ngrok 获取token值。
  ngrok authtoken <token> // <token>需要替换
  ngrok http 3000
  1. 点击机器人切换页面>打开启用机器人开关。

  2. 事件订阅页面:配置请求网址 URL

使用工具生成的域名,填写请求网址 URL,如下图所示。 image.png

注意:配置请求网址URL和发送消息给机器人,都会有请求到后端服务,请求期间需要保证服务为启动状态。

  1. 为机器人选择监听事件。

事件订阅页面,点击添加事件,选择

  • 接收消息
  • 机器人进群 事件并订阅。
  1. 申请权限

权限管理页面,搜索需要的权限配置,并开通权限。

  • 依赖权限清单
    • 获取通讯录基本信息
    • 获取用户基本信息
    • 获取用户 user ID
    • 通过手机号或邮箱获取用户 ID
    • 获取与更新群组信息
    • 读取群信息
    • 获取群组信息
    • 获取与发送单聊、群组消息
    • 获取用户在群组中@机器人的消息
    • 接收群聊中@机器人消息事件
    • 获取群组中所有消息
    • 更新应用创建群聊的信息
    • 获取用户发给机器人的单聊消息
    • 读取用户发给机器人的单聊消息
    • 获取单聊、群组消息
    • 以应用的身份发消息

注意获取用户发给机器人的单聊消息权限未展示在已添加事件中,必须切换到权限管理页面开通。

  1. 版本管理与发布页面:创建版本>申请发布

注意:本次涉及需要审核的权限,可以利用 测试企业与人员功能 ,生成测试版应用(无需发布,配置直接生效),完成测试。

注意:成功发布后,可以根据是否能搜到机器人,判断用户是否在机器人可用性范围内。

  1. 打开飞书,搜索机器人名称并开始体验机器人自动回复。

feishuchatbot's People

Contributors

yuyouyu32 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.