|
9 | 9 |
|
10 | 10 | # Telegram API Token
|
11 | 11 | # Find telegram bot named "@botfarther", type /mybots, select your bot and select "API Token" to see your current token
|
12 |
| -TOKEN=$NOTIFY_PARAMETER_1 |
| 12 | +TOKEN=${NOTIFY_PARAMETER_1} |
13 | 13 |
|
14 | 14 | # Telegram Chat-ID or Group-ID
|
15 | 15 | # Open "https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates" inside your Browser and send a HELLO to your bot, refresh side
|
16 |
| -CHAT_ID=$NOTIFY_PARAMETER_2 |
17 |
| - |
18 |
| -# Write Check_MK output to a temporary file, delete depricated macros and create variable OUTPUT |
19 |
| -env | grep NOTIFY_ | grep -v "This macro is deprecated" | sort > $OMD_ROOT/tmp/telegram.out |
20 |
| -OUTPUT=$OMD_ROOT/tmp/telegram.out |
21 |
| - |
22 |
| -# Read OUTPUT variable and create some more variables for every text-part you want to use afterwards |
23 |
| -HOSTNAME=$(grep NOTIFY_HOSTNAME $OUTPUT | cut -d'=' -f2) |
24 |
| -HOSTALIAS=$(grep NOTIFY_HOSTALIAS $OUTPUT | cut -d'=' -f2) |
25 |
| -WHAT=$(grep NOTIFY_WHAT $OUTPUT | cut -d'=' -f2) |
26 |
| -NOTIFICATIONTYPE=$(grep NOTIFY_NOTIFICATIONTYPE $OUTPUT | cut -d'=' -f2) |
27 |
| -SERVICEDESC=$(grep NOTIFY_SERVICEDESC $OUTPUT | cut -d'=' -f2) |
28 |
| -SERVICEOUTPUT=$(grep NOTIFY_SERVICEOUTPUT $OUTPUT | cut -d'=' -f2) |
29 |
| -HOSTOUTPUT=$(grep NOTIFY_HOSTOUTPUT $OUTPUT | cut -d'=' -f2) |
30 |
| -PREVIOUSHOSTHARDSHORTSTATE=$(grep NOTIFY_PREVIOUSHOSTHARDSHORTSTATE $OUTPUT | cut -d'=' -f2) |
31 |
| -HOSTSHORTSTATE=$(grep NOTIFY_HOSTSHORTSTATE $OUTPUT | cut -d'=' -f2) |
32 |
| -PREVIOUSSERVICEHARDSHORTSTATE=$(grep NOTIFY_PREVIOUSSERVICEHARDSHORTSTATE $OUTPUT | cut -d'=' -f2) |
33 |
| -SERVICESHORTSTATE=$(grep NOTIFY_SERVICESHORTSTATE $OUTPUT | cut -d'=' -f2) |
34 |
| -SHORTDATETIME=$(grep NOTIFY_SHORTDATETIME $OUTPUT | cut -d'=' -f2) |
35 |
| -HOST_ADDRESS_4=$(grep NOTIFY_HOST_ADDRESS_4 $OUTPUT | cut -d'=' -f2) |
36 |
| -HOST_ADDRESS_6=$(grep NOTIFY_HOST_ADDRESS_6 $OUTPUT | cut -d'=' -f2) |
| 16 | +CHAT_ID=${NOTIFY_PARAMETER_2} |
37 | 17 |
|
38 | 18 | # Create a MESSAGE variable to send to your Telegram bot
|
39 |
| -MESSAGE="$HOSTNAME ($HOSTALIAS)%0A" |
40 |
| -MESSAGE+="$WHAT $NOTIFICATIONTYPE%0A%0A" |
41 |
| -if [[ $WHAT == "SERVICE" ]]; then |
42 |
| - MESSAGE+="$SERVICEDESC%0A" |
43 |
| - MESSAGE+="State changed from $PREVIOUSSERVICEHARDSHORTSTATE to $SERVICESHORTSTATE%0A" |
44 |
| - MESSAGE+="$SERVICEOUTPUT%0A" |
| 19 | +MESSAGE="${NOTIFY_HOSTNAME} (${NOTIFY_HOSTALIAS})%0A" |
| 20 | +MESSAGE+="${NOTIFY_WHAT} ${NOTIFY_NOTIFICATIONTYPE}%0A%0A" |
| 21 | +if [[ ${NOTIFY_WHAT} == "SERVICE" ]]; then |
| 22 | + MESSAGE+="${NOTIFY_SERVICEDESC}%0A" |
| 23 | + MESSAGE+="State changed from ${NOTIFY_PREVIOUSHOSTHARDSHORTSTATE} to ${NOTIFY_SERVICESHORTSTATE}%0A" |
| 24 | + MESSAGE+="${NOTIFY_SERVICEOUTPUT}%0A" |
45 | 25 | else
|
46 |
| - MESSAGE+="State changed from $PREVIOUSHOSTHARDSHORTSTATE to $HOSTSHORTSTATE%0A" |
47 |
| - MESSAGE+="$HOSTOUTPUT%0A" |
| 26 | + MESSAGE+="State changed from ${NOTIFY_PREVIOUSHOSTHARDSHORTSTATE} to ${NOTIFY_HOSTSHORTSTATE}%0A" |
| 27 | + MESSAGE+="${NOTIFY_HOSTOUTPUT}%0A" |
48 | 28 | fi
|
49 |
| -MESSAGE+="%0AIPv4: $HOST_ADDRESS_4 %0AIPv6: $HOST_ADDRESS_6%0A" |
50 |
| -MESSAGE+="$SHORTDATETIME" |
| 29 | +MESSAGE+="%0AIPv4: ${NOTIFY_HOST_ADDRESS_4} %0AIPv6: ${NOTIFY_HOST_ADDRESS_6}%0A" |
| 30 | +MESSAGE+="${NOTIFY_SHORTDATETIME}" |
51 | 31 |
|
52 | 32 | # Send message to Telegram bot
|
53 |
| -curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" -d chat_id=$CHAT_ID -d text="$MESSAGE" >> /dev/null |
| 33 | +curl -s -X POST "https://api.telegram.org/bot${TOKEN}/sendMessage" -d chat_id="${CHAT_ID}" -d text="${MESSAGE}" >> /dev/null |
54 | 34 |
|
55 | 35 | # End of script
|
56 | 36 | exit 0
|
0 commit comments