alert_telegram.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/bash
  2. # LinuxGSM alert_telegram.sh module
  3. # Author: Daniel Gibbs
  4. # Contributors: http://linuxgsm.com/contrib
  5. # Website: https://linuxgsm.com
  6. # Description: Sends Telegram Messenger alert.
  7. moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
  8. jsoninfo=$(
  9. cat << EOF
  10. {
  11. "chat_id": "${telegramchatid}",
  12. "parse_mode": "HTML",
  13. "text": "<b>${alerttitle}</b>\n\n<b>Server name</b>\n${servername}\n\n<b>Information</b>\n${alertmessage}\n\n<b>Game</b>\n${gamename}\n\n<b>Server IP</b>\n${alertip}:${port}\n\n<b>Hostname</b>\n${HOSTNAME}\n\n<b>More info</b>\n<a href='${alerturl}'>${alerturl}</a>\n\n<b>Server Time</b>\n$(date)",
  14. "disable_web_page_preview": "yes"
  15. }
  16. EOF
  17. )
  18. jsonnoinfo=$(
  19. cat << EOF
  20. {
  21. "chat_id": "${telegramchatid}",
  22. "parse_mode": "HTML",
  23. "text": "<b>${alerttitle}</b>\n\n<b>Server name</b>\n${servername}\n\n<b>Information</b>\n${alertmessage}\n\n<b>Game</b>\n${gamename}\n\n<b>Server IP</b>\n${alertip}:${port}\n\n<b>Hostname</b>\n${HOSTNAME}\n\n<b>Server Time</b>\n$(date)",
  24. "disable_web_page_preview": "yes"
  25. }
  26. EOF
  27. )
  28. if [ -z "${alerturl}" ]; then
  29. json="${jsonnoinfo}"
  30. else
  31. json="${jsoninfo}"
  32. fi
  33. fn_print_dots "Sending Telegram alert"
  34. telegramsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" ${curlcustomstring} "https://${telegramapi}/bot${telegramtoken}/sendMessage" | grep "error_code")
  35. if [ -n "${telegramsend}" ]; then
  36. fn_print_fail_nl "Sending Telegram alert: ${telegramsend}"
  37. fn_script_log_fail "Sending Telegram alert: ${telegramsend}"
  38. else
  39. fn_print_ok_nl "Sending Telegram alert"
  40. fn_script_log_pass "Sent Telegram alert"
  41. fi