notification helpers
This commit is contained in:
63
helpers/notif.sh
Normal file
63
helpers/notif.sh
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
########################################################
|
||||||
|
# Notifications
|
||||||
|
########################################################
|
||||||
|
|
||||||
|
TITLE="$0"
|
||||||
|
NTFY_CHANNEL="example"
|
||||||
|
|
||||||
|
# отправляет простую нотификацию
|
||||||
|
ntfy_info() {
|
||||||
|
require ntfy
|
||||||
|
ntfy send \
|
||||||
|
--title "$TITLE" \
|
||||||
|
--message "$1" \
|
||||||
|
--priority 1 \
|
||||||
|
"$NTFY_CHANNEL"
|
||||||
|
}
|
||||||
|
|
||||||
|
# отправляет нотификацию с предупреждением
|
||||||
|
ntfy_warn() {
|
||||||
|
require ntfy
|
||||||
|
ntfy send \
|
||||||
|
--title "$TITLE" \
|
||||||
|
--tags "warning" \
|
||||||
|
--message "$1" \
|
||||||
|
--priority 5 \
|
||||||
|
"$NTFY_CHANNEL"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
notify () {
|
||||||
|
if ! installed "notify-send"; then
|
||||||
|
warning "Notifications toggled on, but 'notify-send' is not installed!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
[ -n "$1" ] && local title="$1"
|
||||||
|
local text="$2"
|
||||||
|
local level="$3"
|
||||||
|
local icon="$4"
|
||||||
|
case "$level" in
|
||||||
|
critical) local timeout=0 ;;
|
||||||
|
low) local timeout=5000 ;;
|
||||||
|
*) local timeout=10000 ;;
|
||||||
|
esac
|
||||||
|
debug "$title / $text / $level / $icon / $timeout"
|
||||||
|
notify-send "$title" "$text" -a "$0" -u "$level" -i "$icon" -t $timeout
|
||||||
|
}
|
||||||
|
|
||||||
|
# TODO: docblock
|
||||||
|
notify_error() {
|
||||||
|
notify "Error" "$1" "critical" "dialog-error"
|
||||||
|
}
|
||||||
|
|
||||||
|
# TODO: docblock
|
||||||
|
notify_warning() {
|
||||||
|
notify "Warning" "$1" "normal" "dialog-warning"
|
||||||
|
}
|
||||||
|
|
||||||
|
# TODO: docblock
|
||||||
|
notify_info() {
|
||||||
|
notify "" "$1" "low" "dialog-information"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user