2022-06-01 16:17:20 +02:00
#!/bin/bash
2022-08-15 19:07:39 +02:00
# Run After PLAYER.entrance.sh
2022-08-23 16:31:40 +02:00
################################################################################
MY_PATH = " `dirname \" $0 \"` " # relative
MY_PATH = " `( cd \" $MY_PATH \" && pwd )` " # absolutized and normalized
2022-10-26 13:30:25 +02:00
myIP = $( hostname -I | awk '{print $1}' | head -n 1)
2022-08-23 16:31:40 +02:00
ME = " ${ 0 ##*/ } "
2022-06-01 16:17:20 +02:00
######################################################################### CONNECT PLAYER WITH GCHANGE
# Check who is .current PLAYER
2022-10-12 23:29:14 +02:00
PLAYER = " $1 "
[ [ $PLAYER = = "" ] ] && PLAYER = $( cat ~/.zen/game/players/.current/.player 2>/dev/null)
[ [ $PLAYER = = "" ] ] && echo "ERROR PLAYER - EXIT" && exit 1
PSEUDO = $( cat ~/.zen/game/players/$PLAYER /.pseudo 2>/dev/null)
[ [ $G1PUB = = "" ] ] && G1PUB = $( cat ~/.zen/game/players/$PLAYER /.g1pub 2>/dev/null)
[ [ $G1PUB = = "" ] ] && echo "ERROR G1PUB - EXIT" && exit 1
2022-06-01 16:17:20 +02:00
2022-08-15 19:07:39 +02:00
ASTRONAUTENS = $( ipfs key list -l | grep -w " $PLAYER " | cut -d ' ' -f 1)
2022-10-12 23:29:14 +02:00
[ [ ! $ASTRONAUTENS ] ] && echo "ERROR ASTRONAUTENS - EXIT" && exit 1
2022-08-15 19:07:39 +02:00
2022-10-12 23:29:14 +02:00
## Directory is created, So this script already run once.
2022-10-07 00:32:33 +02:00
if [ [ ! -d ~/.zen/game/players/$PLAYER /FRIENDS/ ] ] ; then
2022-10-27 13:27:17 +02:00
## GET GCHANGE
$MY_PATH /jaklis/jaklis.py -k ~/.zen/game/players/$PLAYER /secret.dunikey -n "https://data.gchange.fr" get > ~/.zen/game/players/$PLAYER /ipfs/gchange.json
2022-10-07 00:32:33 +02:00
########################################################################
2022-10-27 13:27:17 +02:00
echo " UPDATE $PLAYER GCHANGE+ PROFILE "
2022-10-07 00:32:33 +02:00
########################################################################
2022-10-24 03:21:46 +02:00
$MY_PATH /jaklis/jaklis.py -k ~/.zen/game/players/$PLAYER /secret.dunikey -n "https://data.gchange.fr" set --site " http://tube.copylaradio.com:8080/ipns/ $ASTRONAUTENS " #GCHANGE+
2022-10-27 13:27:17 +02:00
[ [ ! $? = = 0 ] ] && echo "GCHANGE PROFILE CREATION FAILED"
2022-08-28 19:09:06 +02:00
2022-10-27 13:27:17 +02:00
## GET CESIUM
$MY_PATH /jaklis/jaklis.py -k ~/.zen/game/players/$PLAYER /secret.dunikey -n "https://g1.data.presles.fr" get > ~/.zen/game/players/$PLAYER /ipfs/cesium.json
2022-10-07 00:32:33 +02:00
########################################################################
2022-10-27 13:27:17 +02:00
echo " UPDATE $PLAYER CESIUM+ PROFILE "
2022-10-07 00:32:33 +02:00
########################################################################
2022-10-24 03:21:46 +02:00
$MY_PATH /jaklis/jaklis.py -k ~/.zen/game/players/$PLAYER /secret.dunikey -n "https://g1.data.presles.fr" set --site " http://127.0.0.1:8080/ipns/ $ASTRONAUTENS " #CESIUM+
2022-10-27 13:27:17 +02:00
[ [ ! $? = = 0 ] ] && echo "CESIUM PROFILE CREATION FAILED"
2022-10-07 00:32:33 +02:00
fi
2022-08-28 19:09:06 +02:00
2022-06-01 16:17:20 +02:00
########################################################################
########################################################################
2022-10-12 23:29:14 +02:00
echo " SCANNING $PLAYER - $G1PUB - Gchange FRIENDS "
2022-06-01 16:17:20 +02:00
########################################################################
2022-09-27 00:09:24 +02:00
################## CHECKING WHO GAVE ME STARS
################## BOOTSTRAP LIKES THEM BACK
################## SEND ipfstryme MESSAGES to FRIENDS
2022-10-07 00:59:15 +02:00
rm -f ~/.zen/tmp/my_star_level
2022-09-27 00:09:24 +02:00
## Getting Gchange liking_me list
2022-10-12 23:29:14 +02:00
echo "Getting received stars"
2022-10-11 17:29:10 +02:00
################################## JAKLIS PLAYER stars
~/.zen/Astroport.ONE/tools/timeout.sh -t 20 \
~/.zen/Astroport.ONE/tools/jaklis/jaklis.py \
-k ~/.zen/game/players/$PLAYER /secret.dunikey \
2022-10-12 23:29:14 +02:00
-n "https://data.gchange.fr" stars > ~/.zen/tmp/received_stars.json
cat ~/.zen/tmp/received_stars.json | jq -r '.likes[].issuer' | uniq > ~/.zen/tmp/liking_me
echo "cat ~/.zen/tmp/received_stars.json | jq -r"
2022-09-27 00:09:24 +02:00
for liking_me in $( cat ~/.zen/tmp/liking_me | sort | uniq) ;
do
2022-10-12 23:29:14 +02:00
[ [ " ${ liking_me } " = = "" ] ] && continue ## Protect from empty line !!
2022-10-24 16:38:59 +02:00
echo "........................."
2022-10-21 13:47:20 +02:00
ASTRONAUTENS = $( ~/.zen/Astroport.ONE/tools/g1_to_ipfs.py ${ liking_me } )
2022-10-12 23:29:14 +02:00
echo " ${ liking_me } is Astronaut ? "
2022-10-21 13:47:20 +02:00
echo " Get TW Capsule http://qo-op.com:8080/ipns/ $ASTRONAUTENS "
2022-09-27 00:09:24 +02:00
2022-10-07 00:32:33 +02:00
##### CHECKING IF WE LIKE EACH OTHER Ŋ1 LEVEL
2022-10-11 17:29:10 +02:00
################################## JAKLIS LIKING_ME stars
~/.zen/Astroport.ONE/tools/timeout.sh -t 20 \
~/.zen/Astroport.ONE/tools/jaklis/jaklis.py \
-k ~/.zen/game/players/$PLAYER /secret.dunikey \
-n "https://data.gchange.fr" \
2022-10-12 23:29:14 +02:00
stars -p ${ liking_me } > ~/.zen/tmp/${ liking_me } .Gstars.json
2022-10-11 17:29:10 +02:00
2022-10-24 16:38:59 +02:00
echo " Got Stars - DEBUG - cat ~/.zen/tmp/ ${ liking_me } .Gstars.json | jq -r "
2022-09-27 00:09:24 +02:00
## ZOMBIE PROTECTION
2022-10-12 23:29:14 +02:00
[ [ " $? " = = "0" && ! -s ~/.zen/tmp/${ liking_me } .Gstars.json ] ] && rm -Rf ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me } && echo " ${ liking_me } is a ZOMBIE... " && continue
2022-09-27 00:09:24 +02:00
2022-10-06 21:18:54 +02:00
#### RECUP ANNONCES Gchange
## https://www.gchange.fr/#/app/records/wallet?q=2geH4d2sndR47XWtfDWsfLLDVyNNnRsnUD3b1sk9zYc4&old
2022-10-07 17:09:07 +02:00
## https://www.gchange.fr/#/app/market/records/42LqLa7ARTZqUKGz2Msmk79gwsY8ZSoFyMyPyEnoaDXR
2022-10-06 21:18:54 +02:00
2022-10-12 23:29:14 +02:00
## DATA EXTRACTION FROM ~/.zen/tmp/${liking_me}.Gstars.json
my_star_level = $( cat ~/.zen/tmp/${ liking_me } .Gstars.json | jq -r '.yours.level' ) ;
f_score = $( cat ~/.zen/tmp/${ liking_me } .Gstars.json | jq -r '.score' ) ;
myfriendship = $( cat ~/.zen/tmp/${ liking_me } .Gstars.json | jq -r '.likes[] | select(.issuer | strings | test("' $G1PUB '"))' )
2022-10-11 17:29:10 +02:00
## OH MY FRIEND !
2022-10-12 23:29:14 +02:00
if [ [ " $my_star_level " != "null" && " ${ liking_me } " != " $G1PUB " ] ]
2022-09-27 00:09:24 +02:00
then
2022-10-12 23:29:14 +02:00
# ADD ${liking_me} TO MY ipfs FRIENDS list
echo " ${ liking_me } ( $my_star_level stars) : Ŋ1 SCORE $f_score "
2022-10-24 16:38:59 +02:00
mkdir -p ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me }
2022-10-12 23:29:14 +02:00
cp ~/.zen/tmp/${ liking_me } .Gstars.json ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me } / && rm -f ~/.zen/tmp/${ liking_me } .Gstars.json
echo " $my_star_level " > ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me } /stars.level && echo " ***** $my_star_level STARS ***** "
2022-09-27 00:09:24 +02:00
2022-10-11 17:29:10 +02:00
## GET FRIEND TW !!
echo "Getting latest online TW..."
YOU = $( ps auxf --sort= +utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) ;
LIBRA = $( head -n 2 ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | tail -n 1 | cut -d ' ' -f 2)
2022-10-21 13:47:20 +02:00
echo " $LIBRA /ipns/ $ASTRONAUTENS "
echo " http:// $myIP :8080/ipns/ $ASTRONAUTENS ( $YOU ) "
[ [ $YOU ] ] && ipfs --timeout 12s cat /ipns/$ASTRONAUTENS > ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me } /index.html \
|| curl -m 12 -so ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me } /index.html " $LIBRA /ipns/ $ASTRONAUTENS "
2022-10-11 17:29:10 +02:00
## PLAYER TW IS ONLINE ?
2022-10-12 23:29:14 +02:00
if [ ! -s ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me } /index.html ] ; then
2022-10-11 17:29:10 +02:00
# # # # # # # # # # # # # # #
2022-10-12 23:29:14 +02:00
## AUCUN VISA ASTRONAUTE ENVOYER UN MESSAGE PAR GCHANGE
2022-10-11 17:29:10 +02:00
echo "AUCUN TW ACTIF. ENVOYONS LUI UN MESSAGE..."
2022-10-24 16:38:59 +02:00
$MY_PATH /jaklis/jaklis.py -k ~/.zen/game/players/$PLAYER /secret.dunikey -n "https://data.gchange.fr" send -d " ${ liking_me } " -t "SALUT. Je suis sur Astroport. Tu viens." -m "Active ton TW avec moi : http://libra.copylaradio.com:1234 - DEV MODE -"
2022-10-11 17:29:10 +02:00
else
2022-10-12 23:29:14 +02:00
echo "COOL MON AMI PUBLIE SUR IPFS"
ls -al ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me } /index.html
2022-10-11 17:29:10 +02:00
# # # # # # # # # # # # # # # TODO
2022-10-24 16:38:59 +02:00
# CHECK Dessin de Moa ?? (DIS)CONNECT PLAYERS
2022-10-11 17:29:10 +02:00
# # # # # # # # # # # # # # #
2022-10-12 23:29:14 +02:00
2022-10-11 17:29:10 +02:00
fi
2022-10-24 16:38:59 +02:00
## ACTIVER FILTRAGE TAG...
2022-10-07 17:15:46 +02:00
2022-10-07 00:32:33 +02:00
## Get Ŋ2 LEVEL
2022-10-12 23:29:14 +02:00
for nid in $( cat ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me } /${ liking_me } .Gstars.json | jq -r '.likes[].issuer' ) ;
2022-10-07 00:32:33 +02:00
do
echo " Ami(s) de cet Ami $linking_me : $nid "
2022-10-12 23:29:14 +02:00
friend_of_friend = $( cat ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me } /${ liking_me } .Gstars.json | jq -r '.likes[] | select(.issuer | strings | test("' $nid '"))' )
2022-10-21 13:47:20 +02:00
echo " $friend_of_friend " | jq -r > ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me } /friend_of_friend.json
2022-10-07 00:32:33 +02:00
done
2022-10-11 17:29:10 +02:00
echo "***** Keep G1/IPNS conversion *****"
2022-10-21 13:47:20 +02:00
echo ${ ASTRONAUTENS } > ~/.zen/game/players/$PLAYER /FRIENDS/${ liking_me } /.astronautens
2022-10-12 23:29:14 +02:00
else
2022-10-16 02:57:29 +02:00
echo "ETOILES RECUES!! ... ENVOI MOI UN MESSAGE POUR CONNAITRE QUI"
2022-10-24 03:35:48 +02:00
$MY_PATH /jaklis/jaklis.py -k ~/.zen/game/players/$PLAYER /secret.dunikey -n "https://data.gchange.fr" send -d " ${ G1PUB } " -t " ETOILES RECUES (G1STARS $f_score ) " -m " https://www.gchange.fr/#/app/user/ ${ liking_me } / "
2022-10-12 23:29:14 +02:00
echo "Not Linking ;( YET."
2022-09-27 00:09:24 +02:00
fi
2022-10-12 23:29:14 +02:00
2022-09-27 00:09:24 +02:00
sleep $(( 1 + RANDOM % 2 )) # SLOW DOWN
done
2022-06-01 16:17:20 +02:00
2022-08-18 03:47:49 +02:00
exit 0