diff --git a/ASTROBOT/G1Kodi.sh b/ASTROBOT/G1Kodi.sh index 61dbfce08..aff30010a 100755 --- a/ASTROBOT/G1Kodi.sh +++ b/ASTROBOT/G1Kodi.sh @@ -57,8 +57,8 @@ tiddlywiki --load ${INDEX} \ --render '.' 'Kodi.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'Kodi' [[ $(cat ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json ) == "[]" ]] \ - && echo "AUCUN VOEU G1KODI" \ - && echo "EXIT" && exit 0 + && echo "AUCUN VOEU G1KODI - EXIT -" \ + && exit 0 WISH=$(cat ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json | jq -r '.[].wish') WISHNS=$(cat ~/.zen/game/players/${PLAYER}/G1Kodi/Kodi.json | jq -r '.[].wishns') @@ -184,7 +184,7 @@ while read TITRE; do else - echo "## TIDDLER WITHOUT ipfs_one" + echo "## TIDDLER WITH OR WITHOUT ipfs_one" ## MANAGING TIDDLER UPDATE IPFSONE=$(cat ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json | jq -r .[].ipfs_one) SOURCE=$(cat ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json | jq -r .[].source) @@ -225,20 +225,38 @@ while read TITRE; do -k ~/.zen/game/players/${PLAYER}/secret.dunikey \ -i ~/.zen/tmp/${MOATS}/source.one.enc -o $HOME/.zen/tmp/${MOATS}/source.one - cat $HOME/.zen/tmp/${MOATS}/source.one + echo "IPFS SOURCE $(cat $HOME/.zen/tmp/${MOATS}/source.one)" - ## TODO - ## ADD FIELDS ipfs_AG1PUB for my FRIENDS - #~ cat ~/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json | jq --arg a "${AG1PUB}" --arg v "${ACODING}" '.[] |= .+ {"ipfs_$a":"$v"}' + ## FIND FRIENDS and ADD FIELDS ipfs_AG1PUB + find ~/.zen/game/players/${PLAYER}/FRIENDS -mindepth 1 -maxdepth 1 -type d | rev | cut -f 1 -d '/' | rev > ~/.zen/tmp/${MOATS}/twfriends + cp -f ${HOME}/.zen/game/players/${PLAYER}/G1Kodi/${TITLE}.dragdrop.json ~/.zen/tmp/${MOATS}/atiddler.json + while read AG1PUB; do + ## CREATE "ipfs_AG1PUB" : "ACODING" + rm -f ~/.zen/tmp/${MOATS}/source.aenc + ~/.zen/Astroport.ONE/tools/natools.py encrypt -p ${AG1PUB} -i ~/.zen/tmp/${MOATS}/source.one -o ~/.zen/tmp/${MOATS}/source.aenc + ACODING=$(cat ~/.zen/tmp/${MOATS}/source.aenc | base16) + + cat ~/.zen/tmp/${MOATS}/atiddler.json | jq --arg a "${AG1PUB}" --arg v "${ACODING}" '.[] |= .+ {"ipfs_$a":"$v"}' \ + > ~/.zen/tmp/${MOATS}/atiddler.json.tmp \ + && mv ~/.zen/tmp/${MOATS}/atiddler.json.tmp ~/.zen/tmp/${MOATS}/atiddler.json + + done < ~/.zen/tmp/${MOATS}/twfriends + + ## INSERT NEW TIDDLER + tiddlywiki --load ${INDEX} \ + --import ~/.zen/tmp/${MOATS}/atiddler.json "application/json" \ + --output ~/.zen/tmp --render "$:/core/save/all" "newindex.html" "text/plain" + + [[ -s ~/.zen/tmp/newindex.html ]] \ + && cp -f ~/.zen/tmp/newindex.html ~/.zen/tmp/${MOATS}/index.html fi - YID=$(cat ~/.zen/tmp/${MOATS}/${PLAYER}.movie.json | jq --arg v "${TITRE}" -r '.[] | select(.titre==$v) | .extrait' | rev | cut -d '=' -f 1 | rev) - echo "MOVIE ALREADY IN TW" + echo "MOVIE IN TW ($YID)" fi diff --git a/RUNTIME/VOEUX.refresh.sh b/RUNTIME/VOEUX.refresh.sh index 9cf157f08..789200828 100755 --- a/RUNTIME/VOEUX.refresh.sh +++ b/RUNTIME/VOEUX.refresh.sh @@ -11,6 +11,11 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ################################################################################ # Inspect game wishes, refresh latest IPNS version # SubProcess Backup and chain +# ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/* +# ~/.zen/game/players/${PLAYER}/G1${WISHNAME}/${G1PUB}/* +# _PLAYER.json + + PLAYER="$1" ## IPNS KEY NAME - G1PUB - PLAYER ... [[ ! ${PLAYER} ]] && echo "Please provide PLAYER publish key" && exit 1 @@ -80,16 +85,26 @@ do ########################################################################## ## RUN SPECIFIC G1Voeu ASTROBOT PROGRAM (like G1CopierYoutube.sh) if [[ -s $MY_PATH/G1${WISHNAME}.sh ]]; then - echo "........................ Astrobot G1${WISHNAME}.sh program found !" + echo "........................ Astrobot G1${WISHNAME}.sh PROGRAM FOUND !" echo "________________________________ Running it *****" ${MY_PATH}/G1${WISHNAME}.sh "$INDEX" "${PLAYER}" "$MOATS" echo "________________________________ Finished ******" else - echo "......................... G1${WISHNAME} REGULAR Ŋ1 RSS JSON" + echo "......................... NO G1${WISHNAME} PROGRAM... " fi ########################################################################## ########################################################################## +########################################################################################### + ################################## + ## MAKE MY OWN EXTRACTION : [tag[G1'${WISHNAME}']!tag[G1Voeu]!sort[modified]limit[30]] + ################################## MOA MAINTENANT + echo "> EXPORT [tag[G1${WISHNAME}]!tag[G1Voeu]] § $myIPFSGW${IPNS_VOEUNS}/_${PLAYER}.tiddlers.json" + tiddlywiki --load $INDEX \ + --output ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME} \ + --render '.' _${PLAYER}'.tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1'${WISHNAME}']!tag[G1Voeu]!sort[modified]limit[30]]' + + ## RUN TW Ŋ1 search & copy treatment echo "*********************************" ################################## @@ -112,19 +127,20 @@ do for FRIENDTW in ${FINDEX[@]}; do - [[ ! -s $FRIENDTW ]] && echo "$floop / ${#FINDEX[@]} $FRIENDTW VIDE (AMI SANS TW)" && echo && ((floop++)) && continue + [[ ! -s ${FRIENDTW} ]] && echo "$floop / ${#FINDEX[@]} ${FRIENDTW} VIDE (AMI SANS TW)" && echo && ((floop++)) && continue - ## GET FRIEND EMAIL = APLAYER - tiddlywiki --load $FRIENDTW \ + ## GET FRIEND EMAIL = APLAYER (VERIFY TW IS OK) + tiddlywiki --load ${FRIENDTW} \ --output ~/.zen/tmp/${MOATS} \ --render '.' 'MadeInZion.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'MadeInZion' [[ ! -s ~/.zen/tmp/${MOATS}/MadeInZion.json ]] && echo "${PLAYER} MadeInZion : BAD TW (☓‿‿☓) " && continue APLAYER=$(cat ~/.zen/tmp/${MOATS}/MadeInZion.json | jq -r .[].player) + ## EXPORT LAST 30 DAYS G1WishName in _${APLAYER}.tiddlers.json rm -f ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/_${APLAYER}.tiddlers.json echo "$floop / ${#FINDEX[@]} TRY EXPORT [tag[G1${WISHNAME}]] FROM $APLAYER TW" - tiddlywiki --load $FRIENDTW \ + tiddlywiki --load ${FRIENDTW} \ --output ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME} \ --render '.' _${APLAYER}'.tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1'${WISHNAME}']!tag[G1Voeu]!sort[modified]limit[30]]' @@ -138,16 +154,19 @@ do echo "## TIDDLERS FOUND ;) MIAM >>> (◕‿‿◕) <<<" echo ">>> G1FRIEND § $myIPFS${IPNS_VOEUNS}/_${APLAYER}.tiddlers.json ${WISHNAME}" + # Extract Origin G1Voeu Tiddler tiddlywiki --load ${FRIENDTW} --output ~/.zen/tmp --render '.' "${APLAYER}.${WISHNAME}.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' "${WISHNAME}" - WISHNS=$(cat ~/.zen/tmp/${APLAYER}.${WISHNAME}.json | jq -r '.[].wishns') - [[ $WISHNS == "null" ]] && echo "NO WISHNS in ~/.zen/tmp/${APLAYER}.${WISHNAME}.json" && echo && ((floop++)) && continue - echo ">>> ${myIPFS}${WISHNS}" + FWISHNS=$(cat ~/.zen/tmp/${APLAYER}.${WISHNAME}.json | jq -r '.[].wishns') + [[ $FWISHNS == "null" ]] && echo "NO FWISHNS in ~/.zen/tmp/${APLAYER}.${WISHNAME}.json" && echo && ((floop++)) && continue + echo ">>> ${myIPFS}${FWISHNS}" +########################################################################################### + ## ADD WISH ON THE WORLD MAP (TODO: EXTRACT REAL GPS) echo "${floop}: { alpha: Math.random() * 2 * Math.PI, delta: Math.random() * 2 * Math.PI, name: '"${WISNAME} ${APLAYER}"', - link: '"${myIPFS}${WISHNS}"' + link: '"${myIPFS}${FWISHNS}"' } ," >> ~/.zen/tmp/world.js @@ -168,31 +187,15 @@ do }; " >> ~/.zen/tmp/world.js - cat ~/.zen/tmp/world.js IAMAP=$(ipfs add -qw ~/.zen/tmp/world.js | tail -n 1) - echo "CREATING /ipfs/${IAMAP}/world.js" - + echo "JSON WISH WORLD READY /ipfs/${IAMAP}/world.js" ################################## - ## MAKE MY OWN JSON - ################################## MOA MAINTENANT - echo "> EXPORT [tag[G1${WISHNAME}]!tag[G1Voeu]] § $myIPFSGW${IPNS_VOEUNS}/_${PLAYER}.tiddlers.json" - tiddlywiki --load $INDEX \ - --output ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME} \ - --render '.' _${PLAYER}'.tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1'${WISHNAME}']!tag[G1Voeu]!sort[modified]limit[30]]' - - ################################## - ## MAKE EARTH MAP TILES - echo - # echo "DEBUG : s~_LIBRA_~$(myIpfsGw)~g s~_G1VOEU_~${WISHNAME}~g s~_PLAYER_~${PLAYER}~g s~_VOEUNS_~${IPNS_VOEUNS}~g s~_ASTRONAUTENS_~${ASTRONAUTENS}~g" - echo - - ################################## - ## INSERT PLAYER G1 QRCODE : QRG1avatar.png + ## PREPARE PLAYER G1 QRCODE : QRG1avatar.png [[ -s ~/.zen/game/players/${PLAYER}/voeux/${WISHNAME}/${VOEUKEY}/voeu.png ]] \ && QRLINK=$(ipfs add -q ~/.zen/game/players/${PLAYER}/voeux/${WISHNAME}/${VOEUKEY}/voeu.png | tail -n 1) [[ $QRLINK == "" ]] && QRLINK=$(ipfs add -q ~/.zen/game/players/${PLAYER}/QRG1avatar.png | tail -n 1) - ### APPLY FOR ${WISHNAME} MODEL : make index.html + ### APPLY FOR ${WISHNAME} APP MODEL : make index.html ################################## ${WISHNAME}/index.html if [[ -s ${MY_PATH}/../www/${WISHNAME}/index.html ]]; then @@ -212,12 +215,14 @@ do > ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/index.html fi - ### PREPARE WISHNAME index.html + ### PREPARE WISHNAME index.html - CREATE YOUR OWN DAPP - ################################## - ## RUN N1Program ASTROBOT PROGRAM (like G1CopierYoutube.sh) +########################################################################################### + ## DATA POST TREATMENT PROGRAM + ## RUN N1Program ASTROBOT PROGRAM if [[ -s $MY_PATH/N1${WISHNAME}.sh ]]; then - echo "........................ Astrobot N1${WISHNAME}.sh program found !" + echo "........................ Astrobot N1${WISHNAME}.sh post-treatment found !" echo "________________________________ Running it *****" ${MY_PATH}/N1${WISHNAME}.sh "$INDEX" "${PLAYER}" "$MOATS" echo "________________________________ Finished ******" @@ -225,19 +230,22 @@ do echo "......................... N1${WISHNAME} REGULAR Ŋ1 RSS JSON" fi - ### ADD TO IPFS +########################################################################################### + ### ADD ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/* + ### AND PUBLISH WISH TO IPFS echo "++WISH PUBLISHING++ ipfs add -qHwr ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/*" ls ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/ WISHFLUX=$(ipfs add -qHwr ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/* | tail -n 1) # ADDING JSONS TO IPFS ipfs name publish -k $VOEUKEY /ipfs/$WISHFLUX # PUBLISH $VOEUKEY - echo "## ASK ${myIPFSGW}${IPNS_VOEUNS} TO REFRESH" + echo "## ASK ${myIPFSGW}${IPNS_VOEUNS} TO REFRESH" ## TODO LOOP BOOTSTRAP & ONLINE FRIENDS curl -m 120 -so ~/.zen/tmp/${WISHNAME}.astroindex.html "${myIPFSGW}${IPNS_VOEUNS}" & ## MOVE INTO PLAYER AREA echo ">>> ${PLAYER} G1${WISHNAME} Ŋ1 FLUX $(myIpfsGw)/${IPNS_VOEUNS}" echo "WALLET ${VOEUKEY} FOUNDED by ${G1PUB}" + cp -f ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/* ~/.zen/game/players/${PLAYER}/G1${WISHNAME}/${G1PUB}/ 2>/dev/null #~ echo "************************************************************" #~ echo "Hop, 0.1 JUNE pour le Voeu $WISHNAME" @@ -249,15 +257,12 @@ do #~ [[ ! $? == 0 ]] \ #~ && echo "POOOOOOOOOOOOOOOOOOOORRRRRR GUY. YOU CANNOT PAY A G1 FOR YOUR WISH" - cp -f ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${WISHNAME}/* ~/.zen/game/players/${PLAYER}/G1${WISHNAME}/${G1PUB}/ 2>/dev/null - done < ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.g1wishes.txt echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" -echo "TODO : REFRESH WORLD SAME WISH" +echo "TODO : REFRESH WORLD SAME WISH CACHE" cat ~/.zen/game/world/$WISHNAME/*/.link 2>/dev/null - - +## ANYTIME A PLAYER CHOOSE AN ASTROPORT - LOCAL WISH CACHE IS EXTENDED - echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" ############################################ diff --git a/tools/Connect_PLAYER_To_Gchange.sh b/tools/Connect_PLAYER_To_Gchange.sh index 1f221ccc2..77a54d382 100755 --- a/tools/Connect_PLAYER_To_Gchange.sh +++ b/tools/Connect_PLAYER_To_Gchange.sh @@ -245,15 +245,12 @@ do && curl -m 120 -so ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me}/index.html "$LIBRA/ipns/${FRIENDNS}" ## PLAYER TW EXISTING ? - if [ ! -s ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me}/index.html || $(cat ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me}/index.html | grep 504) ]; then + if [ ! -s ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me}/index.html ]; then ## AUCUN VISA ASTRONAUTE ENVOYER UN MESSAGE PAR GCHANGE echo "AUCUN TW ACTIF. PREVENONS LE" $MY_PATH/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey send -d "${liking_me}" -t "HEY BRO !" -m "G1 ♥BOX : https://ipfs.copylaradio.com/ipns/$ASTRONAUTENS" - # Remove cache - rm -Rf ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me} - ## +1 TRY try=$((try+1)) && echo $try > ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me}.try @@ -267,7 +264,11 @@ do tiddlywiki --load ${FTW} --output ~/.zen/tmp --render '.' "${liking_me}.MadeInZion.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'MadeInZion' [[ ! -s ~/.zen/tmp/${liking_me}.MadeInZion.json ]] && echo "~~~ BROKEN $FTW (☓‿‿☓) BAD ~/.zen/tmp/${liking_me}.MadeInZion.json ~~~" && continue FPLAYER=$(cat ~/.zen/tmp/${liking_me}.MadeInZion.json | jq -r .[].player) - [[ ! $FPLAYER ]] && echo "NO PLAYER = BAD MadeInZion Tiddler" && continue + + [[ ! $FPLAYER ]] \ + && echo "NO PLAYER = BAD MadeInZion Tiddler" \ + && rm -Rf ~/.zen/game/players/${PLAYER}/FRIENDS/${liking_me} \ + && continue ## CREATING 30 DAYS RSS STREAM tiddlywiki --load ${FTW} \