G1PalPay - scan incoming TX for N1Prog & emails + scan modified tiddlers

This commit is contained in:
fred 2024-04-01 02:36:46 +02:00
parent 3e684587df
commit 102c3b362d
1 changed files with 40 additions and 47 deletions

View File

@ -19,7 +19,7 @@ ME="${0##*/}"
CESIUM=${myCESIUM} CESIUM=${myCESIUM}
GCHANGE=${myGCHANGE} GCHANGE=${myGCHANGE}
echo "$ME RUNNING" echo "$ME RUNNING (•‿‿•)"
######################################################################## ########################################################################
# PALPAY SERVICE : MONITOR INCOMING TX & NEW TIDDLERS # PALPAY SERVICE : MONITOR INCOMING TX & NEW TIDDLERS
@ -47,16 +47,15 @@ MOATS="$3"
################################################################### ###################################################################
## CREATE APP NODE PLAYER PUBLICATION DIRECTORY ## CREATE APP NODE PLAYER PUBLICATION DIRECTORY
################################################################### ###################################################################
mkdir -p $HOME/.zen/tmp/${IPFSNODEID}/G1PalPay/${PLAYER}/
mkdir -p $HOME/.zen/game/players/${PLAYER}/G1PalPay/ mkdir -p $HOME/.zen/game/players/${PLAYER}/G1PalPay/
mkdir -p $HOME/.zen/tmp/${MOATS} mkdir -p $HOME/.zen/tmp/${MOATS}
echo "=========== ( ◕‿◕) (◕‿◕ ) ============== ${PLAYER} echo "=====(•‿‿•)====== ( ◕‿◕) (◕‿◕ ) =======(•‿‿•)======= ${PLAYER}
${INDEX}" ${INDEX}"
echo "(✜‿‿✜) G1PalPay : CHECK LAST 10 TX comment" echo "(✜‿‿✜) G1PalPay : CHECK LAST 15 TX comment"
# CHECK LAST 10 INCOMING PAYMENTS # CHECK LAST 15 INCOMING PAYMENTS
~/.zen/Astroport.ONE/tools/timeout.sh -t 12 \ ~/.zen/Astroport.ONE/tools/timeout.sh -t 12 \
${MY_PATH}/../tools/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey history -n 10 -j > $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json ${MY_PATH}/../tools/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey history -n 15 -j > $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json
[[ ! -s $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json ]] \ [[ ! -s $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json ]] \
&& echo "NO PAYMENT HISTORY.......................... EXIT" \ && echo "NO PAYMENT HISTORY.......................... EXIT" \
@ -64,14 +63,13 @@ ${MY_PATH}/../tools/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dun
############################## ##############################
########################################################## ##########################################################
############# CHECK FOR N1COMMANDs IN PAYMENT COMMENT ############# CHECK FOR N1COMMANDs IN PAYMENT COMMENT
# TODO check amout > 0
################################################################# #################################################################
# LOG / cat $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json | jq -rc .[] # LOG / cat $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json | jq -rc .[]
## TREAT ANY COMMENT STARTING WITH N1: ## TREAT ANY COMMENT STARTING WITH N1: exemple : N1Kodi.sh
## EXTRACT /ASTROBOT/N1ProgramNames ## EXTRACT /ASTROBOT/N1ProgramNames
ls ${MY_PATH}/../ASTROBOT/ | grep "N1" | cut -d "." -f 1 > ~/.zen/tmp/${MOATS}/N1PROG ls ${MY_PATH}/../ASTROBOT/ | grep "N1" | cut -d "." -f 1 > ~/.zen/tmp/${MOATS}/N1PROG
while read prog; do while read prog; do
echo "# SCAN FOR N1 COMMAND : $prog"
cat $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json | jq -rc .[] | grep "$prog" >> ~/.zen/tmp/${MOATS}/myN1.json cat $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json | jq -rc .[] | grep "$prog" >> ~/.zen/tmp/${MOATS}/myN1.json
done < ~/.zen/tmp/${MOATS}/N1PROG done < ~/.zen/tmp/${MOATS}/N1PROG
@ -108,13 +106,14 @@ while read NLINE; do
done < ~/.zen/tmp/${MOATS}/myN1.json done < ~/.zen/tmp/${MOATS}/myN1.json
######################################################################################## ########################################################################################
############# CHECK FOR EMAILs IN PAYMENT COMMENT echo "# CHECK FOR EMAILs IN PAYMENT COMMENT"
## DEBUG ## cat $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json | jq -r ## DEBUG ## cat $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json | jq -r
################################################################# #################################################################
cat $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json | jq -rc .[] | grep '@' > ~/.zen/tmp/${MOATS}/myPalPay.json cat $HOME/.zen/game/players/${PLAYER}/G1PalPay/${PLAYER}.duniter.history.json | jq -rc .[] | grep '@' > ~/.zen/tmp/${MOATS}/myPalPay.json
# IF COMMENT CONTAINS EMAIL ADDRESSES # IF COMMENT CONTAINS EMAIL ADDRESSES
# SPREAD & TRANSFER AMOUNT TO NEXT (REMOVING IT FROM LIST)... Other G1PalPay will continue the transmission... # SPREAD & TRANSFER AMOUNT TO NEXT (REMOVING IT FROM LIST)...
## Other G1PalPay will continue the transmission...
######################################################################## ########################################################################
## GET @ in JSON INLINE ## GET @ in JSON INLINE
while read LINE; do while read LINE; do
@ -134,18 +133,21 @@ while read LINE; do
## GET EMAILS FROM COMMENT ## GET EMAILS FROM COMMENT
TXIMAILS=($(echo "$COMMENT" | grep -E -o "\b[a-zA-Z0-9.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b")) TXIMAILS=($(echo "$COMMENT" | grep -E -o "\b[a-zA-Z0-9.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b"))
echo "$TXIDATE $TXIPUBKEY $TXIAMOUNT [$TXIAMOUNTUD] $TXIMAILS % $SHARE %"
[[ $(echo "$TXIAMOUNT < 0" | bc) ]] \ [[ $(echo "$TXIAMOUNT < 0" | bc) ]] \
&& echo "TX-OUT" \ && echo "TX-OUT $TXIDATE" \
&& echo "$TXIDATE" > ~/.zen/game/players/${PLAYER}/.atdate \ && echo "$TXIDATE" > ~/.zen/game/players/${PLAYER}/.atdate \
&& continue && continue
## DIVIDE INCOMING AMOUNT TO SHARE ## DIVIDE INCOMING AMOUNT TO SHARE
echo "N=${#TXIMAILS[@]}" echo "N=${#TXIMAILS[@]}"
N=${#TXIMAILS[@]} N=${#TXIMAILS[@]}
REDIS=0
REDISMAILS=""
SHAREE=$(echo "scale=2; $TXIAMOUNT / $N" | bc) SHAREE=$(echo "scale=2; $TXIAMOUNT / $N" | bc)
SHARE=$(makecoord ${SHAREE}) SHARE=$(makecoord ${SHAREE})
## SHARE is received AMOUT divided by numbers of EMAILS in comment ## SHARE is received AMOUT divided by numbers of EMAILS in comment
echo "% ${#TXIMAILS[@]} % $SHARE % $TXIDATE $TXIPUBKEY $TXIAMOUNT [$TXIAMOUNTUD] $TXIMAILS"
# let's loop over TXIMAILS # let's loop over TXIMAILS
for EMAIL in "${TXIMAILS[@]}"; do for EMAIL in "${TXIMAILS[@]}"; do
@ -156,6 +158,7 @@ while read LINE; do
&& continue && continue
echo "EMAIL : ${EMAIL}" echo "EMAIL : ${EMAIL}"
ASTROTW="" STAMP="" ASTROG1="" ASTROIPFS="" ASTROFEED="" # RESET VAR ASTROTW="" STAMP="" ASTROG1="" ASTROIPFS="" ASTROFEED="" # RESET VAR
$($MY_PATH/../tools/search_for_this_email_in_players.sh ${EMAIL}) ## export ASTROTW and more $($MY_PATH/../tools/search_for_this_email_in_players.sh ${EMAIL}) ## export ASTROTW and more
echo "export ASTROPORT=${ASTROPORT} ASTROTW=${ASTROTW} ASTROG1=${ASTROG1} ASTROMAIL=${EMAIL} ASTROFEED=${FEEDNS}" echo "export ASTROPORT=${ASTROPORT} ASTROTW=${ASTROTW} ASTROG1=${ASTROG1} ASTROMAIL=${EMAIL} ASTROFEED=${FEEDNS}"
@ -168,40 +171,34 @@ while read LINE; do
fi fi
[[ ! ${ASTROG1} ]] \ [[ ! ${ASTROG1} ]] \
&& echo "<html><body><h1>SORRY ${EMAIL} YOUR ACCOUNT IS MISSING</h1>" \ && echo "<html><body><h1>${EMAIL} YOUR ACCOUNT IS MISSING</h1>" \
&& echo " BRO. $PLAYER WISH TO SEND YOU SOME ẐEN <br><br>(♥‿‿♥)... Join <a href='https://qo-op.com'>UPlanet</a> to receive it</body></html>" > ~/.zen/tmp/palpay.bro \ && echo " BRO. $PLAYER WISH TO SEND YOU SOME ẐEN <br><br>(♥‿‿♥)... Join <a href='https://qo-op.com'>UPlanet</a> to receive it</body></html>" > ~/.zen/tmp/palpay.bro \
&& ${MY_PATH}/../tools/mailjet.sh "${EMAIL}" ~/.zen/tmp/palpay.bro "MISSING ACCOUNT" \ && ${MY_PATH}/../tools/mailjet.sh "${EMAIL}" ~/.zen/tmp/palpay.bro "INVITATION" \
&& continue && continue
## MAKE FRIENDS & SEND G1 ## MAKE FRIENDS & SEND G1
echo "NEW PalPay Friend $ASTROMAIL echo "PalPay Friend $ASTROMAIL
TW : $ASTROTW TW : $ASTROTW
G1 : ${ASTROG1} G1 : ${ASTROG1}
ASTROIPFS : $ASTROIPFS ASTROIPFS : $ASTROIPFS
RSS : $ASTROFEED" RSS : $ASTROFEED"
REDIS=$(( REDIS + 1 ))
if [[ ${ASTROG1} != ${G1PUB} ]]; then REDISMAILS+=" ${EMAIL}"
${MY_PATH}/../tools/PAY4SURE.sh "${HOME}/.zen/game/players/${PLAYER}/secret.dunikey" "${SHARE}" "${ASTROG1}" "G1PalPay:$N:$TXIPUBKEY"
STAMP=$?
else
STAMP=0
fi
## DONE STAMP IT
[[ $STAMP == 0 ]] \
&& echo "STAMP DONE" \
&& echo "$TXIDATE" > ~/.zen/game/players/${PLAYER}/.atdate ## MEMORIZE LAST TXIDATE
done done
COMMENTTAIL=$(echo $COMMENT | rev | cut -d '/' -f 1 | rev)
${MY_PATH}/../tools/PAY4SURE.sh "${HOME}/.zen/game/players/${PLAYER}/secret.dunikey" "${REDIS}" "${ASTROG1}" "$REDISMAILS /ipfs/$COMMENTTAIL"
STAMP=$?
## DONE STAMP IT
[[ $STAMP == 0 ]] \
&& echo "REDISTRIBUTION DONE" \
&& echo "$TXIDATE" > ~/.zen/game/players/${PLAYER}/.atdate
done < ~/.zen/tmp/${MOATS}/myPalPay.json done < ~/.zen/tmp/${MOATS}/myPalPay.json
echo "=========== %%%%% (°▃▃°) %%%%%%% ==============" echo "====(•‿‿•)======= %%%%% (°▃▃°) %%%%%%% ======(•‿‿•)========"
######################################################################################## ########################################################################################
## SEARCH FOR TODAY MODIFIED TIDDLERS WITH MULTIPLE EMAILS IN TAG ## SEARCH FOR TODAY MODIFIED TIDDLERS WITH MULTIPLE EMAILS IN TAG
@ -251,12 +248,12 @@ while read LINE; do
## Count emails found ## Count emails found
emails=($(echo "$TTAGS" | grep -E -o "\b[a-zA-Z0-9.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b")) emails=($(echo "$TTAGS" | grep -E -o "\b[a-zA-Z0-9.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b"))
nb=${#emails[@]} nb=${#emails[@]}
zen=$(echo "scale=2; $nb / 10" | bc) ## / divide by 10 = 1 ♥ each #~ zen=$(echo "scale=2; $nb / 10" | bc) ## / divide by 10 = 1 ♥ each
## Get first zmail ## Get first zmail
ZMAIL="${emails}" ZMAIL="${emails}"
MSG="SEND + $zen TO BROs : ${emails[@]}" MSG="SEND + $nb JUNE TO BROs : ${emails[@]}"
echo $MSG echo $MSG
ASTROTW="" STAMP="" ASTROG1="" ASTROIPFS="" ASTROFEED="" ASTROTW="" STAMP="" ASTROG1="" ASTROIPFS="" ASTROFEED=""
@ -265,16 +262,12 @@ while read LINE; do
echo "export ASTROPORT=${ASTROPORT} ASTROTW=${ASTROTW} ASTROG1=${ASTROG1} ASTROMAIL=${EMAIL} ASTROFEED=${FEEDNS}" echo "export ASTROPORT=${ASTROPORT} ASTROTW=${ASTROTW} ASTROG1=${ASTROG1} ASTROMAIL=${EMAIL} ASTROFEED=${FEEDNS}"
[[ ${ASTROTW} == "" ]] && ASTROTW=${ASTRONAUTENS} [[ ${ASTROTW} == "" ]] && ASTROTW=${ASTRONAUTENS}
if [[ ${ASTROG1} && ${ASTROG1} != ${G1PUB} ]]; then if [[ ${TOPIN} && ${ASTROG1} && ${ASTROG1} != ${G1PUB} ]]; then
## SEND zen ♥ (G1 dice JUNE) TO ALL ## MAKE ONE EACH AFTER ALL EMAIL CONSUMED ##
#~ ~/.zen/Astroport.ONE/tools/timeout.sh -t 12 \
#~ ${MY_PATH}/../tools/PAY4SURE.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey pay -a ${zen} -p ${ASTROG1} -c "${emails[@]} $TTITLE" -m > /dev/null 2>&1
############################## ##############################
### GET PAID & GET PINNED !! ### GET PAID & GET PINNED !!
############################## ##############################
${MY_PATH}/../tools/PAY4SURE.sh "${HOME}/.zen/game/players/${PLAYER}/secret.dunikey" "${zen}" "${ASTROG1}" "${emails[@]} /ipfs/${TOPIN}" ${MY_PATH}/../tools/PAY4SURE.sh "${HOME}/.zen/game/players/${PLAYER}/secret.dunikey" "${nb}" "${ASTROG1}" "${emails[@]} /ipfs/${TOPIN}"
echo "<html><body><h1>BRO ${PLAYER}</h1> : $MSG" > ~/.zen/tmp/${MOATS}/g1message echo "<html><body><h1>BRO ${PLAYER}</h1> : $MSG" > ~/.zen/tmp/${MOATS}/g1message
## PINNING IPFS MEDIA - PROOF OF COPY SYSTEM - ## PINNING IPFS MEDIA - PROOF OF COPY SYSTEM -
@ -283,7 +276,7 @@ while read LINE; do
&& echo "<h2>PINNING $TOPIN</h2>(☼‿‿☼)" >> ~/.zen/tmp/${MOATS}/g1message && echo "<h2>PINNING $TOPIN</h2>(☼‿‿☼)" >> ~/.zen/tmp/${MOATS}/g1message
## lazy mode... NOT FINISHING HTML TAGGING... browser shoud display html page ;) ## lazy mode... NOT FINISHING HTML TAGGING... browser shoud display html page ;)
${MY_PATH}/../tools/mailjet.sh "${PLAYER}" ~/.zen/tmp/${MOATS}/g1message "PIN TIDDLER" ${MY_PATH}/../tools/mailjet.sh "${PLAYER}" ~/.zen/tmp/${MOATS}/g1message "TW5 PIN"
else else
@ -291,19 +284,19 @@ while read LINE; do
echo "<html><body> echo "<html><body>
<h1>BRO. </h1> <h1>BRO. </h1>
<br> <br>
<a href='${myIPFSGW}'/ipns/${ASTROTW}>${PLAYER}</a> HAS SHARED A TIDDLER WITH YOU. <a href='${myIPFSGW}'/ipns/${ASTROTW}>${PLAYER}</a> has a shared Tiddler with you.
<br><b>${TTITLE}</b><br>(✜‿‿✜) <br><b>${TTITLE}</b><br>(✜‿‿✜)
... Join <a href='https://qo-op.com'>UPlanet</a> get TW5 ! ... Join <a href='https://qo-op.com'>UPlanet</a> link your TW5 !
</body></html>" > ~/.zen/tmp/palpay.bro </body></html>" > ~/.zen/tmp/palpay.bro
${MY_PATH}/../tools/mailjet.sh "${ZMAIL}" ~/.zen/tmp/palpay.bro "HELLO BRO" ${MY_PATH}/../tools/mailjet.sh "${ZMAIL}" ~/.zen/tmp/palpay.bro "TW5 LINK"
fi fi
done < ~/.zen/tmp/${MOATS}/@tags.json done < ~/.zen/tmp/${MOATS}/@tags.json
echo "=========== ( ◕‿◕) (◕‿◕ ) ==============" echo "=====(•‿‿•)====== ( ◕‿◕) (◕‿◕ ) =======(•‿‿•)======="
rm -Rf $HOME/.zen/tmp/${MOATS} rm -Rf $HOME/.zen/tmp/${MOATS}