77 lines
3.0 KiB
Bash
Executable File
77 lines
3.0 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
|
|
[[ "${#PHONE}" < 10 || "${#PHONE}" > 12 ]] && echo "${PHONE} NON RECONNU. EXIT" && exit 1
|
|
[[ ${PHONE#"$prefix"} != "${PHONE}" ]] && phone=0${PHONE#"$prefix"} || phone="${PHONE}" ## 06
|
|
|
|
TEXT="$SMS_1_TEXT" # gammu-smsd
|
|
[[ ! ${TEXT} ]] && TEXT="$2" # CLI
|
|
[[ "${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" &
|
|
;;
|
|
OK|OPEN|OASIS)
|
|
## CREATE ACCOUNT
|
|
EXTRA=$(echo "$TEXT" | awk '{print $2}' | grep -E "([A-Za-z0-9\-\_]+$)")
|
|
$MY_PATH/sms/NEW.sh "$phone" "$EXTRA" &
|
|
;;
|
|
TEST)
|
|
echo "TEST: sending ___ $TEXT _to_ $phone"
|
|
gammu-smsd-inject TEXT "$phone" -text "$TEXT"
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "EXIT. COMMANDE INCONNUE : $CMD"
|
|
exit 1
|
|
;;
|
|
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
|