#!/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