add-bark-notify (#259)

This commit is contained in:
solitudechn 2026-01-28 17:19:34 +08:00 committed by GitHub
parent fc5c5db72b
commit 9755c32f8c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 49 additions and 1 deletions

View file

@ -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"
#
# BARK_KEY=""
#
# FILE_PATH="${ScriptWorkDir}/updates_available.txt"

View file

@ -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 "$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/$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
}