83 lines
3.2 KiB
Bash
Executable File
83 lines
3.2 KiB
Bash
Executable File
#!/bin/bash
|
|
########################################################################
|
|
# Author: Fred (support@qo-op.com)
|
|
# Version: 0.1
|
|
# License: GPL (http://www.google.com/search?q=GPL)
|
|
########################################################################
|
|
## PUT YOUR PHONE COUNTRY CODE PREFIX HERE
|
|
prefix="+33"
|
|
########################################################################
|
|
MY_PATH="`dirname \"$0\"`" # relative
|
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
|
########################################################################
|
|
|
|
########################################################################
|
|
# GET smsadmin PHONE NUMBER FROM ~/.zen/SMSADMIN FILE
|
|
########################################################################
|
|
[[ ! -f /home/pi/.zen/SMSADMIN ]] && echo "EXIT. Indiquez votre numéro de mobile dans /home/pi/.zen/SMSADMIN" && exit 1
|
|
SMSADMIN="$(cat /home/pi/.zen/SMSADMIN)" ## FRENCH NUMBER
|
|
[[ ${SMSADMIN#"$prefix"} != "${SMSADMIN}" ]] && smsadmin=0${SMSADMIN#"$prefix"} || smsadmin="${SMSADMIN}" ## 06
|
|
|
|
########################################################################
|
|
# GET INCOMING SMS CONTENT
|
|
########################################################################
|
|
########################################################################
|
|
PHONE="$SMS_1_NUMBER" # gammu-smsd
|
|
[[ ! ${PHONE} ]] && PHONE="$1" # CLI MODE
|
|
|
|
[[ "${#PHONE}" < 10 || "${#PHONE}" > 12 ]] && echo "${PHONE} NON RECONNU. EXIT" && exit 1
|
|
## Remove prefix: phone contains local number
|
|
[[ ${PHONE#"$prefix"} != "${PHONE}" ]] && phone=0${PHONE#"$prefix"} || phone="${PHONE}"
|
|
|
|
TEXT="$SMS_1_TEXT" # gammu-smsd
|
|
[[ ! ${TEXT} ]] && TEXT="$2" # CLI MODE
|
|
[[ "${TEXT}" == "" ]] && TEXT="TEST : ABC : 12345*" # TEST MESSAGE
|
|
|
|
########################################################################
|
|
## LOG
|
|
########################################################################
|
|
echo "#################################################################"
|
|
echo "SMS received : $(date)"
|
|
echo "PHONE: $PHONE"
|
|
echo "TEXT: $TEXT"
|
|
########################################################################
|
|
|
|
########################################################################
|
|
# SWITCH CASE
|
|
########################################################################
|
|
CMD=$(echo "$TEXT" | awk '{print toupper($1)}')
|
|
echo "COMMAND = $CMD"
|
|
|
|
# Handle commands
|
|
case "$CMD" in
|
|
A|AIDE)
|
|
## ASK FOR HELP
|
|
$MY_PATH/sms/AIDE.sh "$phone" &
|
|
exit 0
|
|
;;
|
|
TEST)
|
|
echo "TEST: sending ___ $TEXT _to_ $phone"
|
|
gammu-smsd-inject TEXT "$phone" -text "$TEXT"
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "MESSAGE DE $phone POUR $CMD"
|
|
MESSAGE=$(echo "$TEXT" | cut -d ' ' -f 2-)
|
|
if [[ ${MESSAGE} ]]; then
|
|
echo "${MESSAGE}" > /tmp/${phone}_message
|
|
echo "${MESSAGE}"
|
|
fi
|
|
## OK CMD=GROUPE suivi de message
|
|
$MY_PATH/sms/GUILDE.sh "$phone" "$CMD" &
|
|
gammu-smsd-inject TEXT "$phone" -text "Votre message à destination de $CMD est enregistré. MERCI."
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
## SEND A COPY OF INCOMING MESSAGE TO SMSADMIN
|
|
# [[ "$phone" != "$smsadmin" ]] && gammu-smsd-inject TEXT "$smsadmin" -text "$phone : $TEXT"
|
|
|
|
## FILESYSTEM RIGHTS CORRECTION
|
|
chown -R pi:pi /home/pi/.zen
|
|
exit 0
|