]> git.proxmox.com Git - mirror_acme.sh.git/blob - notify/discord.sh
Update callmebotWhatsApp.sh
[mirror_acme.sh.git] / notify / discord.sh
1 #!/usr/bin/env sh
2
3 #Support Discord webhooks
4
5 # Required:
6 #DISCORD_WEBHOOK_URL=""
7 # Optional:
8 #DISCORD_USERNAME=""
9 #DISCORD_AVATAR_URL=""
10
11 discord_send() {
12 _subject="$1"
13 _content="$2"
14 _statusCode="$3" #0: success, 1: error 2($RENEW_SKIP): skipped
15 _debug "_statusCode" "$_statusCode"
16
17 DISCORD_WEBHOOK_URL="${DISCORD_WEBHOOK_URL:-$(_readaccountconf_mutable DISCORD_WEBHOOK_URL)}"
18 if [ -z "$DISCORD_WEBHOOK_URL" ]; then
19 DISCORD_WEBHOOK_URL=""
20 _err "You didn't specify a Discord webhook url DISCORD_WEBHOOK_URL yet."
21 return 1
22 fi
23 _saveaccountconf_mutable DISCORD_WEBHOOK_URL "$DISCORD_WEBHOOK_URL"
24
25 DISCORD_USERNAME="${DISCORD_USERNAME:-$(_readaccountconf_mutable DISCORD_USERNAME)}"
26 if [ "$DISCORD_USERNAME" ]; then
27 _saveaccountconf_mutable DISCORD_USERNAME "$DISCORD_USERNAME"
28 fi
29
30 DISCORD_AVATAR_URL="${DISCORD_AVATAR_URL:-$(_readaccountconf_mutable DISCORD_AVATAR_URL)}"
31 if [ "$DISCORD_AVATAR_URL" ]; then
32 _saveaccountconf_mutable DISCORD_AVATAR_URL "$DISCORD_AVATAR_URL"
33 fi
34
35 export _H1="Content-Type: application/json"
36
37 _content="$(printf "**%s**\n%s" "$_subject" "$_content" | _json_encode)"
38 _data="{\"content\": \"$_content\" "
39 if [ "$DISCORD_USERNAME" ]; then
40 _data="$_data, \"username\": \"$DISCORD_USERNAME\" "
41 fi
42 if [ "$DISCORD_AVATAR_URL" ]; then
43 _data="$_data, \"avatar_url\": \"$DISCORD_AVATAR_URL\" "
44 fi
45 _data="$_data}"
46
47 if _post "$_data" "$DISCORD_WEBHOOK_URL?wait=true"; then
48 # shellcheck disable=SC2154
49 if [ "$response" ]; then
50 _info "discord send success."
51 return 0
52 fi
53 fi
54 _err "discord send error."
55 _err "$response"
56 return 1
57 }