wecomchan/go-scf
riba2534 cde031f89d
更新云函数部署README
2021-07-07 21:37:54 +08:00
..
consts 云函数配置改为从环境变量中读取 2021-07-07 20:27:05 +08:00
dal AccessToken改为半小时获取一次 2021-07-07 00:10:22 +08:00
model add go-scf 2021-07-04 20:55:34 +08:00
service 云函数配置改为从环境变量中读取 2021-07-07 20:27:05 +08:00
utils 云函数配置改为从环境变量中读取 2021-07-07 20:27:05 +08:00
.gitignore 完成云函数部署第一版 2021-07-05 01:21:03 +08:00
README.md 更新云函数部署README 2021-07-07 21:37:54 +08:00
build.sh 云函数配置改为从环境变量中读取 2021-07-07 20:27:05 +08:00
go.mod 云函数配置改为从环境变量中读取 2021-07-07 20:27:05 +08:00
go.sum 云函数配置改为从环境变量中读取 2021-07-07 20:27:05 +08:00
main.go 云函数配置改为从环境变量中读取 2021-07-07 20:27:05 +08:00

README.md

腾讯云云函数部署Server酱📣

本项目是对 Wecom酱 进行的扩展,可以通过企业微信 OpenAPI 向微信推送消息,实现微信消息提醒。

利用 腾讯云云函数 ServerLess 的能力,以极低的费用(按量付费,且有大量免费额度)来完成部署

优点:

  • 便宜:说是免费也不过分
  • 简单不需要购买vps, 也不需要备案, 腾讯云速度有保障.
  • 易搭建:一个可执行二进制文件,直接上传至腾讯云函数控制面板即可,虽然使用 Golang 编写,但是搭建无需 Golang 环境
  • Serverless无服务器函数调用完资源会释放

🖐️ 简单介绍

我们要实现的目标是把消息推送到微信上,此处借助了使用 企业微信,可以创建机器人,利用微信的 OpenAPI 来实现消息推送,本项目做了一个简单的封装。

欢迎PR代码。

老用户注意:

目前已更新到2.0版本2.0版本不需要 config.yaml 文件,配置改为从云函数的环境变量中读取,请直接下载 main.zip 上传至云函数并且设置环境变量即可。

👋 使用方法

1. 注册企业 & 创建机器人 & 获取相关配置信息

此处不再赘述,项目主页有完整的操作方法,见:https://github.com/riba2534/wecomchan

2. 下载编译好的二进制文件

下载文件 版本发布页面

  • main.zip :云函数可执行二进制文件,不用改动,等会直接上传即可。

3. 在腾讯云中创建云函数 & 配置环境变量

打开云函数控制台:https://console.cloud.tencent.com/scf/list

点击新建:

image-20210705014652334

如图所示选择

  1. 自定义创建,函数类型为 事件函数
  2. 函数名称你随便填一个,推荐填 wecomchan
  3. 运行环境选择 Go1
  4. 函数代码选择本地上传ZIP包直接上传刚才下载的 main.zip
  5. 高级配置 中配置环境变量6 个环境变量,缺一不可,(后续想改环境变量,直接在创建好的函数中编辑即可)

环境变量配置说明

key value 备注
FUNC_NAME 填你在上面配置的函数说明
SEND_KEY 最终调用HTTP接口时校验是否是本人调用的密钥随意设置最终发起HTTP请求携带即可
WECOM_CID 企业微信公司ID
WECOM_SECRET 企业微信应用Secret
WECOM_AID 企业微信应用ID
WECOM_TOUID @all 此处指推送消息的默认发送对象,填 @all,则代表向该企业的全部成员推送消息(如果是个人用的话,一个企业中只有你自己,直接填 @all 即可),如果想指定具体发送的人,后面会说明怎么发。
  1. 触发器配置 中,新增 API网关触发,保持默认配置即可。
  2. 点击完成

基础配置

高级配置

触发器配置

稍等一会,进入你创建的函数:

image-20210705015301810

图中所示的访问路径就是函数的请求路径,至此,所有的配置完成。

👌 发起HTTP请求测试是否成功

当发送的文本中存在有换行符或其他字符时,请把 msg 参数进行 url 编码

简单使用:

在你刚才获得的路径之后拼几个GET参数在后面加上?sendkey=你配置的sendkey&msg_type=text&msg=hello

image-20210705015727720

可以看见返回 success 字样。

观察手机推送,也可以收到消息:

image-20210705015804023

之后,想怎么用就是你的事了,想给自己的微信推送,只需要给这个 URL 发一条 HTTP 请求即可。

给指定成员推送消息:

如果你的需求是给企业微信中的指定成员发送消息而不是所有成员,则在 GET 请求中多加一个参数 to_user,值为 成员ID列表如果想指定多个成员则多个成员ID之间用 | 隔开。如请求:https://xxxxx/wecomchan?sendkey=123456&msg_type=text&msg=测试消息&to_user=User1|User2 ,也能收到消息。

image-20210707211125345

成员的 ID 在企业微信后台,通讯录,点开指定成员资料,有个 账号 字段该字段即为该成员的ID.

参数说明:

下表为 GET 请求的参数说明:

参数名称 说明 是否可选
sendkey 校验是否是本人调用的密钥随意设置最终发起HTTP请求携带即可 必须
msg_type 消息类型,目前只有纯文本一种类型,值为 text 必须
msg 消息内容支持多行和UTF8字符在程序中构建字符串时加上换行符即可,如果有特殊符号,记得使用 urlencode 编码 必须
to_user 如果需要给企业内指定成员发消息,可在此参数中指定成员。如果不传本参数,默认所有成员。 可选

👇👇👇


如果发现bug或者对本项目有任何建议欢迎联系 riba2534@qq.com 或者直接提 Issue.