This commit is contained in:
qo-op 2021-07-13 14:24:56 +02:00
parent f550484979
commit 5caf38a224
1 changed files with 29 additions and 25 deletions

View File

@ -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