💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] ## 简介 企业微信基于SDK [wxwork](https://github.com/ghaoo/wxwork) 实现。 因为市面上真找不到代码比较清晰的SDK,所以就自己写了一个,精力有限,只实现了部分功能,以后可能会继续开发,已经实现的功能见上面的链接,文档见[godoc](https://godoc.org/github.com/ghaoo/wxwork) > 请确保你已经了解企业微信相关操作!企业微信帮助中心 [https://work.weixin.qq.com/help](https://work.weixin.qq.com/help) > 确保你的web服务可以被外网访问! ## 开启API接收消息 企业微信转接器提供了消息接收的api,URI为:`wework`。 比如你的部署地址为 `https://baidu.com:7856`,对应消息接收地址为 `https://baidu.com:7856/wework` 配置好 `Token` 和 `EncodingAESKey`。 此api提供了url验证功能,将下面的配置填写完整,运行机器人服务才可进行验证。 ## 配置企业微信机器人 将`企业ID`,自建应用的`AgentId`和`Secret`,消息服务器的`Token` 和 `EncodingAESKey` 填入对应配置中: ```env # 聊天转接器 ROBOT_ADAPTER=wework # 企业微信 企业ID WORKWX_CORP_ID=xxxxxxxxx # 企业微信自建应用agentid WORKWX_AGENT_ID=xxxxxxxxxxxx # 企业微信自建应用secret WORKWX_SECRET=xxxxxxxx # 企业微信自建应用API接收消息token WORKWX_RECV_TOKEN=xxxxxxxxxx # 企业微信自建应用API接收消息EncodingAESKey WORKWX_RECV_AES_KEY=xxxxxxxxxx ``` ## 传入消息(Incoming) 当企业微信将消息或事件推送给转接器时,转接器会做以下操作: - 记录发送者 - 记录应用ID `AgentId` - 记录原始数据 `Data`,原始数据为SDK的`wxwork.RecvMessage`类型,使用`gob`进行序列化,脚本可以反序列化后获取原始记录,并做相关处理。 其中发送者记录在消息体中,其他记录在消息体的`Header`中,最后转接器将消息存入 `incoming` 通道中,等待机器人获取消息。 ## 传出消息(Outgoing) 消息通过脚本解析执行后会将处理结果发送给用户,脚本可以发送转接器支持的消息类型到客户端。 企业微信支持七种消息类型: - `text` 文本消息 - `markdown` markdown消息 - `image` 图片消息 - `voice` 语音消息 - `video` 视频消息 - `file` 文件消息 - `textcard` 文本卡片消息 > 消息类型请查看企业微信开发文档 [发送应用消息](https://open.work.weixin.qq.com/api/doc/90000/90135/90236) > 需要在 `Header`中设置消息类型 `msgtype` > 在不指定时默认为 `markdown` 类型消息 ## 同步联系人信息 该转接器同样也提供了同步联系人功能,需要 `通讯录同步` 权限。获取此权限需要设置 `WORKWX_CONTACT_SECRET` 的值为 `通讯录同步` 的 `Secret`