diff --git a/default.config b/default.config index 90abfa5..dba7860 100644 --- a/default.config +++ b/default.config @@ -34,7 +34,7 @@ ## All commented values are examples only. Modify as needed. ## ## Uncomment the line below and specify the notification channels you wish to enable in a space separated string -# NOTIFY_CHANNELS="apprise discord DSM file generic HA gotify matrix ntfy pushbullet pushover slack smtp telegram file" +# NOTIFY_CHANNELS="apprise discord DSM file generic HA gotify matrix ntfy pushbullet pushover slack smtp telegram bark file" # ## Uncomment the line below and specify the number of seconds to delay notifications to enable snooze # SNOOZE_SECONDS=86400 @@ -90,4 +90,6 @@ # TELEGRAM_TOKEN="token-value" # TELEGRAM_TOPIC_ID="0" # +# NOTIFY_BARK_KEY="" +# # FILE_PATH="${ScriptWorkDir}/updates_available.txt" diff --git a/notify_templates/notify_bark.sh b/notify_templates/notify_bark.sh new file mode 100644 index 0000000..7dd16e4 --- /dev/null +++ b/notify_templates/notify_bark.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# NOTIFY_BARK_VERSION="v1.0" + +trigger_bark_notification() { + local channel="$1" + + if [[ -z "$jqbin" ]]; then + for path in "$jqbin" "jq" "./jq" "../jq" "./jq-linux-TEMP" "../jq-linux-TEMP"; do + if command -v "$path" &>/dev/null; then jqbin="$path"; break; fi + done + fi + [[ -z "$jqbin" ]] && { echo "Error: jq missing"; return 1; } + + [[ -z "$NOTIFY_BARK_KEY" ]] && { echo "Error: Key not set"; return 1; } + + local sound="${BARK_SOUND:-hello}" + local group="${BARK_GROUP:-Dockcheck}" + local icon_url="${BARK_ICON_URL:-https://raw.githubusercontent.com/mag37/dockcheck/main/logo.png}" + + + local title="${MessageTitle%.}" + local newline=$'\n' + local formatted_body="## $title${newline}${newline}---${newline}${newline}$MessageBody" + + local json_payload=$( "$jqbin" -n \ + --arg title "$title" \ + --arg body "$formatted_body" \ + --arg group "$group" \ + --arg sound "$sound" \ + --arg icon "$icon_url" \ + '{ + "title": $title, + "markdown": $body, + "group": $group, + "sound": $sound, + "icon": $icon, + }' ) + + + if curl -s -f -X POST "https://api.day.app/$NOTIFY_BARK_KEY" \ + -H "Content-Type: application/json; charset=utf-8" \ + -d "$json_payload" > /dev/null 2>&1; then + echo "Bark notification sent successfully (Markdown): $title" + fi +} \ No newline at end of file