]> git.proxmox.com Git - mirror_acme.sh.git/blame - notify/discord.sh
Merge pull request #4754 from LJea/master
[mirror_acme.sh.git] / notify / discord.sh
CommitLineData
748cb280
IE
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
11discord_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)}"
451b290b 26 if [ "$DISCORD_USERNAME" ]; then
748cb280
IE
27 _saveaccountconf_mutable DISCORD_USERNAME "$DISCORD_USERNAME"
28 fi
29
30 DISCORD_AVATAR_URL="${DISCORD_AVATAR_URL:-$(_readaccountconf_mutable DISCORD_AVATAR_URL)}"
451b290b 31 if [ "$DISCORD_AVATAR_URL" ]; then
748cb280
IE
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\" "
451b290b 39 if [ "$DISCORD_USERNAME" ]; then
748cb280
IE
40 _data="$_data, \"username\": \"$DISCORD_USERNAME\" "
41 fi
451b290b 42 if [ "$DISCORD_AVATAR_URL" ]; then
748cb280
IE
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
97a45e3b 49 if [ "$response" ]; then
748cb280
IE
50 _info "discord send success."
51 return 0
52 fi
53 fi
54 _err "discord send error."
55 _err "$response"
56 return 1
57}