]> git.proxmox.com Git - mirror_acme.sh.git/blob - notify/weixin_work.sh
Update callmebotWhatsApp.sh
[mirror_acme.sh.git] / notify / weixin_work.sh
1 #!/usr/bin/env sh
2
3 #Support weixin work webhooks api
4
5 #WEIXIN_WORK_WEBHOOK="xxxx"
6
7 #optional
8 #WEIXIN_WORK_KEYWORD="yyyy"
9
10 #`WEIXIN_WORK_SIGNING_KEY`="SEC08ffdbd403cbc3fc8a65xxxxxxxxxxxxxxxxxxxx"
11
12 # subject content statusCode
13 weixin_work_send() {
14 _subject="$1"
15 _content="$2"
16 _statusCode="$3" #0: success, 1: error 2($RENEW_SKIP): skipped
17 _debug "_subject" "$_subject"
18 _debug "_content" "$_content"
19 _debug "_statusCode" "$_statusCode"
20
21 WEIXIN_WORK_WEBHOOK="${WEIXIN_WORK_WEBHOOK:-$(_readaccountconf_mutable WEIXIN_WORK_WEBHOOK)}"
22 if [ -z "$WEIXIN_WORK_WEBHOOK" ]; then
23 WEIXIN_WORK_WEBHOOK=""
24 _err "You didn't specify a weixin_work webhooks WEIXIN_WORK_WEBHOOK yet."
25 _err "You can get yours from https://work.weixin.qq.com/api/doc/90000/90136/91770"
26 return 1
27 fi
28 _saveaccountconf_mutable WEIXIN_WORK_WEBHOOK "$WEIXIN_WORK_WEBHOOK"
29
30 WEIXIN_WORK_KEYWORD="${WEIXIN_WORK_KEYWORD:-$(_readaccountconf_mutable WEIXIN_WORK_KEYWORD)}"
31 if [ "$WEIXIN_WORK_KEYWORD" ]; then
32 _saveaccountconf_mutable WEIXIN_WORK_KEYWORD "$WEIXIN_WORK_KEYWORD"
33 fi
34
35 _content=$(echo "$_content" | _json_encode)
36 _subject=$(echo "$_subject" | _json_encode)
37 _data="{\"msgtype\": \"text\", \"text\": {\"content\": \"[$WEIXIN_WORK_KEYWORD]\n$_subject\n$_content\"}}"
38
39 response="$(_post "$_data" "$WEIXIN_WORK_WEBHOOK" "" "POST" "application/json")"
40
41 if [ "$?" = "0" ] && _contains "$response" "errmsg\":\"ok"; then
42 _info "weixin_work webhooks event fired success."
43 return 0
44 fi
45
46 _err "weixin_work webhooks event fired error."
47 _err "$response"
48 return 1
49 }