Browse Source

refactor(alert): refactor alert functions

- Refactored the alert functions to improve code readability and maintainability.
- Renamed variables for better clarity and consistency.
- Updated function names to be more descriptive of their purpose.
- Reorganized the order of function definitions for better organization.
pull/4345/head
Daniel Gibbs 2 years ago
parent
commit
00a6b222dc
No known key found for this signature in database GPG Key ID: 2076B128385E8C55
  1. 87
      lgsm/modules/alert.sh
  2. 8
      lgsm/modules/alert_discord.sh
  3. 4
      lgsm/modules/alert_email.sh
  4. 4
      lgsm/modules/alert_gotify.sh
  5. 4
      lgsm/modules/alert_ifttt.sh
  6. 4
      lgsm/modules/alert_pushbullet.sh
  7. 2
      lgsm/modules/alert_pushover.sh
  8. 2
      lgsm/modules/alert_rocketchat.sh
  9. 2
      lgsm/modules/alert_slack.sh
  10. 2
      lgsm/modules/alert_telegram.sh
  11. 2
      lgsm/modules/info_messages.sh

87
lgsm/modules/alert.sh

@ -28,12 +28,12 @@ fn_alert_log() {
}
fn_alert_test() {
fn_script_log_info "Sending test alert"
alertsubject="Alert - ${selfname} - Test"
fn_script_log_info "Sending alert: Testing LinuxGSM Alert. No action to be taken"
alerttitle="Alert - ${selfname} - Test"
alertemoji="🚧"
alertsound="1"
alerturl="not enabled"
alertbody="Testing LinuxGSM Alert. No action to be taken."
alertmessage="Testing LinuxGSM Alert. No action to be taken."
# Green
alertcolourhex="#cdcd00"
alertcolourdec="13487360"
@ -41,36 +41,36 @@ fn_alert_test() {
# Running command manually
fn_alert_stopped() {
fn_script_log_info "Sending alert: Stopped"
alertsubject="Alert - ${selfname} - Stopped"
fn_script_log_info "Sending alert: ${selfname} has stopped"
alerttitle="Alert - ${selfname} - Stopped"
alertemoji="❌"
alertsound="1"
alerturl="not enabled"
alertbody="${selfname} has stopped"
alertmessage="${selfname} has stopped."
# Red
alertcolourhex="#cd0000"
alertcolourdec="13434880"
}
fn_alert_started() {
fn_script_log_info "Sending alert: Started"
alertsubject="Alert - ${selfname} - Started"
fn_script_log_info "Sending alert: ${selfname} has started"
alerttitle="Alert - ${selfname} - Started"
alertemoji="✅"
alertsound="1"
alerturl="not enabled"
alertbody="${selfname} has started"
alertmessage="${selfname} has started."
# Green
alertcolourhex="#00cd00"
alertcolourdec="52480"
}
fn_alert_restarted() {
fn_script_log_info "Sending alert: Restarted"
alertsubject="Alert - ${selfname} - Restarted"
fn_script_log_info "Sending alert: ${selfname} has restarted"
alerttitle="Alert - ${selfname} - Restarted"
alertemoji="↺"
alertsound="1"
alerturl="not enabled"
alertbody="${selfname} has restarted"
alertmessage="${selfname} has restarted"
# Green
alertcolourhex="#00cd00"
alertcolourdec="52480"
@ -78,24 +78,24 @@ fn_alert_restarted() {
# Failed monitor checks
fn_alert_monitor_session() {
fn_script_log_info "Sending alert: Restarted: ${executable} not running"
alertsubject="Alert - ${selfname} - Restarted"
fn_script_log_info "Sending alert: ${selfname} is not running. Game server has been restarted"
alerttitle="Alert - ${selfname} - Restarted"
alertemoji="🚨"
alertsound="2"
alerturl="not enabled"
alertbody="${selfname} ${executable} not running"
alertmessage="${selfname} is not running. Game server has been restarted."
# Red
alertcolourhex="#cd0000"
alertcolourdec="13434880"
}
fn_alert_monitor_query() {
fn_script_log_info "Sending alert: Restarted: ${selfname}"
alertsubject="Alert - ${selfname} - Restarted"
fn_script_log_info "Sending alert: Unable to query ${selfname}. Game server has been restarted"
alerttitle="Alert - ${selfname} - Restarted"
alertemoji="🚨"
alertsound="2"
alerturl="not enabled"
alertbody="Unable to query: ${selfname}"
alertmessage="Unable to query ${selfname}. Game server has been restarted."
# Red
alertcolourhex="#cd0000"
alertcolourdec="13434880"
@ -103,72 +103,85 @@ fn_alert_monitor_query() {
# Update alerts
fn_alert_update() {
fn_script_log_info "Sending alert: Updated"
alertsubject="Alert - ${selfname} - Updated"
alertemoji="🎮"
fn_script_log_info "Sending alert: ${selfname} has received a game server update: ${localbuild}"
alerttitle="Alert - ${selfname} - Updated"
alertemoji="🎉"
alertsound="1"
alerturl="not enabled"
alertbody="${gamename} received update: ${remotebuildversion}"
alertmessage="${selfname} has received a game server update: ${localbuild}."
# Green
alertcolourhex="#00cd00"
alertcolourdec="52480"
}
fn_alert_check_update() {
fn_script_log_info "Sending alert: Update available"
alertsubject="Alert - ${selfname} - Update available"
fn_script_log_info "Sending alert: ${gamename} update available: ${remotebuildversion}"
alerttitle="Alert - ${selfname} - Update available"
alertemoji="🎮"
alertsound="1"
alerturl="not enabled"
alertbody="${gamename} update available: ${remotebuildversion}"
alertmessage="${gamename} update available: ${remotebuildversion}"
# Blue
alertcolourhex="#1e90ff"
alertcolourdec="2003199"
}
fn_alert_update_linuxgsm() {
fn_script_log_info "Sending alert: ${selfname} has received an LinuxGSM update"
alerttitle="Alert - ${selfname} - LinuxGSM updated"
alertemoji="🎉"
alertsound="1"
alerturl="not enabled"
alertbody="${gamename} update available"
alertmessage="${selfname} has received an LinuxGSM update."
# Green
alertcolourhex="#00cd00"
alertcolourdec="52480"
}
fn_alert_permissions() {
fn_script_log_info "Sending alert: Permissions error"
alertsubject="Alert - ${selfname}: Permissions error"
fn_script_log_info "Sending alert: ${selfname} has permissions issues"
alerttitle="Alert - ${selfname}: Permissions error"
alertemoji="❗"
alertsound="2"
alerturl="not enabled"
alertbody="${selfname} has permissions issues"
alertmessage="${selfname} has permissions issues"
# Red
alertcolourhex="#cd0000"
alertcolourdec="13434880"
}
fn_alert_config() {
fn_script_log_info "Sending alert: New _default.cfg"
alertsubject="Alert - ${selfname} - New _default.cfg"
fn_script_log_info "Sending alert: ${selfname} has received a new _default.cfg"
alerttitle="Alert - ${selfname} - New _default.cfg"
alertemoji="🎮"
alertsound="1"
alerturl="not enabled"
alertbody="${selfname} has received a new _default.cfg. Check file for changes."
alertmessage="${selfname} has received a new _default.cfg."
# Blue
alertcolourhex="#1e90ff"
alertcolourdec="2003199"
}
fn_alert_wipe() {
fn_script_log_info "Sending alert: Wipe"
alertsubject="Alert - ${selfname} - Wipe"
fn_script_log_info "Sending alert: ${selfname} has been wiped"
alerttitle="Alert - ${selfname} - Wipe"
alertemoji="🧹"
alertsound="1"
alerturl="not enabled"
alertbody="${selfname} has been wiped"
alertmessage="${selfname} has been wiped"
# Blue
alertcolourhex="#1e90ff"
alertcolourdec="2003199"
}
fn_alert_info() {
fn_script_log_info "Sending alert: Info"
alertsubject="Alert - ${selfname} - Info"
fn_script_log_info "Sending alert: ${selfname} info"
alerttitle="Alert - ${selfname} - Info"
alertemoji="📄"
alertsound="1"
alerturl="not enabled"
alertbody="${selfname} info"
alertmessage="${selfname} info"
# Blue
alertcolourhex="#1e90ff"
alertcolourdec="2003199"

8
lgsm/modules/alert_discord.sh

@ -16,13 +16,13 @@ jsonshortinfo=$(
"embeds": [
{
"author": {
"name": "${alertemoji} ${alertsubject} ${alertemoji}",
"name": "${alertemoji} ${alerttitle} ${alertemoji}",
"url": "",
"icon_url": "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/alert_discord_logo.jpg"
},
"title": "${servername}",
"url": "",
"description": "${alertbody} \n More info: ${alerturl}",
"description": "${alertmessage} \n More info: ${alerturl}",
"color": "${alertcolourdec}",
"type": "content",
"thumbnail": {
@ -63,13 +63,13 @@ jsonshortnoinfo=$(
"embeds": [
{
"author": {
"name": "${alertemoji} ${alertsubject} ${alertemoji}",
"name": "${alertemoji} ${alerttitle} ${alertemoji}",
"url": "",
"icon_url": "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/alert_discord_logo.jpg"
},
"title": "${servername}",
"url": "",
"description": "${alertbody}",
"description": "${alertmessage}",
"color": "${alertcolourdec}",
"type": "content",
"thumbnail": {

4
lgsm/modules/alert_email.sh

@ -10,9 +10,9 @@ moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
fn_print_dots "Sending Email alert: ${email}"
if [ -n "${emailfrom}" ]; then
mail -s "${alertsubject}" -r "${emailfrom}" "${email}" < "${alertlog}"
mail -s "${alerttitle}" -r "${emailfrom}" "${email}" < "${alertlog}"
else
mail -s "${alertsubject}" "${email}" < "${alertlog}"
mail -s "${alerttitle}" "${email}" < "${alertlog}"
fi
exitcode=$?
if [ "${exitcode}" == "0" ]; then

4
lgsm/modules/alert_gotify.sh

@ -10,8 +10,8 @@ module_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
json=$(
cat << EOF
{
"title": "${alertemoji} ${alertsubject} ${alertemoji}",
"message": "Server name\n${servername}\n\nMessage\n${alertbody}\n\nGame\n${gamename}\n\nServer IP\n${alertip}:${port}\n\nHostname\n${HOSTNAME}\n\nMore info\n${alerturl}",
"title": "${alertemoji} ${alerttitle} ${alertemoji}",
"message": "Server name\n${servername}\n\nMessage\n${alertmessage}\n\nGame\n${gamename}\n\nServer IP\n${alertip}:${port}\n\nHostname\n${HOSTNAME}\n\nMore info\n${alerturl}",
"priority": 5
}
EOF

4
lgsm/modules/alert_ifttt.sh

@ -11,8 +11,8 @@ json=$(
cat << EOF
{
"value1": "${selfname}",
"value2": "${alertemoji} ${alertsubject} ${alertemoji}",
"value3": "Message: \n${alertbody}\n\nGame: \n${gamename}\n\nServer name: \n${servername}\n\nHostname: \n${HOSTNAME}\n\nServer IP: \n${alertip}:${port}\n\nMore info: \n${alerturl}"
"value2": "${alertemoji} ${alerttitle} ${alertemoji}",
"value3": "Message: \n${alertmessage}\n\nGame: \n${gamename}\n\nServer name: \n${servername}\n\nHostname: \n${HOSTNAME}\n\nServer IP: \n${alertip}:${port}\n\nMore info: \n${alerturl}"
}
EOF
)

4
lgsm/modules/alert_pushbullet.sh

@ -12,8 +12,8 @@ json=$(
{
"channel_tag": "${channeltag}",
"type": "note",
"title": "${alertemoji} ${alertsubject} ${alertemoji}",
"body": "Server name\n${servername}\n\nMessage\n${alertbody}\n\nGame\n${gamename}\n\nServer IP\n${alertip}:${port}\n\nHostname\n${HOSTNAME}\n\nMore info\n${alerturl}"
"title": "${alertemoji} ${alerttitle} ${alertemoji}",
"body": "Server name\n${servername}\n\nMessage\n${alertmessage}\n\nGame\n${gamename}\n\nServer IP\n${alertip}:${port}\n\nHostname\n${HOSTNAME}\n\nMore info\n${alerturl}"
}
EOF
)

2
lgsm/modules/alert_pushover.sh

@ -22,7 +22,7 @@ else
alertpriority="0"
fi
pushoversend=$(curl --connect-timeout 10 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alertemoji} ${alertsubject} ${alertemoji}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Message</b><br>${alertbody}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br><a href='https://www.gametracker.com/server_info/${alertip}:${port}'>${alertip}:${port}</a><br><br><b>Hostname</b><br>${HOSTNAME}<br><br><b>More info</b><br><a href='${alerturl}'>${alerturl}</a>" "https://api.pushover.net/1/messages.json" | grep errors)
pushoversend=$(curl --connect-timeout 10 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alertemoji} ${alerttitle} ${alertemoji}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Message</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br><a href='https://www.gametracker.com/server_info/${alertip}:${port}'>${alertip}:${port}</a><br><br><b>Hostname</b><br>${HOSTNAME}<br><br><b>More info</b><br><a href='${alerturl}'>${alerturl}</a>" "https://api.pushover.net/1/messages.json" | grep errors)
if [ -n "${pushoversend}" ]; then
fn_print_fail_nl "Sending Pushover alert: ${pushoversend}"

2
lgsm/modules/alert_rocketchat.sh

@ -11,7 +11,7 @@ json=$(
cat << EOF
{
"alias": "LinuxGSM",
"text": "*${alertemoji} ${alertsubject} ${alertemoji}* \n *${servername}* \n ${alertbody} \n More info: ${alerturl}",
"text": "*${alertemoji} ${alerttitle} ${alertemoji}* \n *${servername}* \n ${alertmessage} \n More info: ${alerturl}",
"attachments": [
{
"fields": [

2
lgsm/modules/alert_slack.sh

@ -25,7 +25,7 @@ json=$(
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*${alertemoji} ${alertsubject}* \n ${alertbody}"
"text": "*${alertemoji} ${alerttitle}* \n ${alertmessage}"
}
},
{

2
lgsm/modules/alert_telegram.sh

@ -12,7 +12,7 @@ json=$(
{
"chat_id": "${telegramchatid}",
"parse_mode": "HTML",
"text": "<b>${alertemoji} ${alertsubject} ${alertemoji}</b>\n\n<b>Server name</b>\n${servername}\n\n<b>Message</b>\n${alertbody}\n\n<b>Game</b>\n${gamename}\n\n<b>Server IP</b>\n<a href='https://www.gametracker.com/server_info/${alertip}:${port}'>${alertip}:${port}</a>\n\n<b>Hostname</b>\n${HOSTNAME}\n\n<b>More info</b>\n<a href='${alerturl}'>${alerturl}</a>",
"text": "<b>${alertemoji} ${alerttitle} ${alertemoji}</b>\n\n<b>Server name</b>\n${servername}\n\n<b>Message</b>\n${alertmessage}\n\n<b>Game</b>\n${gamename}\n\n<b>Server IP</b>\n<a href='https://www.gametracker.com/server_info/${alertip}:${port}'>${alertip}:${port}</a>\n\n<b>Hostname</b>\n${HOSTNAME}\n\n<b>More info</b>\n<a href='${alerturl}'>${alerturl}</a>",
"disable_web_page_preview": "yes"
}
EOF

2
lgsm/modules/info_messages.sh

@ -51,7 +51,7 @@ fn_info_message_head() {
echo -e "${bold}${lightyellow}Alert Summary${default}"
fn_messages_separator
echo -e "Message"
echo -e "${alertbody}"
echo -e "${alertmessage}"
echo -e ""
echo -e "Game"
echo -e "${gamename}"

Loading…
Cancel
Save