From f5504849791febf1ac039c9f0e510257197ae265 Mon Sep 17 00:00:00 2001 From: qo-op Date: Tue, 13 Jul 2021 14:24:41 +0200 Subject: [PATCH] Admin/Guide can send messages containing INTR0 and program WELCOME message --- sms/GUILDE.sh | 61 +++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 18 deletions(-) diff --git a/sms/GUILDE.sh b/sms/GUILDE.sh index 61d0453..cb5b98d 100755 --- a/sms/GUILDE.sh +++ b/sms/GUILDE.sh @@ -14,8 +14,8 @@ guilde="$2" my_guildes="$guilde" +[[ ! -f /tmp/${phone}_message ]] && echo "NO MESSAGE /tmp/${phone}_message" && exit 1 message="$(cat /tmp/${phone}_message)" - ######################################################################## echo "## GET STATION G1PUB" ######################################################################## @@ -33,6 +33,7 @@ phonehash=$(echo $phone | sha256sum | cut -d ' ' -f1) echo "=> ${phonehash}" ######################################################################## +## CREATION DU "HOME" /PHONE/${phonehash} if [[ -d /home/${YOU}/.zen/SMS/PHONE/${phonehash} ]]; then NEW=0 xzuid=$(cat "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/xzuid.txt") @@ -41,7 +42,8 @@ else mkdir -p /home/${YOU}/.zen/SMS/PHONE/${phonehash}/ fi - +######################################################################## +## NOUVEAU /PHONE/${phonehash} : INSCRIPTION AUX GUILDES DE BASE if [[ ! $xzuid ]]; then NEW=1 @@ -149,7 +151,9 @@ sudo gammu sendsms TEXT \"_PHONE_\" -text \"Heureux de vous accueillir. $xzuid e fi echo "=> $xzuid/$phone PASS=$PASS G1=$G1" - + +######################################################################## +## UTILISATEUR DEJA CONNU : RECUPERATION ID ET CLEFS $G1, $PASS else $MY_PATH/natools.py decrypt -f pubsec -k "/home/${YOU}/.zen/secret.dunikey" -i "/home/${YOU}/.zen/SMS/PHONE/${phonehash}/pin.encrypt" -o "/tmp/${phonehash}.pin" @@ -161,16 +165,21 @@ else fi ######################################################################## -echo "## INSCRIPTION PHONE / GUILDE : ${phone} / ${guilde}" -######################################################################## ## NOUVELLE INSCRIPTION GUILDE (pas encore de lien INPUT/${phone}) +# WELCOME MESSAGE is first GUIDE MESSAGE containing INTR0 keyword (INTRn) +AGUIDE=$(ls /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/*_guide.txt | head -n 1 2>/dev/null) +[[ $AGUIDE ]] \ +&& AMESS="$(cat $AGUIDE | grep "INTR0" | sed 's/INTR0//g' )" \ +&& WELCOME="$AMESS" \ +|| WELCOME="${xzuid} - GUILDE ${guilde} - SMS et Actions - Changez le monde https://oasis.astroport.com" +## Creation du message de bienvenue [[ ! -L /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/${guilde} ]] && echo "#!/bin/bash -sudo gammu sendsms TEXT \"_PHONE_\" -text \"${xzuid} synchronisez vos actions, changez le monde https://oasis.astroport.com - GUILDE ${guilde} -\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/000.${guilde}.tosend.sh +sudo gammu sendsms TEXT \"_PHONE_\" -text \"${WELCOME}\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/INTR0.${guilde}.tosend.sh ######################################################################## -## COMBIEN D'ETOILES GCHANGE ?? ADMIN +## SCORE DU GUIDE SUR GCHANGE ?? OU ADMIN = 5 ######################################################################## -$MY_PATH/timeout.sh -t 10 $MY_PATH/jaklis/jaklis.py -k /tmp/secret.dunikey -n "https://data.gchange.fr" stars -p $G1 > /tmp/$G1.stars +$MY_PATH/timeout.sh -t 10 $MY_PATH/jaklis/jaklis.py -k /tmp/secret.dunikey -n "https://data.gchange.fr" stars -p "$G1" > /tmp/$G1.stars [ $? -eq 0 ] && XUIDSCORE=$(cat /tmp/$G1.stars | jq .score) || XUIDSCORE=0 ## SCORE > 4 DONNE DROIT DE CREER ET DIALOGUER AVEC LES GUILDES. SCORE=$(echo $XUIDSCORE | cut -d '.' -f 1) @@ -192,13 +201,23 @@ if [[ $SCORE -ge 4 || ${phone} == $SMSADMIN ]]; then fi echo "ADMIN GUILDE [${xzuid}/${SCORE}/${guilde}] ${message}" - ## LIENS A LA GUILDE + ## VERIFICATION DES LIENS AVEC LA GUILDE [[ ! -d /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES ]] && mkdir -p /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES [[ ! -L /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/${guilde} ]] && ln -s /home/${YOU}/.zen/SMS/GUILDES/${guilde} /home/${YOU}/.zen/SMS/PHONE/${phonehash}/GUILDES/${guilde} [[ ! -L /home/${YOU}/.zen/SMS/GUILDES/${guilde}/MEMBERS/${phone} ]] && ln -s /home/${YOU}/.zen/SMS/PHONE/${phonehash} /home/${YOU}/.zen/SMS/GUILDES/${guilde}/MEMBERS/${phone} - echo "${message}" >> /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/${SCORE}_${phone}_guide.txt ## LOG GUIDE messages to ${SCORE}_${phone}_guide.txt + + ## HISTORIQUE MESSAGES du GUIDE avec MAJ SCORE + # récupération anciens historiques du guide + [[ $(ls /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/*_${phone}_guide.txt 2>/dev/null) ]] \ + && cat /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/*_${phone}_guide.txt > /tmp/input_${phone}.sms + # effacement historiques + rm -f /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/*_${phone}_guide.txt + # mise à jour /GUILDES/${guilde}/INPUT/${SCORE}_${phone}_guide.txt + mv /tmp/input_${phone}.sms /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/${SCORE}_${phone}_guide.txt + echo "${message}" >> /home/${YOU}/.zen/SMS/GUILDES/${guilde}/INPUT/${SCORE}_${phone}_guide.txt exit 0 + ## TRAITEMENT SPECIAL GUIDE ADMIN TERMINE fi ######################################################################## @@ -242,7 +261,7 @@ else ## GUILDE INCONNUE REPONSE SMS echo "#!/bin/bash sudo gammu sendsms TEXT \"_PHONE_\" -text \"Guilde ${guilde} inconnue. Trouvez ou proposez la votre sur https://oasis.astroport.com\"" > /home/${YOU}/.zen/SMS/PHONE/${phonehash}/$(date -u +%s%N | cut -b1-13).tosend.sh - chmod +x /home/${YOU}/.zen/SMS/GUILDES/${guilde}/OUTPUT/*.tosend.sh + chmod +x /home/${YOU}/.zen/SMS/PHONE/${phonehash}/*.tosend.sh fi @@ -262,7 +281,7 @@ done if [[ $NEW == 1 ]]; then ts=$(date -u +%s%N | cut -b1-13) - # PRINT LOGO + # PRINT MadeInZion_G1_ASTROPORT LOGO if [[ -e /dev/usb/lp0 ]]; then brother_ql_create --model QL-700 $MY_PATH/../img/MadeInZion_G1_ASTROPORT.png --label-size 62 > /tmp/LOGO.bin brother_ql_print /tmp/LOGO.bin /dev/usb/lp0 @@ -276,8 +295,9 @@ if [[ $NEW == 1 ]]; then rm /tmp/${ts}_QR.bin else echo "NO PRINTER" - sudo cp /home/${YOU}/.zen/SMS/PHONE/${phonehash}/QR.png /var/www/nextcloud/data/${xzuid}/files/MadeInZion/${G1}_QR.png fi + sudo cp /home/${YOU}/.zen/SMS/PHONE/${phonehash}/QR.png /var/www/nextcloud/data/${xzuid}/files/MadeInZion/${G1}_QR.png + # PRINT ${xzuid} ${phone} convert -background White label:"${xzuid} ${phone}" -append /tmp/${ts}_ID.png @@ -285,16 +305,15 @@ if [[ $NEW == 1 ]]; then brother_ql_create --model QL-700 /tmp/${ts}_ID.png --label-size 62 > /tmp/${ts}_ID.bin brother_ql_print /tmp/${ts}_ID.bin /dev/usb/lp0 rm /tmp/${ts}_ID.bin /tmp/${ts}_ID.png - else - sudo cp /tmp/${ts}_ID.png /var/www/nextcloud/data/${xzuid}/files/MadeInZion/ID_${G1}.png fi + sudo cp /tmp/${ts}_ID.png /var/www/nextcloud/data/${xzuid}/files/MadeInZion/ID_${G1}.png # PRINT QRSEC.png if [[ -e /dev/usb/lp0 ]]; then brother_ql_create --model QL-700 /home/${YOU}/.zen/SMS/PHONE/${phonehash}/QRSEC.png --label-size 62 > /tmp/${ts}_QRSEC.bin brother_ql_print /tmp/${ts}_QRSEC.bin /dev/usb/lp0; rm /tmp/${ts}_QRSEC.bin - sudo cp /home/${YOU}/.zen/SMS/PHONE/${phonehash}/QRSEC.png /var/www/nextcloud/data/${xzuid}/files/MadeInZion/ fi + sudo cp /home/${YOU}/.zen/SMS/PHONE/${phonehash}/QRSEC.png /var/www/nextcloud/data/${xzuid}/files/MadeInZion/ # PRINT $PASS convert -background White label:"CODE SECRET : ${PASS} " -append /tmp/${ts}_PASS.png @@ -302,9 +321,13 @@ if [[ $NEW == 1 ]]; then brother_ql_create --model QL-700 /tmp/${ts}_PASS.png --label-size 62 > /tmp/${ts}_PASS.bin brother_ql_print /tmp/${ts}_PASS.bin /dev/usb/lp0 rm /tmp/${ts}_PASS.bin /tmp/${ts}_PASS.png - else - sudo cp /tmp/${ts}_PASS.png /var/www/nextcloud/data/${xzuid}/files/MadeInZion/PASS.png fi + sudo cp /tmp/${ts}_PASS.png /var/www/nextcloud/data/${xzuid}/files/MadeInZion/PASS.png + + # Change Nextcloud files permission + sudo chmod 775 /var/www/nextcloud/data/${xzuid}/files/MadeInZion 2>/dev/null + sudo chown -R www-data:${YOU} /var/www/nextcloud/data/${xzuid}/files/MadeInZion 2>/dev/null + else ## PUT DATA IN NEXTCLOUD FOLDER ( I dont' care if commands fails 2>/dev/null ) @@ -316,6 +339,8 @@ else sudo cp /tmp/${ts}_ID.png /var/www/nextcloud/data/${xzuid}/files/MadeInZion/ID_${G1}.png 2>/dev/null convert -background White label:"CODE SECRET : ${PASS} " -append /tmp/${ts}_PASS.png 2>/dev/null sudo cp /tmp/${ts}_PASS.png /var/www/nextcloud/data/${xzuid}/files/MadeInZion/PASS.png 2>/dev/null + + # Change Nextcloud files permission sudo chmod 775 /var/www/nextcloud/data/${xzuid}/files/MadeInZion 2>/dev/null sudo chown -R www-data:${YOU} /var/www/nextcloud/data/${xzuid}/files/MadeInZion 2>/dev/null