]>
Commit | Line | Data |
---|---|---|
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 | ||
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)}" | |
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 | } |