164 lines
3.9 KiB
Bash
164 lines
3.9 KiB
Bash
|
#!/bin/zsh
|
||
|
|
||
|
function download_character_icon(){
|
||
|
|
||
|
t=(
|
||
|
"https://sketchfab.com/3d-models/super-9a80a6d6cf6f4b08906505c7f945d3ce"
|
||
|
)
|
||
|
|
||
|
t=(
|
||
|
"https://sketchfab.com/3d-models/cerberus-quirky-series-4379b571b5a440119d1ebaddb0711142"
|
||
|
"https://sketchfab.com/3d-models/chinese-dragon-quirky-series-a383d3cf5b004978ac620806558b2924"
|
||
|
"https://sketchfab.com/3d-models/dragon-quirky-series-9a0989aae9b84ebdade28e84a0702a71"
|
||
|
"https://sketchfab.com/3d-models/kirin-quirky-series-b280c8bc5b87471eac1068acc91fdce1"
|
||
|
"https://sketchfab.com/3d-models/kitsune-quirky-series-4fc8b2ade43f4d4bb8a8e6e227f00a62"
|
||
|
"https://sketchfab.com/3d-models/leviathan-quirky-series-002200e1db2c461fbcaa8d2fdac2d766"
|
||
|
"https://sketchfab.com/3d-models/pegasus-quirky-series-a4488ae7a2d2405c927a50f5a8b2d6bb"
|
||
|
"https://sketchfab.com/3d-models/phoenix-quirky-series-1f0a01247b78441ab5b9cf8e9711e78e"
|
||
|
"https://sketchfab.com/3d-models/wyvern-quirky-series-7baad217325a45b4877514b3f5924be9"
|
||
|
)
|
||
|
|
||
|
for i in $t; do
|
||
|
name=`echo $i|cut -d / -f 5|cut -d - -f 1`
|
||
|
tt=`curl -sL $i|tr ' ' '\n' |grep .jpeg|cut -d '"' -f 2`
|
||
|
normal=`echo $tt|awk "NR==1"`
|
||
|
min=`echo $tt|awk "NR==2"`
|
||
|
if [ ! -f $name.jpeg ];then
|
||
|
curl -sL $normal -o $name.jpeg
|
||
|
fi
|
||
|
if [ ! -f ${name}-min.jpeg ];then
|
||
|
#curl -sL $min -o ${name}-min.jpeg
|
||
|
fi
|
||
|
array+=(`echo $tt|sed "1,2d"|cut -d ";" -f 2|cut -d '&' -f 1|tr '\n' ' '`)
|
||
|
echo $name
|
||
|
for ((i=1; i<=$#array; i++)); do
|
||
|
#echo "Index: $i, Value: ${array[$i]}"
|
||
|
#curl -sL ${array[$i]} -o ${name}-${i}.jpeg
|
||
|
done
|
||
|
done
|
||
|
}
|
||
|
|
||
|
handle_yui=yui.syui.ai
|
||
|
did_yui=did:plc:4hqjfn7m6n5hno3doamuhgef
|
||
|
token_yui=`cat ~/.config/ai/token.json|jq -r .accessJwt`
|
||
|
host=bsky.social
|
||
|
|
||
|
case $OSTYPE in
|
||
|
darwin*)
|
||
|
day=`gdate --iso-8601=seconds`
|
||
|
;;
|
||
|
*)
|
||
|
day=`date --iso-8601=seconds`
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
function create_game_character() {
|
||
|
t=(
|
||
|
ai
|
||
|
chinese
|
||
|
kirin
|
||
|
leviathan
|
||
|
phoenix
|
||
|
wyvern
|
||
|
cerberus
|
||
|
dragon
|
||
|
kitsune
|
||
|
pegasus
|
||
|
)
|
||
|
|
||
|
for ((i=1; i<=$#t; i++)); do
|
||
|
created=2001-01-01T00:00:00+09:00
|
||
|
col=ai.syui.game.character
|
||
|
req=com.atproto.repo.getRecord
|
||
|
url=https://$host/xrpc/$req
|
||
|
|
||
|
id=$i
|
||
|
name=${t[$i]}
|
||
|
chara=$name
|
||
|
rkey=$chara
|
||
|
repo=$did_yui
|
||
|
json="{\"collection\":\"$col\", \"rkey\":\"$rkey\", \"repo\":\"$repo\"}"
|
||
|
if [ $((RANDOM % 2)) -eq 0 ];then
|
||
|
sex=male
|
||
|
else
|
||
|
sex=female
|
||
|
fi
|
||
|
|
||
|
case $name in
|
||
|
ai)
|
||
|
sex=none;;
|
||
|
chinese|dragon|cerberus|pegasus)
|
||
|
sex=male;;
|
||
|
kitsune|phoenix|leviathan|kirin|wyvern)
|
||
|
sex=female;;
|
||
|
*)
|
||
|
continue;;
|
||
|
esac
|
||
|
|
||
|
jj=`curl -sL "$url?repo=$repo&collection=$col&rkey=$rkey"`
|
||
|
|
||
|
echo $jj
|
||
|
link=`echo $jj|jq -r '.value.embed.external.thumb.ref.[]'`
|
||
|
size=`echo $jj|jq -r .value.embed.external.thumb.size`
|
||
|
mtype=`echo $jj|jq -r .value.embed.external.thumb.mimeType`
|
||
|
echo $mtype, $size, $link
|
||
|
|
||
|
## upload img
|
||
|
#if [ -f ./${name}.jpeg ];then
|
||
|
# jj=`ai img-upload ./${name}.jpeg`
|
||
|
#elif [ -f ./${name}.png ];then
|
||
|
# jj=`ai img-upload ./${name}.png`
|
||
|
#fi
|
||
|
#link=`echo $jj|jq -r ".blob.ref.[]"`
|
||
|
#size=`echo $jj|jq -r .blob.size`
|
||
|
#mtype=`echo $jj|jq -r .blob.mimeType`
|
||
|
|
||
|
req=com.atproto.repo.putRecord
|
||
|
url=https://$host/xrpc/$req
|
||
|
|
||
|
nickname=$name
|
||
|
fullname=$name
|
||
|
uri=at://${did_yui}/$col/$chara
|
||
|
if [ "$name" = "ai" ];then
|
||
|
group=origin
|
||
|
sex=none
|
||
|
else
|
||
|
group=fantasy
|
||
|
fi
|
||
|
|
||
|
json="{
|
||
|
\"repo\": \"$handle_yui\",
|
||
|
\"did\": \"$did_yui\",
|
||
|
\"collection\": \"$col\",
|
||
|
\"rkey\": \"$chara\",
|
||
|
\"record\": {
|
||
|
\"id\": $id,
|
||
|
\"name\": \"$name\",
|
||
|
\"fullname\": \"$fullname\",
|
||
|
\"nickname\": \"$nickname\",
|
||
|
\"sex\": \"$sex\",
|
||
|
\"group\": \"$group\",
|
||
|
\"embed\": {
|
||
|
\"\$type\": \"app.bsky.embed.external\",
|
||
|
\"external\": {
|
||
|
\"uri\": \"$uri\",
|
||
|
\"thumb\": {
|
||
|
\"\$type\": \"blob\",
|
||
|
\"ref\": {
|
||
|
\"\$link\": \"$link\"
|
||
|
},
|
||
|
\"mimeType\": \"$mtype\",
|
||
|
\"size\": $size
|
||
|
} } }, \"createdAt\": \"$created\", \"updatedAt\": \"$day\" } }"
|
||
|
|
||
|
if echo $json|jq . ;then
|
||
|
curl -sL -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $token_yui" -d $json $url
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
}
|
||
|
|
||
|
#download_character_icon
|
||
|
create_game_character
|
||
|
|