From 7fd588170a1e7324f68947e988c37595d8b7fa11 Mon Sep 17 00:00:00 2001 From: Rick <7rick@tuta.io> Date: Tue, 6 Jul 2021 08:50:15 +0530 Subject: [PATCH 1/2] incomplete work, will continue working on my laptop --- twtxt-c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/twtxt-c b/twtxt-c index b17671a..dd5036d 100755 --- a/twtxt-c +++ b/twtxt-c @@ -26,7 +26,12 @@ Commands: tweet Append a new tweet to your twtxt file. unfollow Remove an existing source from your... view Show feed of given source. - registry Show registers\n" + registry Show registers\n + reg list Show registers + reg add Add your twtxt to registry + reg users List users on the registry + " + } case $1 in -h | --help) @@ -45,6 +50,7 @@ case $1 in read -p "URL to twtxt [https://example.com/twtxt.txt]: " url url=${url:-"https://example.com/twtxt.txt"} printf "[twtxt]\n nick = %s\n twtfile = %s\n url = %s\n" "$nick" "$path_to_twtxt" "$url" >> $config/config + printf "https://twtxt.envs.net/api/plain/\n https://twtxt.tilde.institute/api/plain/" > $config/registry ;; tweet) export config=/home/$USER/.config/twtxt-c/config @@ -55,4 +61,14 @@ case $1 in ;; *) printf "Work in progress\n" ;; + reg) + case $2 in + list | *) + cat /home/$USER/twtxt-c/registry + ;; + add) + url= + curl -X POST 'https://twtxt.tilde.institute/api/plain/users?url=&nickname=' + esac + From 3a9def3c56ae9a247870c0185d5fba8a48d00e30 Mon Sep 17 00:00:00 2001 From: Rick <7rick@tuta.io> Date: Thu, 8 Jul 2021 20:29:52 +0530 Subject: [PATCH 2/2] added support for registries --- twtxt-c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 53 insertions(+), 9 deletions(-) diff --git a/twtxt-c b/twtxt-c index dd5036d..8edb5f6 100755 --- a/twtxt-c +++ b/twtxt-c @@ -26,13 +26,22 @@ Commands: tweet Append a new tweet to your twtxt file. unfollow Remove an existing source from your... view Show feed of given source. - registry Show registers\n reg list Show registers reg add Add your twtxt to registry reg users List users on the registry + reg twts Fetch recent tweets from registry + reg mentions search for mentions by url + reg tag Search for tags " } + +read_config () { + declare -A v=() + while read -r var value; do + v[$var]=$value + done < $config/registry +} case $1 in -h | --help) usage; exit ;; @@ -50,7 +59,7 @@ case $1 in read -p "URL to twtxt [https://example.com/twtxt.txt]: " url url=${url:-"https://example.com/twtxt.txt"} printf "[twtxt]\n nick = %s\n twtfile = %s\n url = %s\n" "$nick" "$path_to_twtxt" "$url" >> $config/config - printf "https://twtxt.envs.net/api/plain/\n https://twtxt.tilde.institute/api/plain/" > $config/registry + printf "https://twtxt.envs.net/api/plain/\nhttps://twtxt.tilde.institute/api/plain/\n" > $config/registry ;; tweet) export config=/home/$USER/.config/twtxt-c/config @@ -59,16 +68,51 @@ case $1 in view) curl $2 2>/dev/null | grep -v "#" | awk 'BEGIN { FS = "\t" } ; {print $2}' ;; - *) - printf "Work in progress\n" ;; reg) case $2 in - list | *) - cat /home/$USER/twtxt-c/registry + list) + cat /home/$USER/.config/twtxt-c/registry ;; add) - url= - curl -X POST 'https://twtxt.tilde.institute/api/plain/users?url=&nickname=' - + config=/home/$USER/.config/twtxt-c/ + declare -A v=() + while read -r line; do + var=$(echo $line | awk '{print $1}' ) + value=$(echo $line | awk '{print $3}' ) + v[$var]=$value + done < $config/config + req="https://twtxt.tilde.institute/api/plain/users?url=${v[url]}&nickname=${v[nick]}" + req2="https://twtxt.envs.net/api/plain/users?url=${v[url]}&nickname=${v[nick]}" + echo "post these requests:" + echo "curl -X POST $req" + echo "curl -X POST $req2" + #curl -X POST $req + #curl -X POST $req2 + # I have commented the actual curl request so that I accidentally re-register myself during testing + ;; + users) + curl 'https://twtxt.tilde.institute/api/plain/users' + curl 'https://twtxt.envs.net/api/plain/users' ;; + twts) + curl 'https://twtxt.tilde.institute/api/plain/tweets' + curl 'https://twtxt.envs.net/api/plain/tweets' + ;; + mentions) + url=$3 + req="https://twtxt.tilde.institute/api/plain/mentions?url=$url" + req2="https://twtxt.envs.net/api/plain/mentions?url=$url" + curl $req + curl $req2 + ;; + tag) + tag=$3 + req="https://twtxt.tilde.institute/api/plain/tags/$tag" + req2="https://twtxt.envs.net/api/plain/tags/$tag" + curl $req + curl $req2 + ;; + esac ;; + *) + printf "Work in progress\n" ;; esac