ChatGPT-Feishu
给飞书用户准备的 ChatGPT 机器人。视频演示如下,生成略慢,请耐心等待~
效果
202302100113456.mp4
如何使用本项目代码?
视频教程见 -> https://youtu.be/axvH1D0Dhnk | https://www.bilibili.com/video/BV1uT411R7TL/
1. 创建一个飞书开放平台应用,并获取到 APPID 和 Secret
访问 开发者后台,创建一个名为 ChatGPT 的应用,并上传应用头像。创建完成后,访问【凭证与基础信息】页面,复制 APPID 和 Secret 备用。
2. 开启机器人能力
打开应用的机器人应用功能
AirCode ,创建一个新的项目
3. 访问登录 AirCode ,创建一个新的 Node.js v16 的项目,项目名可以根据你的需要填写,可以填写 ChatGPT
4. 复制本项目下的 event.js 的源码内容,并粘贴到 Aircode 当中
访问ChatGPT-Feishu/event.js at master · bestony/ChatGPT-Feishu (github.com),复制代码
并把代码粘贴到 AIrcode 默认创建的 hello.js 。然后点击顶部的 deploy ,完成第一次部署。
部署成功后,可以在下方看到。
5. 安装所需依赖
这个开发过程中,我们使用了飞书开放平台官方提供的 SDK,以及 axios 来完成调用。点击页面左下角的包管理器,安装 axios
和 @larksuiteoapi/node-sdk
。安装完成后,点击上方的部署,使其生效。
6. 配置环境变量
接下来我们来配置环境变量,你需要配置三个环境变量 APPID
、SECRET
和 BOTNAME
,APPID 填写你刚刚在飞书开放平台获取的 APPID,SECRET 填写你在飞书开放平台获取到的 SECRET,BOTNAME 填写你的机器人的名字。
配置环境变量可能会失败,可以多 deploy 几次,确保配置成功。
配置完成后,点击上方的 Deploy 按钮部署,使这些环境变量生效。
会变成这样的
7. 获取 OpenAI 的 KEY ,并配置环境变量
访问 Account API Keys - OpenAI API ,点击这里的 Create new secret key ,创建一个新的 key ,并保存备用。
重新回到 Aircode, 配置一个名为 KEY
的环境变量,并填写你刚刚生成的 Key 。配置完成后,点击部署使其生效。
8. 开启权限并配置事件
访问开放平台页面,开通如下 6 个权限:
- im:message
- im:message.group_at_msg
- im:message.group_at_msg:readonly
- im:message.p2p_msg
- im:message.p2p_msg:readonly
- im:message:send_as_bot
然后回到 AirCode ,复制函数的调用地址。
然后回到事件订阅界面,添加事件。
9. 发布版本,等待审核
上述这些都配置完成后,你的机器人就配置好了,接下来只需要在飞书开放平台后台找到应用发布,创建一个全新的版本并发布版本即可。
如何贡献?
欢迎通过 issue 提交你的想法,帮助我迭代这个项目 or 直接通过 Pull Request 来提交你的代码。发布成功后,你就可以在飞书当中体验 ChatGPT 了。
有问题沟通可加群
FAQ
1. 提交事件订阅地址时提示 Challenge Code 没有返回?
可以看看是不是配置了 Encrypt Key ,暂时不支持对加密数据解密。路径是应用后台 - 事件订阅
2. 可以私聊回复,但没办法群聊回复?
确保 6 项开放平台权限都已经开通且已经发布版本,权限进入可用状态。
另一情况是飞书机器人名称与 BOTNAME 变量不一致。由于 aircode 的环境变量不支持中文,如果机器人名称为中文也会造成部署失败。
解决办法:修改飞书机器人的名称为英文,或直接修改代码中的 BOTNAME 值。
3. aircode 提示报错 failed to obtain token?
说明你的 aircode 的环境变量配置没成功,可以重新配置一下,然后再部署一下。
4. cannot set propoertis of undefined (setting 'event_type')?
说明你用 HTTP 发起请求 / 或者用了 aircode 的debug 功能,是正常现象。