From 04687ac4731661b7a3f394c9359c68f0f0b45534 Mon Sep 17 00:00:00 2001 From: Rookie_Zoe Date: Tue, 22 Dec 2020 20:35:43 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E4=BC=81=E4=B8=9A=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=9C=BA=E5=99=A8=E4=BA=BA=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy_tencent_scf.yml | 2 + docker/example/custom-append.yml | 2 + docker/example/custom-overwrite.yml | 2 + docker/example/default.yml | 3 +- githubAction.md | 1 + sendNotify.js | 51 ++++++++++++++++++++++++ 6 files changed, 60 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 89c83231..9df734fe 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -37,6 +37,7 @@ jobs: if [ $TG_USER_ID ]; then sed -i "/variables/a\ TG_USER_ID: $TG_USER_ID" serverless.yml; fi; if [ $DD_BOT_TOKEN ]; then sed -i "/variables/a\ DD_BOT_TOKEN: $DD_BOT_TOKEN" serverless.yml; fi; if [ $DD_BOT_SECRET ]; then sed -i "/variables/a\ DD_BOT_SECRET: $DD_BOT_SECRET" serverless.yml; fi; + if [ $QYWX_KEY ]; then sed -i "/variables/a\ QYWX_KEY: $QYWX_KEY" serverless.yml; fi; if [ $IGOT_PUSH_KEY ]; then sed -i "/variables/a\ IGOT_PUSH_KEY: $IGOT_PUSH_KEY" serverless.yml; fi; if [ $QQ_SKEY ]; then sed -i "/variables/a\ QQ_SKEY: $QQ_SKEY" serverless.yml; fi; if [ $QQ_MODE ]; then sed -i "/variables/a\ QQ_MODE: $QQ_MODE" serverless.yml; fi; @@ -84,6 +85,7 @@ jobs: TG_USER_ID: ${{ secrets.TG_USER_ID}} DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}} DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}} + QYWX_KEY: ${{ secrets.QYWX_KEY}} IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}} QQ_SKEY: ${{ secrets.QQ_SKEY}} QQ_MODE: ${{ secrets.QQ_MODE}} diff --git a/docker/example/custom-append.yml b/docker/example/custom-append.yml index 98ada21f..b685384d 100644 --- a/docker/example/custom-append.yml +++ b/docker/example/custom-append.yml @@ -28,6 +28,8 @@ jd_scripts: #钉钉机器人通知 - DD_BOT_TOKEN= - DD_BOT_SECRET= + #企业微信机器人通知 + - QYWX_KEY= #京东种豆得豆 - PLANT_BEAN_SHARECODES= #京东农场 diff --git a/docker/example/custom-overwrite.yml b/docker/example/custom-overwrite.yml index 5c77199a..9e920f7e 100644 --- a/docker/example/custom-overwrite.yml +++ b/docker/example/custom-overwrite.yml @@ -28,6 +28,8 @@ jd_scripts: #钉钉机器人通知 - DD_BOT_TOKEN= - DD_BOT_SECRET= + #企业微信机器人通知 + - QYWX_KEY= #京东种豆得豆 - PLANT_BEAN_SHARECODES= #京东农场 diff --git a/docker/example/default.yml b/docker/example/default.yml index 24c89c13..e9716b16 100644 --- a/docker/example/default.yml +++ b/docker/example/default.yml @@ -27,6 +27,8 @@ jd_scripts: #钉钉机器人通知 - DD_BOT_TOKEN= - DD_BOT_SECRET= + #企业微信机器人通知 + - QYWX_KEY= #京东种豆得豆 - PLANT_BEAN_SHARECODES= #京东农场 @@ -50,4 +52,3 @@ jd_scripts: #并不是所有的脚本都会被启用延迟,因为有一些脚本需要整点触发。延迟的目的有两个,1是降低抢占cpu资源几率,2是降低检查风险(主要是1) #填写数字,单位为秒,比如写为 RANDOM_DELAY_MAX=30 就是随机产生0到29之间的一个秒数,执行延迟的意思。 - RANDOM_DELAY_MAX= - diff --git a/githubAction.md b/githubAction.md index c2f88ebb..510eb7ae 100644 --- a/githubAction.md +++ b/githubAction.md @@ -89,6 +89,7 @@ | `TG_USER_ID` | telegram推送 | 非必须 | tg推送,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](./backUp/TG_PUSH.md) | | `DD_BOT_TOKEN` | 钉钉推送 | 非必须 | 钉钉推送[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于`=`符号后面的XXX即可 | | `DD_BOT_SECRET` | 钉钉推送 | 非必须 | 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的`SECXXXXXXXXXX`等字符 , 注:钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | +| `QYWX_KEY` | 企业微信推送 | 非必须 | 密钥,企业微信推送 webhook 后面的 key | | `IGOT_PUSH_KEY` | iGot推送 | 非必须 | iGot聚合推送,支持多方式推送,确保消息可达。 [参考文档](https://wahao.github.io/Bark-MP-helper ) | | `QQ_SKEY` | 酷推(Cool Push)推送 | 非必须 | 推送所需的Skey,登录后获取Skey [参考文档](https://cp.xuthus.cc/) | | `QQ_MODE` | 酷推(Cool Push)推送 | 非必须 | 推送方式(send或group或者wx,默认send) [参考文档](https://cp.xuthus.cc/) | diff --git a/sendNotify.js b/sendNotify.js index 0092d1d3..679df66a 100644 --- a/sendNotify.js +++ b/sendNotify.js @@ -43,6 +43,11 @@ let DD_BOT_TOKEN = ''; //密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串 let DD_BOT_SECRET = ''; +// =======================================企业微信机器人通知设置区域=========================================== +//此处填你企业微信机器人的 webhook,例如:693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa +//注:此处设置github action用户填写到Settings-Secrets里面(Name输入QYWX_KEY) +let QYWX_KEY = ''; + // =======================================iGot聚合推送通知设置区域=========================================== //此处填您iGot的信息(推送key,例如:https://push.hellyw.com/XXXXXXXX) //注:此处设置github action用户填写到Settings-Secrets里面(Name输入IGOT_PUSH_KEY) @@ -99,6 +104,10 @@ if (process.env.DD_BOT_TOKEN) { } } +if (process.env.QYWX_KEY) { + QYWX_KEY = process.env.QYWX_KEY; +} + if (process.env.IGOT_PUSH_KEY) { IGOT_PUSH_KEY = process.env.IGOT_PUSH_KEY } @@ -121,6 +130,7 @@ async function sendNotify(text, desp, params = {}) { await BarkNotify(text, desp, params);//iOS Bark APP await tgBotNotify(text, desp);//telegram 机器人 await ddBotNotify(text, desp);//钉钉机器人 + await qywxBotNotify(text, desp); //企业微信机器人 await iGotNotify(text, desp, params);//iGot await CoolPush(text, desp);//QQ酷推 } @@ -355,6 +365,47 @@ function ddBotNotify(text, desp) { }) } +function qywxBotNotify(text, desp) { + return new Promise(resolve => { + const options = { + url: `https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${QYWX_KEY}`, + json: { + msgtype: 'text', + text: { + content: ` ${text}\n\n${desp}`, + }, + }, + headers: { + 'Content-Type': 'application/json', + }, + }; + if (QYWX_KEY) { + $.post(options, (err, resp, data) => { + try { + if (err) { + console.log('企业微信发送通知消息失败!!\n'); + console.log(err); + } else { + data = JSON.parse(data); + if (data.errcode === 0) { + console.log('企业微信发送通知消息完成。\n'); + } else { + console.log(`${data.errmsg}\n`); + } + } + } catch (e) { + $.logErr(e, resp); + } finally { + resolve(data); + } + }); + } else { + console.log('您未提供企业微信机器人推送所需的QYWX_KEY,取消企业微信推送消息通知\n'); + resolve(); + } + }); +} + function iGotNotify(text, desp, params={}){ return new Promise(resolve => { if (IGOT_PUSH_KEY) {