From 5caf38a224cea796d27788c1fa837a487c16b4e5 Mon Sep 17 00:00:00 2001 From: qo-op Date: Tue, 13 Jul 2021 14:24:56 +0200 Subject: [PATCH] cleaner --- sms_received.sh | 54 ++++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/sms_received.sh b/sms_received.sh index b8a399b..8d036c4 100755 --- a/sms_received.sh +++ b/sms_received.sh @@ -42,6 +42,9 @@ PHONE="$SMS_1_NUMBER" # gammu-smsd ## Remove prefix: phone contains local number [[ ${PHONE#"$prefix"} != "${PHONE}" ]] && phone=0${PHONE#"$prefix"} || phone="${PHONE}" +######################################################################## +# EXTRACT INCOMING SMS TEXT (long message compatible) +######################################################################## TEXT="" rm -f /tmp/sms_incoming 2>/dev/null PROGRAM=/bin/echo @@ -54,7 +57,7 @@ TEXT="$(cat /tmp/sms_incoming | tr -d '\n')" [[ "${TEXT}" == "" ]] && echo "SMS IS EMPTY - EXIT -" && exit 1 ######################################################################## -# INTERNET CONNEXION NOT OK : MAKE REPLAY SCRIPT +# CHECK INTERNET CONNEXION or MAKE REPLAY SCRIPT ######################################################################## if [[ $GCHANGE == 0 ]]; then echo "GCHANGE UNREACHABLE => CREATING timestamp.replay.sh - EXIT -" @@ -63,9 +66,6 @@ sudo $MY_PATH/sms_received.sh \"${PHONE}\" \"${TEXT}\"" > /home/${YOU}/.zen/SMS/ chmod +x /home/${YOU}/.zen/SMS/*.replay.sh exit 1 fi -######################################################################## -# INTERNET CONNEXION NOT OK -######################################################################## ######################################################################## ## LOG @@ -75,13 +75,15 @@ echo "SMS received : $(date)" echo "PHONE: $PHONE" echo "TEXT: $TEXT" ######################################################################## -CMD=$(echo "$TEXT" | awk '{print toupper($1)}') - -## LOG echo "${phone};${TEXT}" >> /home/${YOU}/.zen/SMS/received.log ######################################################################## -# SWITCH CASE DEPENDING ON SMS TEXT FIRST WORD +# EXTRACTION CMD : premier mot du SMS reçu +######################################################################## +CMD=$(echo "$TEXT" | awk '{print toupper($1)}') + +######################################################################## +# SWITCH CASE DEPENDING ON CMD ######################################################################## echo "COMMAND = $CMD" [[ ! $CMD ]] && exit 1 @@ -90,7 +92,7 @@ echo "COMMAND = $CMD" case "$CMD" in "") ## ASK FOR HELP - echo "MESSAGE SANS GUILDE - EXIT -" && exit 0 + echo "SMS SANS MESSAGE - EXIT -" && exit 0 ;; AIDE) ## ASK FOR HELP @@ -110,36 +112,38 @@ case "$CMD" in echo "${MESSAGE}" > /tmp/${phone}_message echo "${MESSAGE}" fi - ## CMD = GUILDE ? + ## CMD est une GUILDE ? Admin/Guide peuvent la créer, sinon Ciao ! IsItAGuide=$(ls /home/${YOU}/.zen/SMS/GUILDES/*/INPUT/*_${phone}_guide.txt 2>/dev/null) [[ ${phone} != $SMSADMIN ]] && [[ ! $IsItAGuide ]] && [[ ! -d /home/${YOU}/.zen/SMS/GUILDES/${CMD} ]] && echo "AUCUNE GUILDE ${CMD} - EXIT -" && exit 0 - - $MY_PATH/sms/GUILDE.sh "$phone" "$CMD" > /home/${YOU}/.zen/SMS/debug.log - cat /home/${YOU}/.zen/SMS/debug.log + ## LE MESSAGE PART POUR LA GUILDE /tmp/${phone}_message + $MY_PATH/sms/GUILDE.sh "${phone}" "$CMD" >> /home/${YOU}/.zen/SMS/debug_${phone}.log + cat /home/${YOU}/.zen/SMS/debug_${phone}.log ## SHOW DEBUG INFORMATIONS + ## CORRECT FILESYSTEM RIGHTS + chown -R ${YOU}:${YOU} /home/${YOU}/.zen/SMS ;; esac -## FILESYSTEM RIGHTS CORRECTION -chown -R ${YOU}:${YOU} /home/${YOU}/.zen/SMS - -## ADMIN MONITORING -## SEND A COPY OF INCOMING MESSAGE TO SMSADMIN -if [[ "$phone" != "$SMSADMIN" ]]; then +## ADMIN / GUIDE COMMUNICATION +## SEND COPY OF INCOMING MESSAGE +if [[ "${phone}" != "$SMSADMIN" ]]; then adminhash=$(echo $SMSADMIN | sha256sum | cut -d ' ' -f1) - phonehash=$(echo $phone | sha256sum | cut -d ' ' -f1) + phonehash=$(echo ${phone} | sha256sum | cut -d ' ' -f1) ID=$(cat /home/${YOU}/.zen/SMS/PHONE/${phonehash}/xzuid.txt 2>/dev/null) + # ADMIN COPY echo "#!/bin/bash -sudo gammu sendsms TEXT \"_PHONE_\" -text \">>$ID[$phone] $TEXT\"" > /home/${YOU}/.zen/SMS/PHONE/${adminhash}/$(date -u +%s%N | cut -b1-13).tosend.sh +sudo gammu sendsms TEXT \"_PHONE_\" -text \"> $ID ${phone} > $TEXT\"" > /home/${YOU}/.zen/SMS/PHONE/${adminhash}/$(date -u +%s%N | cut -b1-13).tosend.sh chmod +x /home/${YOU}/.zen/SMS/PHONE/${adminhash}/*.tosend.sh - ## ADD TO GUILDE GUIDE ROOTING - # /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/$(SCORE)_${phone}_guide.txt + ## GUIDE COPY + # FIND /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/$(SCORE)_${phone}_guide.txt IsThereAGuide=$(ls /home/${YOU}/.zen/SMS/GUILDES/${CMD}/INPUT/*_guide.txt | head -n 1 2>/dev/null) [[ $IsThereAGuide ]] && guidephone=$(echo $IsThereAGuide | cut -d '/' -f 9 | cut -f '_' -f 2) || echo "NO GUIDE" && exit 0 + [[ ${guidephone} == ${phone} ]] && echo "${phone} IS ${CMD} GUIDE" && exit 0 + guidescore=$(echo $IsThereAGuide | cut -d '/' -f 9 | cut -f '_' -f 1) - guidephonehash=$(echo $guidephone | sha256sum | cut -d ' ' -f1) + guidephonehash=$(echo ${guidephone} | sha256sum | cut -d ' ' -f1) echo "#!/bin/bash -sudo gammu sendsms TEXT \"_PHONE_\" -text \">>$ID[$phone] $TEXT\"" > /home/${YOU}/.zen/SMS/PHONE/${guidephonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh +sudo gammu sendsms TEXT \"_PHONE_\" -text \"> $ID ${phone} > $TEXT\"" > /home/${YOU}/.zen/SMS/PHONE/${guidephonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh chmod +x /home/${YOU}/.zen/SMS/PHONE/${guidephonehash}/*.tosend.sh