ai/at
ai/at
1
0
at/at.zsh
2024-11-27 20:28:31 +09:00

82 lines
1.5 KiB
Bash
Executable File

#!/bin/zsh
help=(
at.zsh d handle
at.zsh u at-uri
)
host=(
bsky.social
public.api.bsky.app
plc.directory
)
lexicon=(
xrpc/com.atproto.repo.describeRepo
xrpc/com.atproto.repo.getRecord
xrpc/com.atproto.repo.listRecords
xrpc/com.atproto.identity.resolveHandle
)
function at-env(){
host=bsky.social
at_uri=at://did:plc:4hqjfn7m6n5hno3doamuhgef/ai.syui.game.user/syui
did=`echo $at_uri|cut -d / -f 3`
collection=`echo $at_uri|cut -d / -f 4`
rkey=`echo $at_uri|cut -d / -f 5`
}
function at-uri-search(){
if [ -n "$1" ];then
at_uri=$1
fi
req=xrpc/com.atproto.repo.getRecord
url=https://${host}/${req}
did=`echo $at_uri|cut -d / -f 3`
collection=`echo $at_uri|cut -d / -f 4`
rkey=`echo $at_uri|cut -d / -f 5`
curl -sL "$url?repo=$did&collection=$collection&rkey=$rkey"|jq .
}
function at-did-search(){
if [ -n "$1" ];then
handle=$1
fi
req=xrpc/com.atproto.repo.describeRepo
url=https://${host}/${req}
curl -sL "$url?repo=$handle"|jq .
}
function at-collection-search(){
reverse=false
if [ -n "$1" ];then
at_uri=$1
fi
if [ "$2" = "-r" ];then
reverse=true
fi
req=xrpc/com.atproto.repo.listRecords
url=https://${host}/${req}
did=`echo $at_uri|cut -d / -f 3`
collection=`echo $at_uri|cut -d / -f 4`
curl -sL "$url?repo=$did&collection=$collection&reverse=$reverse"|jq .
}
at-env
case $1 in
uri|u)
at-uri-search $2
;;
did|d)
at-did-search $2
;;
collection|c)
at-collection-search $2 $3
;;
*)
echo "${help[@]}"
echo "${host[@]}"
echo "${lexicon[@]}"
;;
esac