#!/bin/bash
APP_PATH=$(dirname "$0")          # relative
APP_PATH=$(cd "$APP_PATH" && pwd) # absolutized and normalized
if [[ -z "$APP_PATH" ]] ; then
    # error; for some reason, the path is not accessible
    # to the script (e.g. permissions re-evaled after suid)
    APP_PATH="/etc/cai-watchdog"
fi

source ${APP_PATH}/inc-icons

SCRIPT_NAME=$0
SERVICE=$1
PROCESS_OR_URI=$2
STATE=$3

case $3 in
  online)
    SERVICE_OR_PROCESS="Служба"
    STATE_STR="доступна"
    ICON=${ICON_OK}
    ;;
  running)
    SERVICE_OR_PROCESS="Процесс"
    STATE_STR="запущен"
    ICON=${ICON_OK}
    ;;
  offline)
    SERVICE_OR_PROCESS="Служба"
    STATE_STR="недоступна"
    ICON=${ICON_FAIL}
    ;;
  stopped)
    SERVICE_OR_PROCESS="Процесс"
    STATE_STR="остановлен"
    ICON=${ICON_FAIL}
    ;;
esac

MESSAGE_TEXT="${ICON} ${SERVICE_OR_PROCESS} ${SERVICE} (${PROCESS_OR_URI}) ${STATE_STR}"

if [ "$#" -ne 3 ]; then
    echo "Вы должны передать 3 аргумента - название службы, uri или название процесса и статус. Аргументы с пробелами требуется взять в кавычки"
    exit 0
fi

ARGS=$(xargs echo  $(perl -anle 's/^[^:]+//g && s/:\s+//g && print' ${APP_PATH}/telegram.conf) < /dev/null)
set -- $ARGS "$@";

GROUP_ID=$1
BOT_TOKEN=$2

# this 3 checks (if) are not necessary but should be convenient
if [ "${MESSAGE_TEXT}" == "-h" ]; then
  echo "Usage: `basename ${SCRIPT_NAME}` \"text message\""
  exit 0
fi

if [ -z "${MESSAGE_TEXT}" ]
  then
    echo "Add message text as second arguments"
    exit 0
fi

curl -s --data "text=${MESSAGE_TEXT}" --data "chat_id=$GROUP_ID" 'https://api.telegram.org/bot'$BOT_TOKEN'/sendMessage' > /dev/null
