alert_telegram.sh 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. "message_thread_id": "${telegramthreadid}",
  13. "parse_mode": "HTML",
  14. "disable_notification": "${telegramdisablenotification}",
  15. "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)",
  16. "disable_web_page_preview": "yes"
  17. }
  18. EOF
  19. )
  20. jsonnoinfo=$(
  21. cat << EOF
  22. {
  23. "chat_id": "${telegramchatid}",
  24. "message_thread_id": "${telegramthreadid}",
  25. "parse_mode": "HTML",
  26. "disable_notification": "${telegramdisablenotification}",
  27. "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)",
  28. "disable_web_page_preview": "yes"
  29. }
  30. EOF
  31. )
  32. if [ -z "${alerturl}" ]; then
  33. json="${jsonnoinfo}"
  34. else
  35. json="${jsoninfo}"
  36. fi
  37. fn_print_dots "Sending Telegram alert"
  38. 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")
  39. if [ -n "${telegramsend}" ]; then
  40. fn_print_fail_nl "Sending Telegram alert: ${telegramsend}"
  41. fn_script_log_fail "Sending Telegram alert: ${telegramsend}"
  42. else
  43. fn_print_ok_nl "Sending Telegram alert"
  44. fn_script_log_pass "Sent Telegram alert"
  45. fi