aboutsummaryrefslogtreecommitdiffstats
path: root/global-functions
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2018-10-09 15:46:39 +0200
committerGravatar Christian Hesse <mail@eworm.de>2018-10-09 15:46:39 +0200
commit5e4ef0ab8fe45790acca764f81055ae83b9524fd (patch)
treed70c834e4339ca82b4786babc1a8d85a2fd455e9 /global-functions
parent977a5d5f5e021ecdcf22bacb831c5e4042a5c9e5 (diff)
global-functions: add function to notify via e-mail and telegram
Diffstat (limited to 'global-functions')
-rw-r--r--global-functions35
1 files changed, 35 insertions, 0 deletions
diff --git a/global-functions b/global-functions
index e60d28d..8eba595 100644
--- a/global-functions
+++ b/global-functions
@@ -45,3 +45,38 @@
:return $return;
}
+
+# send notification via e-mail and telegram
+# Note that subject and attachment are ignored for telegram!
+:global SendNotification do={
+ :local subject $1;
+ :local message $2;
+ :local attach $3;
+
+ :global "email-general-to";
+ :global "email-general-cc";
+ :global "telegram-tokenid";
+ :global "telegram-chatid";
+
+ :if ([ :len $"email-general-to" ] > 0) do={
+ :do {
+ / tool e-mail send to=$"email-general-to" cc=$"email-general-cc" \
+ subject=$subject body=$message file=$attach;
+ } on-error={
+ :log warning "Failed sending notification mail!";
+ }
+ }
+
+ # You need to import the certificate chain for api.telegram.org!
+ # https://certs.godaddy.com/repository/gdroot-g2.crt
+ # https://certs.godaddy.com/repository/gdig2.crt.pem
+ :if ([ :len $"telegram-tokenid" ] > 0 && [ :len $"telegram-chatid" ] > 0) do={
+ do {
+ / tool fetch check-certificate=yes-without-crl keep-result=no http-method=post \
+ ("https://api.telegram.org/bot" . $"telegram-tokenid" . "/sendMessage") \
+ http-data=("chat_id=" . $"telegram-chatid" . "&text=" . $message);
+ } on-error={
+ :log warning "Failed sending telegram notification!";
+ }
+ }
+}