| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/bin/bash
- # LinuxGSM alert_discord.sh function
- # Author: Daniel Gibbs
- # Contributor: faflfama, diamondburned
- # Website: https://linuxgsm.com
- # Description: Sends Discord alert.
- if ! command -v jq > /dev/null; then
- fn_print_fail_nl "Sending Discord alert: jq is missing."
- fn_script_log_fatal "Sending Discord alert: jq is missing."
- fi
- escaped_servername="$(echo -n "${servername}" | jq -sRr "@json")"
- escaped_alertbody="$(echo -n "${alertbody}" | jq -sRr "@json")"
- json=$(cat <<EOF
- {
- "username":"LinuxGSM",
- "avatar_url":"https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/data/alert_discord_logo.png",
- "file":"content",
- "embeds": [{
- "color": "2067276",
- "author": {"name": "${alertemoji} ${alertsubject}", "icon_url": "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/alert_discord_logo.png"},
- "title": "",
- "description": ${escaped_alertbody},
- "url": "",
- "type": "content",
- "thumbnail": {},
- "footer": {"text": "Hostname: ${HOSTNAME} / More info: ${alerturl}", "icon_url": ""},
- "fields": [
- {
- "name": "Game",
- "value": "${gamename}",
- "inline": true
- },
- {
- "name": "Server IP",
- "value": "[${extip:-$ip}:${port}](https://www.gametracker.com/server_info/${extip:-$ip}:${port})",
- "inline": true
- },
- {
- "name": "Server Name",
- "value": ${escaped_servername},
- "inline": true
- }
- ]
- }]
- }
- EOF
- )
- fn_print_dots "Sending Discord alert"
- discordsend=$(${curlpath} -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "$json" | jq -c .)" "${discordwebhook}")
- if [ -n "${discordsend}" ]; then
- fn_print_fail_nl "Sending Discord alert: ${discordsend}"
- fn_script_log_fatal "Sending Discord alert: ${discordsend}"
- else
- fn_print_ok_nl "Sending Discord alert"
- fn_script_log_pass "Sending Discord alert"
- fi
|