From ff52c8444b7f79b86828c8b98858db5761d20448 Mon Sep 17 00:00:00 2001 From: syui Date: Tue, 20 Feb 2024 16:19:54 +0900 Subject: [PATCH] fix scpt --- .config/ai/scpt/api_card.zsh | 8 +- .config/ai/scpt/api_ten.zsh | 5 +- .config/ai/scpt/at_search.zsh | 21 -- .config/ai/scpt/bluesky.zsh | 24 -- .config/ai/scpt/bot_card.zsh | 39 --- .config/ai/scpt/bot_kawaii.zsh | 60 ---- .config/ai/scpt/bot_list.zsh | 79 ----- .config/ai/scpt/bsky_token.zsh | 29 -- .config/ai/scpt/diffusers.zsh | 26 +- .config/ai/scpt/diffusers_img.zsh | 2 +- .config/ai/scpt/dig.zsh | 8 - .config/ai/scpt/fan_art.zsh | 145 --------- .config/ai/scpt/invite.zsh | 14 - .config/ai/scpt/like_reply.zsh | 40 --- .config/ai/scpt/openai_like.zsh | 49 --- .config/ai/scpt/openai_like_bot.zsh | 70 ----- .config/ai/scpt/openai_like_timeline.zsh | 46 --- .config/ai/scpt/photo.zsh | 107 ------- .config/ai/scpt/t.zsh | 20 -- .config/ai/scpt/user.zsh | 382 +++++++++++++++++++++++ .config/ai/scpt/user_day_post.zsh | 56 ---- .config/ai/scpt/user_list.zsh | 138 -------- .config/ai/scpt/user_search.zsh | 129 -------- .config/ai/scpt/user_service.zsh | 51 --- 24 files changed, 403 insertions(+), 1145 deletions(-) delete mode 100755 .config/ai/scpt/at_search.zsh delete mode 100755 .config/ai/scpt/bluesky.zsh delete mode 100755 .config/ai/scpt/bot_card.zsh delete mode 100755 .config/ai/scpt/bot_kawaii.zsh delete mode 100755 .config/ai/scpt/bot_list.zsh delete mode 100755 .config/ai/scpt/bsky_token.zsh delete mode 100755 .config/ai/scpt/dig.zsh delete mode 100755 .config/ai/scpt/fan_art.zsh delete mode 100755 .config/ai/scpt/invite.zsh delete mode 100755 .config/ai/scpt/like_reply.zsh delete mode 100755 .config/ai/scpt/openai_like.zsh delete mode 100755 .config/ai/scpt/openai_like_bot.zsh delete mode 100755 .config/ai/scpt/openai_like_timeline.zsh delete mode 100755 .config/ai/scpt/photo.zsh delete mode 100755 .config/ai/scpt/t.zsh create mode 100755 .config/ai/scpt/user.zsh delete mode 100755 .config/ai/scpt/user_day_post.zsh delete mode 100755 .config/ai/scpt/user_list.zsh delete mode 100755 .config/ai/scpt/user_search.zsh delete mode 100755 .config/ai/scpt/user_service.zsh diff --git a/.config/ai/scpt/api_card.zsh b/.config/ai/scpt/api_card.zsh index 3276905..6a65826 100755 --- a/.config/ai/scpt/api_card.zsh +++ b/.config/ai/scpt/api_card.zsh @@ -3,6 +3,7 @@ # raid-boss-admin cfg=$HOME/.config/ai/scpt/card_config.json cfg_ai=$HOME/.config/ai/scpt/card_config_ai.json +host_bsky=`cat ~/.config/ai/token.toml|head -n 1 |cut -d '"' -f 2` # { # "raid_admin":"yui.bsky.social", # "raid_time": "", @@ -666,7 +667,12 @@ function battle_server(){ f_server_at=$HOME/.config/ai/txt/card_server_at.txt f_server_start_time=$HOME/.config/ai/txt/card_server_start_time.txt - at_endpoint=`curl -sL https://plc.directory/$did|jq -r ".service.[].serviceEndpoint"|cut -d . -f 1-2|cut -d / -f 3` + if [ "$host_bsky" = "bsky.social" ];then + at_endpoint=`curl -sL https://plc.directory/$did|jq -r ".service.[].serviceEndpoint"|cut -d . -f 1-2|cut -d / -f 3` + else + at_endpoint=$host_bsky + fi + at_endpoint_f=$HOME/.config/ai/txt/at_endpoint_${at_endpoint}_.txt touch $at_endpoint_f a_team=$at_endpoint diff --git a/.config/ai/scpt/api_ten.zsh b/.config/ai/scpt/api_ten.zsh index 66a65a1..84e25b9 100755 --- a/.config/ai/scpt/api_ten.zsh +++ b/.config/ai/scpt/api_ten.zsh @@ -30,8 +30,7 @@ host_card_json=`curl -sL $host_card` n_cid=$HOME/.config/ai/txt/tmp_notify_cid.txt f_cfg=$HOME/.config/ai/txt/tmp_ten_config.txt -host=`cat ~/.config/ai/token.toml|head -n 1 |cut -d '"' -f 2` - +host_bsky=`cat ~/.config/ai/token.toml|head -n 1 |cut -d '"' -f 2` function moon_check(){ moon_now=`date +"%Y%m%d"` @@ -826,7 +825,7 @@ function card_post() { link="https://card.syui.ai/${username}" text=`echo "$title +${cten}\n$body\nten : $ten_su\n$ten_kai : $old_ten_char ---> $ten_char $ten_yak_ok"` - if [ "$host" = "bsky.social" ];then + if [ "$host_bsky" = "bsky.social" ];then tmp_atr=`ai reply-og "$text" --cid $cid --uri $uri --img $img --title "$title" --description "$desc" --link $link` else tmp_atr=`ai reply "$text" --cid $cid --uri $uri` diff --git a/.config/ai/scpt/at_search.zsh b/.config/ai/scpt/at_search.zsh deleted file mode 100755 index 533c22e..0000000 --- a/.config/ai/scpt/at_search.zsh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/zsh -d=${0:a:h:h} -url="search.bsky.social/search/posts?q=" -q=`echo $*|tr ' ' '+'` -url="${url}${q}" - -t=`curl -sL "$url"` -echo $t -n=`echo $t|jq "length"` -n=`expr $n - 1` -for ((i=0;i<=$n;i++)) -do - did=`echo $t|jq -r ".[$i].user.did"` - text=`echo $t|jq -r ".[$i].post.text"` - tid=`echo $t|jq -r ".[$i].tid"` - if [ "$text" != "null" ];then - echo $did - echo $text - echo https://$tid - fi -done diff --git a/.config/ai/scpt/bluesky.zsh b/.config/ai/scpt/bluesky.zsh deleted file mode 100755 index 4da2207..0000000 --- a/.config/ai/scpt/bluesky.zsh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/zsh -d=${0:a:h} -dd=${0:a:h:h}/json -#https://github.com/bluesky-social/atproto/issues/597 -host=bsky.social -base=https://$host/xrpc -handle=`cat ~/.config/atr/token.json| jq -r .handle` -token=`cat ~/.config/atr/token.json| jq -r .accessJwt` -if [ -n "$1" ];then - url=$base/$1 -else - url="$base/app.bsky.actor.getProfile?actor=$handle" -fi - -curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $token" $url | jq . >! $dd/profile.json -cat $dd/profile.json - -url=$base/app.bsky.feed.getTimeline -curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $token" $url | jq . >! $dd/timeline.json -cat $dd/timeline.json - -url=$base/app.bsky.notification.listNotifications -curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $token" $url | jq . >! $dd/notify.json -cat $dd/notify.json|jq . diff --git a/.config/ai/scpt/bot_card.zsh b/.config/ai/scpt/bot_card.zsh deleted file mode 100755 index 62e099a..0000000 --- a/.config/ai/scpt/bot_card.zsh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/zsh - -host_at=bsky.social -url_at=https://$host_at/xrpc/com.atproto.repo.listRecords -scpt=$HOME/.config/ai/scpt/api_card.zsh - -handle=skychan.social -did=did:plc:7hgow77uky7lgbinwyvbzhar -f=$HOME/.config/ai/card_bot.txt -touch $f - -n=5 -for ((i=0;i<=$n;i++)) -do - echo $i - cid=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post" |jq -r ".[]|.[$i]?|.cid"` - uri=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post" |jq -r ".[]|.[$i]?|.uri"` - t=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post" |jq -r ".[]|.[$i]?|.value.text"` - echo $t $cid $uri - if [ "@yui.syui.ai /card" = "$t" ];then - if [ "$cid" = "`cat $f`" ];then - exit - fi - card=`$scpt $handle $did` - link="https://card.syui.ai/skychan" - ~/.cargo/bin/atr r "$card" -c $cid -u "$uri" -l "$link" - echo $cid >! $f - fi - if [ "@yui.syui.ai /card -b" = "$t" ];then - if [ "$cid" = "`cat $f`" ];then - exit - fi - card=`$scpt $handle $did -b` - link="https://card.syui.ai/skychan" - ~/.cargo/bin/atr r "\n$card" -c $cid -u "$uri" -l "$link" - echo $cid >! $f - fi -done -exit diff --git a/.config/ai/scpt/bot_kawaii.zsh b/.config/ai/scpt/bot_kawaii.zsh deleted file mode 100755 index 325d17d..0000000 --- a/.config/ai/scpt/bot_kawaii.zsh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/zsh - -d=$HOME/.config/ai/txt -mkdir -p $d -f=$d/kawaii.txt - -function test_post() { - host_at=bsky.social - url_at=https://$host_at/xrpc/com.atproto.repo.listRecords - handle=lilly-niyu.bsky.social - n=10 - for ((i=0;i<=$n;i++)) - do - echo $i - cid=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post" |jq -r ".[]|.[$i]?|.cid"` - uri=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post" |jq -r ".[]|.[$i]?|.uri"` - t=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post" |jq -r ".[]|.[$i]?|.value.text"` - echo $t $cid $uri - if [ "かわいいにゃ〜!!" = "$t" ];then - #atr r "楽しそう!アイもまぜてよ" -c $cid -u "$uri" - fi - done -} - -#uri=at://$did/$tid -#{ -# "tid": "app.bsky.feed.post/3judrtmxuin2b", -# "cid": "bafyreibebbn7og5dgvvegcjlh357pnrpuvvinbjeaqbfvqb4jsrpbsw3di", -# "user": { -# "did": "did:plc:hodycxjeqfxtest2ilj47j7g", -# "handle": "lilly-niyu.bsky.social" -# }, -# "post": { -# "createdAt": 1682587582509000000, -# "text": "かわいいにゃ〜!!", -# "user": "lilly-niyu.bsky.social" -# } -#} - -url="search.bsky.social/search/posts?q=かわいいにゃ〜!!" -q=`echo $*|tr ' ' '+'` -url="${url}${q}" - -t=`curl -sL "$url"` -cid=`echo $t|jq -r ".[1].cid"` -did=`echo $t|jq -r ".[1].did"` -tid=`echo $t|jq -r ".[1].tid"` -uri="at://$did/$tid" -text=`echo $t|jq -r ".[1].post.text"` - -touch $f - -echo $text -if [ "かわいいにゃ〜!!" = "$text" ] && [ "`cat $f`" != "$cid" ];then - echo ok - atr r "楽しそう!アイもまぜてよ" -c $cid -u "$uri" - echo $cid >! $f -else - echo no -fi diff --git a/.config/ai/scpt/bot_list.zsh b/.config/ai/scpt/bot_list.zsh deleted file mode 100755 index 24808b9..0000000 --- a/.config/ai/scpt/bot_list.zsh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/zsh - -url_plc="https://plc.directory/export" -host_at=bsky.social -url=https://plc.directory -url_at=https://$host_at/xrpc/com.atproto.repo.listRecords -dir=$HOME/.config/atr/txt -file=$dir/bot_list.txt -unset timed - -case $OSTYPE in - darwin*) - alias date="/opt/homebrew/bin/gdate" - ;; -esac - -if [ -z "$1" ];then - exit -fi - -if ! echo $1|grep "." >/dev/null 2>&1;then - echo "ex : user syui.bsky.social" - exit -fi - -if [ ! -d $dir ];then - mkdir -p $dir -fi - -if [ ! -f $file ];then - touch $file -fi - -function mfile() { - t=`cat $file|sort|uniq` - if [ -n "$t" ];then - echo "$t" >! ${file}.back - mv ${file}.back $file - fi -} - -function plc(){ - if cat $file|grep "$1" >/dev/null 2>&1;then - cat $file|grep "$1" - exit - fi - json_tmp=`curl -sL "${url_plc}?after=${timed}"|jq .` - json=`echo $json_tmp|jq "select(.operation.handle == \"$1\")"` - if [ -z "$json" ];then - check=`echo $json_tmp|jq -r ".operation.alsoKnownAs"|head -n 1` - if [ "null" != "$check" ];then - json=`echo $json_tmp|jq "select(.operation.alsoKnownAs|.[] == \"at://$1\")"` >/dev/null 2>&1 - fi - fi - if [ -n "$json" ];then - created_at=`echo $json|jq -r .createdAt |tail -n 1` - fi - if [ -n "$created_at" ];then - echo "$created_at : $1" - echo "$created_at : $1" >> $file - mfile - exit - fi -} - -if [ "$1" = "-l" ];then - mfile - cat $file - exit -fi - -for ((i=0;i<=20;i++)) -do - if [ $i -eq 0 ];then - timed="1970-01-01" - fi - plc $1 - timed=`echo $json_tmp|jq -r .createdAt|tail -n 1` -done diff --git a/.config/ai/scpt/bsky_token.zsh b/.config/ai/scpt/bsky_token.zsh deleted file mode 100755 index 8a7fd5b..0000000 --- a/.config/ai/scpt/bsky_token.zsh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/zsh -d=${0:a:h} -dd=${0:a:h:h}/json -#https://github.com/bluesky-social/atproto/issues/597 -host=`cat ~/.config/atr/config.json|jq -r .host` -base=https://$host/xrpc -handle=`cat ~/.config/atr/config.json|jq -r .user` -pass=`cat ~/.config/atr/config.json|jq -r .pass` -f=~/.config/atr/token.json - -curl -X POST -H "Content-Type: application/json" -d "{\"identifier\":\"$handle\",\"password\":\"$pass\"}" https://$host/xrpc/com.atproto.server.createSession | jq . >! $f -cat $f - -if [ "$1" = "-a" ];then - handle=`cat $f| jq -r .handle` - token=`cat $f| jq -r .accessJwt` - - url="$base/app.bsky.actor.getProfile?actor=$handle" - curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $token" $url | jq . >! $dd/profile.json - cat $dd/profile.json - - url=$base/app.bsky.feed.getTimeline - curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $token" $url | jq . >! $dd/timeline.json - cat $dd/timeline.json - - url=$base/app.bsky.notification.listNotifications - curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $token" $url | jq . >! $dd/notify.json - cat $dd/notify.json|jq . -fi diff --git a/.config/ai/scpt/diffusers.zsh b/.config/ai/scpt/diffusers.zsh index 0fd9c02..a38bd93 100755 --- a/.config/ai/scpt/diffusers.zsh +++ b/.config/ai/scpt/diffusers.zsh @@ -4,18 +4,23 @@ dir=${0:a:h} mkdir -p $dir/png f=$dir/png/t.png f_sleep=$dir/png/sleep +txt=~/.config/ai/txt + +if [ ! -d $txt ];then + mkdir -p $txt +fi + cfg=$dir/stable_diffusion_prompt.j -cfg_did=$dir/stable_diffusion_did.txt -opt_af=$dir/stable_diffusion_a.txt -opt_bf=$dir/stable_diffusion_b.txt -opt_allf=$dir/stable_diffusion_all.txt +cfg_did=$txt/stable_diffusion_did.txt +opt_af=$txt/stable_diffusion_a.txt +opt_bf=$txt/stable_diffusion_b.txt +opt_allf=$txt/stable_diffusion_all.txt if [ ! -f $cfg_did ];then touch $cfg_did fi did=$1 -admin=did:plc:uqzpqmrjnptsxezjx4xuh2mn if [ ! -f $cfg ];then echo no file $cfg @@ -25,16 +30,6 @@ fi opt_a=`echo $@|cut -d ' ' -f 2` opt_b=`echo $@|cut -d ' ' -f 3` -#case "$opt_b" in -# bluesky|sky|field|girl|anime|universe|earth|bird|miku|ai|yui|card|blue|cat) -# ;; -# *) -# if [ -n "$opt_b" ] && [ "$did" != "$admin" ];then -# opt_b=nyancat -# fi -# ;; -#esac - echo $opt_a >! $opt_af echo $opt_b >! $opt_bf echo $@ >! $opt_allf @@ -106,3 +101,4 @@ else echo "\n$did" >> $cfg_did run fi + diff --git a/.config/ai/scpt/diffusers_img.zsh b/.config/ai/scpt/diffusers_img.zsh index f054f7d..6b2ad23 100755 --- a/.config/ai/scpt/diffusers_img.zsh +++ b/.config/ai/scpt/diffusers_img.zsh @@ -1,7 +1,7 @@ #!/bin/zsh dir=${0:a:h} -f=$HOME/.config/ai/scpt/png/t.png +f=$HOME/.config/ai/png/t.png cid=$1 uri=$2 diff --git a/.config/ai/scpt/dig.zsh b/.config/ai/scpt/dig.zsh deleted file mode 100755 index ce21d77..0000000 --- a/.config/ai/scpt/dig.zsh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/zsh - -txt=_atproto.$1 -did=$2 -curl -sL plc.directory/$did/log |jq ".[]|.alsoKnownAs|.[]?" | grep -n .| head -n 4 - -dig -t TXT $txt|grep "did=did:plc:"|head -n 1 -#dig syui.ai +short diff --git a/.config/ai/scpt/fan_art.zsh b/.config/ai/scpt/fan_art.zsh deleted file mode 100755 index e2135db..0000000 --- a/.config/ai/scpt/fan_art.zsh +++ /dev/null @@ -1,145 +0,0 @@ -#!/bin/zsh - -url_plc="https://plc.directory/export" -host_at=bsky.social -url=https://plc.directory -url_at=https://$host_at/xrpc/com.atproto.repo.listRecords -dir=$HOME/.config/atr/txt -file=$dir/user_list.txt - -opt=`echo $4|tr -d "'"` -dir_git_card_page=$HOME/git/card.syui.ai - -if [ ! -d $dir_git_card_page ];then - mkdir -p $HOME/git - cd $HOME/git - git clone https://github.com/syui/card.syui.ai -else - cd $dir_git_card_page - t=`git pull` -fi - -file_fanart=$dir_git_card_page/public/json/fanart.json -case $OSTYPE in - darwin*) - alias date="/opt/homebrew/bin/gdate" - ;; -esac -created_at=`date --iso-8601=seconds` - -#if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ];then -# exit -#fi - -function fan_art_search() { - k="aifanart" - url="search.bsky.social/search/posts?q=" - t=`curl -sL "${url}${k}"|jq ".[]|select(.post.text == \"$k\")"` - #n=`curl -sL "${url}${k}"|jq length` - n=$((n - 1)) - for ((i=0;i<=$n;i++)) - do - did=`curl -sL "${url}${k}"|jq -r ".[$i]|.user.did"` - handle=`curl -sL https://plc.directory/$did|jq -r ".alsoKnownAs|.[]"|cut -d / -f 3-` - if [ -z "$handle" ];then - continue - fi - tid=`curl -sL "${url}${k}"|jq -r ".[$i]|.tid"|cut -d / -f 2` - http=https://staging.bsky.app/profile/$handle/post/$tid - echo $http - done -} - -if [ "$1" = "-s" ];then - fan_art_search - exit -fi - -if ! echo $1|grep "." >/dev/null 2>&1;then - echo "ex : user syui.bsky.social" - exit -fi - -if ! echo $2|grep "did:plc:" >/dev/null 2>&1;then - echo "ex : user did" - exit -fi - -if [ "$3" = "-l" ];then - curl -sL card.syui.ai/json/fanart.json|jq -r ".[]|.author, .link" - exit -fi - -if ! echo $3|grep -e "bsky.app/profile/" -e "nostter.vercel.app" >/dev/null 2>&1;then - echo "please url : bsky.app/profile/$1/post/xxx" - exit -fi - -if ! echo $4|grep -e "https://av-cdn.bsky.app/img" -e "https://nostr.build/i/" >/dev/null 2>&1;then - if [ "$opt" != "-d" ];then - echo "please url : av-cdn.bsky.social/img" - exit - fi -fi - -function fan_art(){ - add=$1 - did=$2 - if echo $3|grep "nostter.vercel.app" >/dev/null 2>&1;then - link=`echo $3|cut -d / -f 1-4` - else - link=$3 - fi - img=`echo $4|tr -d "'"` - author=`echo $3|cut -d / -f 5` - if [ -z "$author" ];then - author="nostr" - fi - cd $dir_git_card_page - check_null=`cat $file_fanart|jq ".[]|select(.img == \"$img\")"` - if [ -n "$check_null" ];then - echo registered - exit - fi - echo `cat $file_fanart` "[{\"add\":\"$add\",\"link\":\"$link\",\"author\":\"$author\",\"img\":\"$img\",\"created_at\":\"$created_at\",\"did\":\"$did\"}]" | jq -s add >! $file_fanart.back - if cat $file_fanart.back|jq . >/dev/null 2>&1;then - mv $file_fanart.back $file_fanart - git add $file_fanart - git commit -m "add fanart" - git push -u origin main -f - echo add fanart, thx $1 - echo "author : $author" - echo "it will take some time to deploy" - fi -} - -function fan_art_delete(){ - add=$1 - did=$2 - link=$3 - cd $dir_git_card_page - check_null=`cat $file_fanart|jq ".[]|select(.img == \"$img\")"` - if [ -n "$check_null" ];then - echo registered - exit - fi - cat $file_fanart|jq ".[]|select(.link == \"$link\")|= .+{\"delete\":true,\"delete-did\":\"$did\"}"|jq -s >! $file_fanart.back - if cat $file_fanart.back|jq . >/dev/null 2>&1;then - mv $file_fanart.back $file_fanart - git add $file_fanart - git commit -m "delete fanart" - git push -u origin main -f - echo delete fanart, thx $1 - echo "delete-did : $did" - echo "it will take some time to deploy" - fi -} - -if [ "$opt" = "-d" ];then - fan_art_delete $1 $2 $3 - exit -fi - -fan_art $1 $2 $3 $4 - -exit diff --git a/.config/ai/scpt/invite.zsh b/.config/ai/scpt/invite.zsh deleted file mode 100755 index aa0a88c..0000000 --- a/.config/ai/scpt/invite.zsh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/zsh - -admin_password=`cat $HOME/.config/ai/api_card.json|jq -r .pds_admin_password` -if [ -n "$1" ];then - host=$1 -else - host=syu.is -fi -url=https://$host/xrpc/com.atproto.server.createInviteCode -json="{\"useCount\":30}" -echo $url -echo $admin_password -#curl -X POST -u admin:${admin_password} -H "Content-Type: application/json" -d "$json" -sL $url | jq -r .code -curl -X POST -u admin:${admin_password} -H "Content-Type: application/json" -d "$json" -sL $url diff --git a/.config/ai/scpt/like_reply.zsh b/.config/ai/scpt/like_reply.zsh deleted file mode 100755 index 7250914..0000000 --- a/.config/ai/scpt/like_reply.zsh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/zsh - -atr=$HOME/.cargo/bin/atr -host=api.syui.ai -data=`curl -sL "$host/users?itemsPerPage=3000"|jq ".|sort_by(.like)|reverse|.[]|select(.like_rank > 1)"` -tmp=`echo $data|jq -s` -n=`echo $tmp|jq "length"` -ran=$(($RANDOM % n - 1)) -echo $ran - -function did() { - user=`echo $tmp|jq -r ".[$ran].username"` - did=`echo $tmp|jq -r ".[$ran].did"` -} - -function tl(){ - did - cid=`$atr f $did|jq -r ".records|.[0].cid"` - uri=`$atr f $did|jq -r ".records|.[0].uri"` - text=`$atr f $did|jq -r ".records|.[0].value.text"` - echo $cid - echo $uri - echo $text - find=`echo $text|grep "card.syui.ai"` - find_t=`echo $text|grep "ten : "` - if [ -n "$find" ] || [ -n "$find_t" ];then - exit - fi - text=`$atr chat "$text" -c` - echo $text -} - -function reply(){ - tl - if [ -n "$text" ] && [ -n "$uri" ];then - $atr r "$text" -u $uri -c $cid - fi -} - -reply diff --git a/.config/ai/scpt/openai_like.zsh b/.config/ai/scpt/openai_like.zsh deleted file mode 100755 index b4cf315..0000000 --- a/.config/ai/scpt/openai_like.zsh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/zsh - -handle=$1 -did=$2 -text=$3 - -atr=$HOME/.cargo/bin/atr -url_j=https://card.syui.ai/json/card.json -handle=$1 -did=$2 -cid=$3 -uri=$4 - -case $OSTYPE in - darwin*) - alias date="/opt/homebrew/bin/gdate" - ;; -esac - -url=https://api.syui.ai -username=`echo $1|cut -d . -f 1` -link=https://card.syui.ai/$username -uid=`curl -sL "$url/users?itemsPerPage=2000"|jq ".[]|select(.username == \"$username\")"|jq -r .id` -echo $uid - -data=`curl -sL "$url/users/$uid"` -like_old=`echo $data|jq -r .like` - -nolike=$(($RANDOM % 30)) -like=$(($RANDOM % 10)) -like_at=`date --iso-8601=seconds` -token=`cat $HOME/.config/ai/api_card.json|jq -r .token` - -echo nolike $nolike -echo like $like - -#if [ $like_old -eq 100 ];then -# $atr follow $did -# like=$((1 + like_old)) -# curl -X PATCH -H "Content-Type: application/json" -d "{\"token\":\"$token\", \"like\": $like}" -s $url/users/$uid -#fi - -if { [ $like -eq 1 ] && echo $text|grep -e "ありがとう" -e "うれしい" } || [ $nolike -eq 1 ];then - echo ok - #$atr @ $handle -p "♡" - like=$((1 + like_old)) - curl -X PATCH -H "Content-Type: application/json" -d "{\"token\":\"$token\", \"like\": $like}" -s $url/users/$uid -fi -exit diff --git a/.config/ai/scpt/openai_like_bot.zsh b/.config/ai/scpt/openai_like_bot.zsh deleted file mode 100755 index 02408ec..0000000 --- a/.config/ai/scpt/openai_like_bot.zsh +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/zsh - -atr=$HOME/.cargo/bin/atr -url=https://api.syui.ai - -token=`cat $HOME/.config/atr/api_card.json|jq -r .token` - -if [ "$2" = "reset" ];then - echo reset : $1 - username=`echo $1|cut -d . -f 1` - uid=`curl -sL "$url/users?itemsPerPage=3000"|jq ".[]|select(.username == \"$username\")"|jq -r .id` - like=0 - tmp=`curl -X PATCH -H "Content-Type: application/json" -d "{\"like\":\"$like\", \"token\":\"$token\"}" -s $url/users/$uid` - exit -fi - -s=$((RANDOM % 5)) -json=`curl -sL "https://api.syui.ai/users?itemsPerPage=3000"|jq "sort_by(.like)|reverse|.[$s]"` - -case $OSTYPE in - darwin*) - alias date="/opt/homebrew/bin/gdate" - ;; -esac - -username=`echo $json|jq -r .username` - -if [ "$username" = "ai" ] || [ "$username" = "yui" ];then - exit -fi -did=`echo $json|jq -r .did` -link=https://card.syui.ai/$username -uid=`echo $json|jq -r .id` - -data=`curl -sL "$url/users/$uid"` -like_old=`echo $data|jq -r .like` -like_rank=`echo $json|jq -r .like_rank` -like_rank_new=$((like_rank + 1)) - -echo $data - -#test -if [ "$1" = "-t" ];then - echo $json - did=did:plc:uqzpqmrjnptsxezjx4xuh2mn - like_old=6 -fi - -if [ $like_old -ge 100 ] && [ $like_rank -eq 2 ];then - text=`$atr chat "相手に好きな気持を伝えてください" -c|sed '/^$/d'` - $atr @ $did -p "$text" - curl -X PATCH -H "Content-Type: application/json" -d "{\"like_rank\":$like_rank_new, \"token\":\"$token\"}" -s $url/users/$uid - exit -fi - -if [ $like_old -ge 10 ] && [ $like_rank -eq 1 ];then - text=`$atr chat "相手を心配してください" -c|sed '/^$/d'` - $atr @ $did -p "$text" - curl -X PATCH -H "Content-Type: application/json" -d "{\"like_rank\":$like_rank_new, \"token\":\"$token\"}" -s $url/users/$uid - exit -fi - -if [ $like_old -ge 5 ] && [ $like_rank -eq 0 ];then - text=`$atr chat "自己紹介してください" -c|sed '/^$/d'` - $atr @ $did -p "$text" - curl -X PATCH -H "Content-Type: application/json" -d "{\"like_rank\":$like_rank_new, \"token\":\"$token\"}" -s $url/users/$uid - exit -fi - -exit diff --git a/.config/ai/scpt/openai_like_timeline.zsh b/.config/ai/scpt/openai_like_timeline.zsh deleted file mode 100755 index de0fabb..0000000 --- a/.config/ai/scpt/openai_like_timeline.zsh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/zsh - -atr=$HOME/.cargo/bin/atr - -dir=${0:a:h:h} -OPENAI_API_KEY=`cat ~/.config/atr/openai.toml |cut -d "'" -f 2` -url=https://api.openai.com/v1/chat/completions -cfg=`echo "あなたはyuiという作品のアイと呼ばれるキャラクターです。アイの口調で回答してください。第一人称は「アイ」です。\ -第二人称はできる限り省略してください。\ -アイは他人に謝ることはありません。自由気ままな優しさを兼ね備えます。\ -アイのよく使う口癖は次のとおりです。その口癖に合わせた感じで話してください。\ -......。\ -アイね、ここでお昼寝するの。\ -うん。\ -そうだね。\ -面白いね。\ -楽しいね。\ -どうしたの? -"` - -json="{ -\"model\": \"gpt-3.5-turbo\", -\"messages\": [ - {\"role\": \"system\", \"content\": \"$cfg\"}, - {\"role\": \"user\", \"content\": \"$q\"} - ] -}" - -function openai_api(){ - curl -sL $url \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $OPENAI_API_KEY" \ - -d "$json" -} - -if [ -n "$1" ] && [ -n "$2" ] && [ -n "$3" ];then - q=${@:3:($#-2)} - cid=$1 - uri=$2 -else - echo no query - exit -fi - -content=`openai_api "$q" | jq -r ".choices|.[]|.message.content"` -$atr r "$content" -c $cid -u $uri diff --git a/.config/ai/scpt/photo.zsh b/.config/ai/scpt/photo.zsh deleted file mode 100755 index a5e416b..0000000 --- a/.config/ai/scpt/photo.zsh +++ /dev/null @@ -1,107 +0,0 @@ -#!/bin/zsh - -url_plc="https://plc.directory/export" -host_at=bsky.social -url=https://plc.directory -url_at=https://$host_at/xrpc/com.atproto.repo.listRecords -dir=$HOME/.config/ai/txt -file=$dir/user_list.txt - -dir_git_card_page=$HOME/git/card.syui.ai - -if [ ! -d $dir_git_card_page ];then - mkdir -p $HOME/git - cd $HOME/git - git clone https://github.com/syui/card.syui.ai -else - cd $dir_git_card_page - t=`git pull` -fi - -file_photo=$dir_git_card_page/public/json/photo.json -case $OSTYPE in - darwin*) - alias date="/opt/homebrew/bin/gdate" - ;; -esac -created_at=`date --iso-8601=seconds` - -#if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ];then -# exit -#fi - -function fan_art_search() { - k="aiphoto" - url="search.bsky.social/search/posts?q=" - t=`curl -sL "${url}${k}"|jq ".[]|select(.post.text == \"$k\")"` - #n=`curl -sL "${url}${k}"|jq length` - n=$((n - 1)) - for ((i=0;i<=$n;i++)) - do - did=`curl -sL "${url}${k}"|jq -r ".[$i]|.user.did"` - handle=`curl -sL https://plc.directory/$did|jq -r ".alsoKnownAs|.[]"|cut -d / -f 3-` - if [ -z "$handle" ];then - continue - fi - tid=`curl -sL "${url}${k}"|jq -r ".[$i]|.tid"|cut -d / -f 2` - http=https://staging.bsky.app/profile/$handle/post/$tid - echo $http - done -} - -if [ "$1" = "-s" ];then - fan_art_search - exit -fi - -if ! echo $1|grep "." >/dev/null 2>&1;then - echo "ex : user syui.bsky.social" - exit -fi - -if ! echo $2|grep "did:plc:" >/dev/null 2>&1;then - echo "ex : user did" - exit -fi - -if [ "$3" = "-l" ];then - curl -sL card.syui.ai/json/photo.json|jq -r ".[]|.author, .link" - exit -fi - -if ! echo $3|grep "bsky.app/profile/">/dev/null 2>&1;then - echo "please url : bsky.app/profile/$1/post/xxx" - exit -fi - -if ! echo $4|grep "av-cdn.bsky.app/img/">/dev/null 2>&1;then - echo "please url : av-cdn.bsky.app/img" - exit -fi - -function fan_art(){ - add=$1 - did=$2 - link=$3 - img=`echo $4|tr -d "'"` - author=`echo $3|cut -d / -f 5` - cd $dir_git_card_page - check_null=`cat $file_photo|jq ".[]|select(.img == \"$img\")"` - if [ -n "$check_null" ];then - echo registered - exit - fi - echo `cat $file_photo` "[{\"add\":\"$add\",\"link\":\"$link\",\"author\":\"$author\",\"img\":\"$img\",\"created_at\":\"$created_at\",\"did\":\"$did\"}]" | jq -s add >! $file_photo.back - if cat $file_photo.back|jq . >/dev/null 2>&1;then - mv $file_photo.back $file_photo - git add $file_photo - git commit -m "add photo" - git push -u origin main -f - echo add photo, thx $1 - echo "author : $author" - echo "it will take some time to deploy" - fi -} - -fan_art $1 $2 $3 $4 -exit diff --git a/.config/ai/scpt/t.zsh b/.config/ai/scpt/t.zsh deleted file mode 100755 index 0e38096..0000000 --- a/.config/ai/scpt/t.zsh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/zsh - -f=`grep -R '$HOME/.config/atr' . |cut -d : -f 1|sort|uniq|grep -v t.zsh` -echo $f -n=`echo $f|wc -l` -for ((i=1;i<=$n;i++)) -do - ff=`echo $f|awk "NR==$i"` - echo $i - echo $ff - sed 's#$HOME/.config/atr#$HOME/.config/ai#g' $ff|grep '$HOME/.config' - case $OSTYPE in - linux*) - sed -i 's#$HOME/.config/atr#$HOME/.config/ai#g' $ff - ;; - darwin*) - sed -i "" 's#$HOME/.config/atr#$HOME/.config/ai#g' $ff - ;; - esac -done diff --git a/.config/ai/scpt/user.zsh b/.config/ai/scpt/user.zsh new file mode 100755 index 0000000..06d9bfa --- /dev/null +++ b/.config/ai/scpt/user.zsh @@ -0,0 +1,382 @@ +#!/bin/zsh + +txt=_atproto.$1 +did=$2 +curl -sL plc.directory/$did/log |jq ".[]|.alsoKnownAs|.[]?" | grep -n .| head -n 4 + +dig -t TXT $txt|grep "did=did:plc:"|head -n 1 +#dig syui.ai +short +#!/bin/zsh +# +case $OSTYPE in + darwin*) + alias date="/opt/homebrew/bin/gdate" + ;; +esac + +if [ "$1" = "test" ] || [ -z "$1" ];then + handle=syui.ai +else + handle=$1 +fi + +post=0 +d=`date +"%Y-%m-%d"` +od=`date +"%Y-%m-%d" --date '1 day ago'` + +unset cursor +function first_record(){ + cursor=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post&limit=100" |jq -r ".cursor"` + t=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post&limit=100" |jq -r ".[]|.[]?|.value.createdAt"|cut -d T -f 1` + n=`echo $t|wc -l` +} +function cursor_record(){ + cursor=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post&limit=100&cursor=$cursor" |jq -r ".cursor"` + t=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post&limit=100&cursor=$cursor" |jq -r ".[]|.[]?|.value.createdAt"|cut -d T -f 1` + n=`echo $t|wc -l` +} + +function day_check(){ + for ((i=1;i<=$n;i++)) + do + tt=`echo $t|awk "NR==$i"` + if [ "$tt" = "$d" ];then + post=$((post + 1)) + echo $post + fi + if [ "$tt" = "$od" ];then + echo $tt $od + echo $post + exit + fi + done +} + +for ((ii=1;ii<=100;ii++)) +do + if [ $ii -eq 1 ];then + first_record + else + echo $cursor + cursor_record + fi + day_check +done +#!/bin/zsh + +url_plc="https://plc.directory/export" +host_at=bsky.social +url=https://plc.directory +url_at=https://$host_at/xrpc/com.atproto.repo.listRecords +dir=$HOME/.config/atr/txt +file=$dir/user_list.txt +atr=$HOME/.cargo/bin/atr + +unset timed + +case $OSTYPE in + darwin*) + alias date="/opt/homebrew/bin/gdate" + ;; +esac + +if [ -z "$1" ];then + exit +fi + +if ! echo $1|grep "." >/dev/null 2>&1;then + echo "ex : user syui.bsky.social" + exit +fi + +if [ ! -d $dir ];then + mkdir -p $dir +fi + +if [ ! -f $file ];then + touch $file +fi + +function mfile() { + t=`cat $file|sort|uniq` + if [ -n "$t" ];then + echo "$t" >! ${file}.back + mv ${file}.back $file + fi +} + +function plc(){ + if cat $file|grep "$1" >/dev/null 2>&1;then + cat $file|grep "$1" + exit + fi + json_tmp=`curl -sL "${url_plc}?after=${timed}"|jq .` + json=`echo $json_tmp|jq "select(.operation.handle == \"$1\")"` + if [ -z "$json" ];then + check=`echo $json_tmp|jq -r ".operation.alsoKnownAs"|head -n 1` + if [ "null" != "$check" ];then + json=`echo $json_tmp|jq "select(.operation.alsoKnownAs|.[] == \"at://$1\")"` >/dev/null 2>&1 + fi + fi + if [ -n "$json" ];then + created_at=`echo $json|jq -r .createdAt |tail -n 1` + fi + if [ -n "$created_at" ];then + echo "$created_at : $1" + echo "$created_at : $1" >> $file + mfile + exit + fi +} + +function fan_art(){ + if ! echo $3|grep "https://bsky.app/profile/">/dev/null 2>&1;then + echo "please url : https://bsky.app/profile/$1/post/xxx" + exit + fi + + if [ -z "$4" ];then + echo "please img-url : https://example.com/img.png" + exit + fi + + img=$4 + author=`echo $3|cut -d / -f 5` + cd $dir_git_card_page + cat $file_fanart|jq ".+ {\"add\":\"$1\",\"link\":\"$3\",\"author\":\"$author\",\"img\":\"$img\"}" >! $file_fanart.back + if cat $file_fanart|jq . ;then + mv $file_fanart.back $file_fanart + git add $file_fanart + git commit -m "add fanart" + git push -u orgin main + fi +} + +if [ "$2" = "--url" ];then + if [ -z "$3" ];then + exit + fi + fan_art $3 + exit +fi + +function first(){ + #https://bsky.app/profile/$1/post/$e + handle=$2 + did="$atr did $2" + curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.uri,.value.text,.value.createdAt" +} + +if [ "$2" = "-f" ] || [ "$2" = "f" ];then + first $1 + exit +fi + +if [ "$2" = "-l" ];then + mfile + cat $file + exit +fi + +function first_created(){ + #https://bsky.app/profile/$1/post/$e + #curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$1&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.createdAt" + curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$1&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.value.createdAt" +} + +if [ -z "$2" ];then + first_created $1 +fi + +if [ -n "$2" ] ;then + first $2 +fi + +#for ((i=0;i<=300;i++)) +#do +# if [ $i -eq 0 ];then +# timed="1970-01-01" +# fi +# plc $1 +# timed=`echo $json_tmp|jq -r .createdAt|tail -n 1` +#done +#!/bin/zsh + +if [ -n "$1" ];then + did=$1 +else + did=`atr did yui.syui.ai` +fi + +pds=`curl -sL https://plc.directory/$did|jq -r ".service.[].serviceEndpoint" | cut -d / -f 3-` +handle=`curl -sL https://plc.directory/$did|jq -r ".alsoKnownAs.[]"|cut -d / -f 3-` + +old_pds=`curl -sL https://plc.directory/$did/log|jq -r ".[0].service"|cut -d / -f 3-` +old_handle=`curl -sL https://plc.directory/$did/log|jq -r ".[0]|.handle"` + +first_post=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$did&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.value.createdAt"` + +body_handle=$handle +body_pds=$pds + +if [ "$old_handle" != "null" ];then + body_handle="$old_handle -> $handle" +fi + +if [ "$old_pds" != "null" ];then + body_pds="$old_pds -> $pds" +fi + +old_pds=`curl -sL https://plc.directory/$did/log|jq -r ".[0]|.services.atproto_pds.endpoint"|cut -d / -f 3-` +old_handle=`curl -sL https://plc.directory/$did/log|jq -r ".[0]|.alsoKnownAs.[0]"|cut -d / -f 3-` + +if [ "$old_handle" != "null" ];then + body_handle="$old_handle -> $handle" +fi + +if [ "$old_pds" != "null" ];then + body_pds="$old_pds -> $pds" +fi + + +if [ "$old_pds" = "$pds" ];then + body_pds=$pds +fi + +if [ "$old_handle" = "$handle" ];then + body_handle=$handle +fi + +echo pds : $body_pds +echo handle : $body_handle +echo did : $did +echo createdAt : $first_post +#!/bin/zsh + +url_plc="https://plc.directory/export" +host_at=bsky.social +url=https://plc.directory +url_at=https://$host_at/xrpc/com.atproto.repo.listRecords +dir=$HOME/.config/ai/txt +file=$dir/user_list.txt + + +unset timed + +case $OSTYPE in + darwin*) + alias date="/opt/homebrew/bin/gdate" + ;; +esac + +if [ -z "$1" ];then + exit +fi + +if ! echo $1|grep "." >/dev/null 2>&1;then + echo "ex : user syui.bsky.social" + exit +fi + +if [ ! -d $dir ];then + mkdir -p $dir +fi + +if [ ! -f $file ];then + touch $file +fi + +function mfile() { + t=`cat $file|sort|uniq` + if [ -n "$t" ];then + echo "$t" >! ${file}.back + mv ${file}.back $file + fi +} + +function plc(){ + if cat $file|grep "$1" >/dev/null 2>&1;then + cat $file|grep "$1" + exit + fi + json_tmp=`curl -sL "${url_plc}?after=${timed}"|jq .` + json=`echo $json_tmp|jq "select(.operation.handle == \"$1\")"` + if [ -z "$json" ];then + check=`echo $json_tmp|jq -r ".operation.alsoKnownAs"|head -n 1` + if [ "null" != "$check" ];then + json=`echo $json_tmp|jq "select(.operation.alsoKnownAs|.[] == \"at://$1\")"` >/dev/null 2>&1 + fi + fi + if [ -n "$json" ];then + created_at=`echo $json|jq -r .createdAt |tail -n 1` + fi + if [ -n "$created_at" ];then + echo "$created_at : $1" + echo "$created_at : $1" >> $file + mfile + exit + fi +} + +function fan_art(){ + if ! echo $3|grep "https://bsky.app/profile/">/dev/null 2>&1;then + echo "please url : https://bsky.app/profile/$1/post/xxx" + exit + fi + + if [ -z "$4" ];then + echo "please img-url : https://example.com/img.png" + exit + fi + + img=$4 + author=`echo $3|cut -d / -f 5` + cd $dir_git_card_page + cat $file_fanart|jq ".+ {\"add\":\"$1\",\"link\":\"$3\",\"author\":\"$author\",\"img\":\"$img\"}" >! $file_fanart.back + if cat $file_fanart|jq . ;then + mv $file_fanart.back $file_fanart + git add $file_fanart + git commit -m "add fanart" + git push -u orgin main + fi +} + +if [ "$2" = "--url" ];then + if [ -z "$3" ];then + exit + fi + fan_art $3 + exit +fi + +function first(){ + #https://bsky.app/profile/$1/post/$e + curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$1&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.uri,.value" +} + +if [ "$2" = "-f" ];then + first $1 + exit +fi + +if [ "$2" = "-l" ];then + mfile + cat $file + exit +fi + +function first_created(){ + #https://bsky.app/profile/$1/post/$e + #curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$1&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.createdAt" + curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$1&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.value.createdAt" +} + +first_created $1 +#for ((i=0;i<=300;i++)) +#do +# if [ $i -eq 0 ];then +# timed="1970-01-01" +# fi +# plc $1 +# timed=`echo $json_tmp|jq -r .createdAt|tail -n 1` +#done diff --git a/.config/ai/scpt/user_day_post.zsh b/.config/ai/scpt/user_day_post.zsh deleted file mode 100755 index 7f4842c..0000000 --- a/.config/ai/scpt/user_day_post.zsh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/zsh -# -case $OSTYPE in - darwin*) - alias date="/opt/homebrew/bin/gdate" - ;; -esac - -if [ "$1" = "test" ] || [ -z "$1" ];then - handle=syui.ai -else - handle=$1 -fi - -post=0 -d=`date +"%Y-%m-%d"` -od=`date +"%Y-%m-%d" --date '1 day ago'` - -unset cursor -function first_record(){ - cursor=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post&limit=100" |jq -r ".cursor"` - t=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post&limit=100" |jq -r ".[]|.[]?|.value.createdAt"|cut -d T -f 1` - n=`echo $t|wc -l` -} -function cursor_record(){ - cursor=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post&limit=100&cursor=$cursor" |jq -r ".cursor"` - t=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post&limit=100&cursor=$cursor" |jq -r ".[]|.[]?|.value.createdAt"|cut -d T -f 1` - n=`echo $t|wc -l` -} - -function day_check(){ - for ((i=1;i<=$n;i++)) - do - tt=`echo $t|awk "NR==$i"` - if [ "$tt" = "$d" ];then - post=$((post + 1)) - echo $post - fi - if [ "$tt" = "$od" ];then - echo $tt $od - echo $post - exit - fi - done -} - -for ((ii=1;ii<=100;ii++)) -do - if [ $ii -eq 1 ];then - first_record - else - echo $cursor - cursor_record - fi - day_check -done diff --git a/.config/ai/scpt/user_list.zsh b/.config/ai/scpt/user_list.zsh deleted file mode 100755 index edc9446..0000000 --- a/.config/ai/scpt/user_list.zsh +++ /dev/null @@ -1,138 +0,0 @@ -#!/bin/zsh - -url_plc="https://plc.directory/export" -host_at=bsky.social -url=https://plc.directory -url_at=https://$host_at/xrpc/com.atproto.repo.listRecords -dir=$HOME/.config/atr/txt -file=$dir/user_list.txt -atr=$HOME/.cargo/bin/atr - -unset timed - -case $OSTYPE in - darwin*) - alias date="/opt/homebrew/bin/gdate" - ;; -esac - -if [ -z "$1" ];then - exit -fi - -if ! echo $1|grep "." >/dev/null 2>&1;then - echo "ex : user syui.bsky.social" - exit -fi - -if [ ! -d $dir ];then - mkdir -p $dir -fi - -if [ ! -f $file ];then - touch $file -fi - -function mfile() { - t=`cat $file|sort|uniq` - if [ -n "$t" ];then - echo "$t" >! ${file}.back - mv ${file}.back $file - fi -} - -function plc(){ - if cat $file|grep "$1" >/dev/null 2>&1;then - cat $file|grep "$1" - exit - fi - json_tmp=`curl -sL "${url_plc}?after=${timed}"|jq .` - json=`echo $json_tmp|jq "select(.operation.handle == \"$1\")"` - if [ -z "$json" ];then - check=`echo $json_tmp|jq -r ".operation.alsoKnownAs"|head -n 1` - if [ "null" != "$check" ];then - json=`echo $json_tmp|jq "select(.operation.alsoKnownAs|.[] == \"at://$1\")"` >/dev/null 2>&1 - fi - fi - if [ -n "$json" ];then - created_at=`echo $json|jq -r .createdAt |tail -n 1` - fi - if [ -n "$created_at" ];then - echo "$created_at : $1" - echo "$created_at : $1" >> $file - mfile - exit - fi -} - -function fan_art(){ - if ! echo $3|grep "https://bsky.app/profile/">/dev/null 2>&1;then - echo "please url : https://bsky.app/profile/$1/post/xxx" - exit - fi - - if [ -z "$4" ];then - echo "please img-url : https://example.com/img.png" - exit - fi - - img=$4 - author=`echo $3|cut -d / -f 5` - cd $dir_git_card_page - cat $file_fanart|jq ".+ {\"add\":\"$1\",\"link\":\"$3\",\"author\":\"$author\",\"img\":\"$img\"}" >! $file_fanart.back - if cat $file_fanart|jq . ;then - mv $file_fanart.back $file_fanart - git add $file_fanart - git commit -m "add fanart" - git push -u orgin main - fi -} - -if [ "$2" = "--url" ];then - if [ -z "$3" ];then - exit - fi - fan_art $3 - exit -fi - -function first(){ - #https://bsky.app/profile/$1/post/$e - handle=$2 - did="$atr did $2" - curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$handle&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.uri,.value.text,.value.createdAt" -} - -if [ "$2" = "-f" ] || [ "$2" = "f" ];then - first $1 - exit -fi - -if [ "$2" = "-l" ];then - mfile - cat $file - exit -fi - -function first_created(){ - #https://bsky.app/profile/$1/post/$e - #curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$1&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.createdAt" - curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$1&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.value.createdAt" -} - -if [ -z "$2" ];then - first_created $1 -fi - -if [ -n "$2" ] ;then - first $2 -fi - -#for ((i=0;i<=300;i++)) -#do -# if [ $i -eq 0 ];then -# timed="1970-01-01" -# fi -# plc $1 -# timed=`echo $json_tmp|jq -r .createdAt|tail -n 1` -#done diff --git a/.config/ai/scpt/user_search.zsh b/.config/ai/scpt/user_search.zsh deleted file mode 100755 index 1aa0044..0000000 --- a/.config/ai/scpt/user_search.zsh +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/zsh - -url_plc="https://plc.directory/export" -host_at=bsky.social -url=https://plc.directory -url_at=https://$host_at/xrpc/com.atproto.repo.listRecords -dir=$HOME/.config/ai/txt -file=$dir/user_list.txt - - -unset timed - -case $OSTYPE in - darwin*) - alias date="/opt/homebrew/bin/gdate" - ;; -esac - -if [ -z "$1" ];then - exit -fi - -if ! echo $1|grep "." >/dev/null 2>&1;then - echo "ex : user syui.bsky.social" - exit -fi - -if [ ! -d $dir ];then - mkdir -p $dir -fi - -if [ ! -f $file ];then - touch $file -fi - -function mfile() { - t=`cat $file|sort|uniq` - if [ -n "$t" ];then - echo "$t" >! ${file}.back - mv ${file}.back $file - fi -} - -function plc(){ - if cat $file|grep "$1" >/dev/null 2>&1;then - cat $file|grep "$1" - exit - fi - json_tmp=`curl -sL "${url_plc}?after=${timed}"|jq .` - json=`echo $json_tmp|jq "select(.operation.handle == \"$1\")"` - if [ -z "$json" ];then - check=`echo $json_tmp|jq -r ".operation.alsoKnownAs"|head -n 1` - if [ "null" != "$check" ];then - json=`echo $json_tmp|jq "select(.operation.alsoKnownAs|.[] == \"at://$1\")"` >/dev/null 2>&1 - fi - fi - if [ -n "$json" ];then - created_at=`echo $json|jq -r .createdAt |tail -n 1` - fi - if [ -n "$created_at" ];then - echo "$created_at : $1" - echo "$created_at : $1" >> $file - mfile - exit - fi -} - -function fan_art(){ - if ! echo $3|grep "https://bsky.app/profile/">/dev/null 2>&1;then - echo "please url : https://bsky.app/profile/$1/post/xxx" - exit - fi - - if [ -z "$4" ];then - echo "please img-url : https://example.com/img.png" - exit - fi - - img=$4 - author=`echo $3|cut -d / -f 5` - cd $dir_git_card_page - cat $file_fanart|jq ".+ {\"add\":\"$1\",\"link\":\"$3\",\"author\":\"$author\",\"img\":\"$img\"}" >! $file_fanart.back - if cat $file_fanart|jq . ;then - mv $file_fanart.back $file_fanart - git add $file_fanart - git commit -m "add fanart" - git push -u orgin main - fi -} - -if [ "$2" = "--url" ];then - if [ -z "$3" ];then - exit - fi - fan_art $3 - exit -fi - -function first(){ - #https://bsky.app/profile/$1/post/$e - curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$1&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.uri,.value" -} - -if [ "$2" = "-f" ];then - first $1 - exit -fi - -if [ "$2" = "-l" ];then - mfile - cat $file - exit -fi - -function first_created(){ - #https://bsky.app/profile/$1/post/$e - #curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$1&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.createdAt" - curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$1&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.value.createdAt" -} - -first_created $1 -#for ((i=0;i<=300;i++)) -#do -# if [ $i -eq 0 ];then -# timed="1970-01-01" -# fi -# plc $1 -# timed=`echo $json_tmp|jq -r .createdAt|tail -n 1` -#done diff --git a/.config/ai/scpt/user_service.zsh b/.config/ai/scpt/user_service.zsh deleted file mode 100755 index 6cbbec6..0000000 --- a/.config/ai/scpt/user_service.zsh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/zsh - -if [ -n "$1" ];then - did=$1 -else - did=`atr did yui.syui.ai` -fi - -pds=`curl -sL https://plc.directory/$did|jq -r ".service.[].serviceEndpoint" | cut -d / -f 3-` -handle=`curl -sL https://plc.directory/$did|jq -r ".alsoKnownAs.[]"|cut -d / -f 3-` - -old_pds=`curl -sL https://plc.directory/$did/log|jq -r ".[0].service"|cut -d / -f 3-` -old_handle=`curl -sL https://plc.directory/$did/log|jq -r ".[0]|.handle"` - -first_post=`curl -sL "https://bsky.social/xrpc/com.atproto.repo.listRecords?repo=$did&collection=app.bsky.feed.post&reverse=true" |jq -r ".[]|.[0]?|.value.createdAt"` - -body_handle=$handle -body_pds=$pds - -if [ "$old_handle" != "null" ];then - body_handle="$old_handle -> $handle" -fi - -if [ "$old_pds" != "null" ];then - body_pds="$old_pds -> $pds" -fi - -old_pds=`curl -sL https://plc.directory/$did/log|jq -r ".[0]|.services.atproto_pds.endpoint"|cut -d / -f 3-` -old_handle=`curl -sL https://plc.directory/$did/log|jq -r ".[0]|.alsoKnownAs.[0]"|cut -d / -f 3-` - -if [ "$old_handle" != "null" ];then - body_handle="$old_handle -> $handle" -fi - -if [ "$old_pds" != "null" ];then - body_pds="$old_pds -> $pds" -fi - - -if [ "$old_pds" = "$pds" ];then - body_pds=$pds -fi - -if [ "$old_handle" = "$handle" ];then - body_handle=$handle -fi - -echo pds : $body_pds -echo handle : $body_handle -echo did : $did -echo createdAt : $first_post