在飞书与ChatGPT随时对话,智慧随身。
Feishu ChatGpt
- 🍋 基于goCache内存键值对缓存
有关飞书具体的配置文件说明,➡︎ 点击查看
git clone git@github.com:Leizhenpeng/feishu-chatGpt.git
cd feishu-chatGpt/code
# 配置config.yaml
mv config.example.yaml config.yaml
本地部署
如果你的服务器没有公网 IP,可以使用反向代理的方式
飞书的服务器在国内对ngrok的访问速度很慢,所以推荐使用一些国内的反向代理服务商
//测试部署
go run main.go
cpolar http 9000
//正式部署
nohup cpolar http 9000 -log=stdout &
//查看服务器状态
https://dashboard.cpolar.com/status
// 下线服务
ps -ef | grep cpolar
kill -9 PID
更多详细介绍,参考飞书上的小计算器: Go机器人来啦
docker部署
待补充
划重点@bro
千万不要用if else,这样的代码,不仅可读性差,而且,如果要增加一个处理器,就需要修改代码,违反了开闭原则
用户发送的文本消息,根据消息内容,匹配到对应的处理器,处理器处理消息,返回结果给用户
这种匹配,可以使用责任链模式,将匹配的逻辑抽象成一个个的处理器,然后将这些处理器串联起来,形成一个链条。
用户发送的消息,从链条的头部开始,依次匹配,匹配到后,就不再继续匹配,直接返回结果给用户
!!!切记!!!
责任链模式参考代码
- 获取 OpenAI 的 KEY
- 创建 飞书 机器人
- 前往开发者平台创建应用,并获取到 APPID 和 Secret
- 打开机器人能力
- 从cpolar或者serverless获得公网地址,例如
http://xxxx.r6.cpolar.top/webhook/event
,在飞书机器人的事件订阅
板块填写回调地址。 - 给订阅添加下列回调事件
- 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
- 发布版本,等待企业管理员审核通过
更多介绍,参考飞书上的小计算器: Go机器人来啦