gameservergame-servergame-servershacktoberfestdedicated-game-serversgamelinuxgsmserverbashgaminglinuxmultiplayer-game-servershell
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.0 KiB
111 lines
3.0 KiB
#!/bin/bash
|
|
# LinuxGSM alert_rocketchat.sh function
|
|
# Author: Alasdair Haig
|
|
# Website: https://linuxgsm.com
|
|
# Description: Sends Rocketchat alert.
|
|
|
|
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
|
|
|
|
if ! command -v jq > /dev/null; then
|
|
fn_print_fail_nl "Sending Rocketchat alert: jq is missing."
|
|
fn_script_log_fatal "Sending Rocketchat alert: jq is missing."
|
|
fi
|
|
|
|
#json=$(cat <<EOF
|
|
#{
|
|
# "attachments": [
|
|
# {
|
|
# "color": "#36a64f",
|
|
# "blocks": [
|
|
# {
|
|
# "type": "section",
|
|
# "text": {
|
|
# "type": "mrkdwn",
|
|
# "text": "*LinuxGSM Alert*"
|
|
# }
|
|
# },
|
|
# {
|
|
# "type": "section",
|
|
# "text": {
|
|
# "type": "mrkdwn",
|
|
# "text": "*${alertemoji} ${alertsubject}* \n ${alertbody}"
|
|
# }
|
|
# },
|
|
# {
|
|
# "type": "divider"
|
|
# },
|
|
# {
|
|
# "type": "section",
|
|
# "fields": [
|
|
# {
|
|
# "type": "mrkdwn",
|
|
# "text": "*Game:* \n ${gamename}"
|
|
# },
|
|
# {
|
|
# "type": "mrkdwn",
|
|
# "text": "*Server IP:* \n ${alertip}:${port}"
|
|
# },
|
|
# {
|
|
# "type": "mrkdwn",
|
|
# "text": "*Server Name:* \n ${servername}"
|
|
# }
|
|
# ]
|
|
# },
|
|
# {
|
|
# "type": "section",
|
|
# "text": {
|
|
# "type": "mrkdwn",
|
|
# "text": "Hostname: ${HOSTNAME} / More info: ${alerturl}"
|
|
# }
|
|
# }
|
|
# ]
|
|
# }
|
|
# ]
|
|
#}
|
|
#EOF
|
|
#)
|
|
|
|
json=$(cat <<EOF
|
|
{
|
|
"alias":"Yggdragsil",
|
|
"text":"*" + ${alertemoji} ${alertsubject} + "*" + \n ${alertbody},
|
|
"attachments":[
|
|
{
|
|
"title":"Linuxgsm Alert",
|
|
"text":"Hostname: ${HOSTNAME}"
|
|
"color":"#36a64f",
|
|
"fields":[
|
|
{
|
|
"short":true,
|
|
"title":"Game:",
|
|
"value":"${gamename}"
|
|
},
|
|
{
|
|
"short":true,
|
|
"title":"Server IP:",
|
|
"value":"${alertip}:${port}"
|
|
},
|
|
{
|
|
"short":true,
|
|
"title":"Server Name:",
|
|
"value":"${servername}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
EOF
|
|
)
|
|
|
|
|
|
fn_print_dots "Sending Rocketchat alert"
|
|
|
|
rocketlaunch=$(curl -X POST -H 'Content-Type: application/json' --data "$(echo -n "$json" | jq -c .)" "${rocketchatwebhook}")
|
|
|
|
if [ "${rocketlaunch}" == "ok" ]; then
|
|
fn_print_ok_nl "Sending Rocketchat alert"
|
|
fn_script_log_pass "Sending Rocketchat alert"
|
|
else
|
|
fn_print_fail_nl "Sending Rocketchat alert: ${rocketlaunch}"
|
|
fn_script_log_fatal "Sending Rocketchat alert: ${rocketlaunch}"
|
|
fi
|
|
|