This commit is contained in:
syui 2024-11-14 17:23:11 +09:00
parent 17cbb6a1f3
commit 0c70d46d48
Signed by: syui
GPG Key ID: 5417CFEBAD92DF56
13 changed files with 298 additions and 0 deletions

4
.gitignore vendored
View File

@ -4,3 +4,7 @@
*.lock
*target
*.db
**.DS_Store
*.DS_Store
/scpt/*.jpeg
/scpt/*.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 960 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 KiB

View File

@ -0,0 +1,125 @@
{
"lexicon": 1,
"id": "ai.syui.game.user",
"defs": {
"main": {
"type": "record",
"key": "tid",
"description": "Record containing a game user.",
"input": {
"encoding": "application/json",
"record": {
"type": "object",
"required": [
"did",
"createdAt"
],
"properties": {
"aiten": {
"type": "integer",
"default": 0
},
"limit": {
"type": "bool"
},
"login": {
"type": "bool"
},
"did": {
"type": "string"
},
"handle": {
"type": "string"
},
"gender": {
"type": "string",
"enum": [
"none",
"male",
"famale"
]
},
"charactor": {
"type": "object",
"enum": [ "ai", "phoenix", "kirin", "leviathan", "wyvern", "cerberus", "dragon", "kitsune", "pegasus" ],
"properties": {
"type": "object",
"properties": {
"season": {
"type": "integer",
"default": 0
},
"group": {
"type": "string",
"default": "origin"
},
"img": {
"type": "uri",
"default": "https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:4hqjfn7m6n5hno3doamuhgef/bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy@jpeg"
},
"lv": {
"type": "integer",
"minimum": 1,
"maximum": 7,
"default": 1
},
"exp": {
"type": "integer"
},
"hp": {
"type": "integer",
"maximum": 255,
"default": 0
},
"attach": {
"type": "integer",
"minimum": 1,
"maximum": 255,
"default": 0
},
"attach_post": {
"type": "integer",
"default": 0
},
"critical": {
"type": "integer",
"minimum": 0,
"maximum": 255,
"default": 0
},
"critical_d": {
"type": "integer",
"minimum": 0,
"maximum": 255,
"default": 0
},
"rank": {
"type": "integer",
"minimum": 0,
"maximum": 7,
"default": 0
},
"mode": {
"type": "integer",
"minimum": 0,
"maximum": 3,
"default": 0
}
}
}
}
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp when this post was originally created."
},
"updatedAt": {
"type": "string",
"format": "datetime"
}
}
}
}
}
}

169
scpt/character.zsh Executable file
View File

@ -0,0 +1,169 @@
#!/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
gender=male
else
gender=female
fi
case $name in
ai)
gender=none
group=origin
season=0
;;
chinese|dragon|cerberus|pegasus|leviathan)
gender=male
group=fantasy
season=1
;;
kitsune|phoenix|kirin|wyvern)
gender=female
group=fantasy
season=1
;;
*)
continue ;;
esac
jj=`curl -sL "$url?repo=$repo&collection=$col&rkey=$rkey"`
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 $name
echo $gender
echo https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:4hqjfn7m6n5hno3doamuhgef/$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
json="{
\"repo\": \"$handle_yui\",
\"did\": \"$did_yui\",
\"collection\": \"$col\",
\"rkey\": \"$chara\",
\"record\": {
\"id\": $id,
\"name\": \"$name\",
\"fullname\": \"$fullname\",
\"nickname\": \"$nickname\",
\"gender\": \"$gender\",
\"season\": $season,
\"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

BIN
verse/img/fantasy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 709 KiB

BIN
verse/img/mode_ai.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
verse/img/shinka.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 KiB