Compare commits
2 Commits
9578307c7a
...
13aeccd78f
Author | SHA1 | Date | |
---|---|---|---|
|
13aeccd78f | ||
|
661f00217c |
33
ratatoskr.sh
33
ratatoskr.sh
@ -60,8 +60,8 @@ get_oauth_token() {
|
|||||||
|
|
||||||
# Functions that deal with posting.
|
# Functions that deal with posting.
|
||||||
|
|
||||||
# Post music with -M flag
|
# Scrobble music with -S flag
|
||||||
post_music() {
|
scrobble_music() {
|
||||||
curl -sS --oauth2-bearer "${oauth_token}" \
|
curl -sS --oauth2-bearer "${oauth_token}" \
|
||||||
-d "$(playerctl metadata -f 'album={{album}}')" \
|
-d "$(playerctl metadata -f 'album={{album}}')" \
|
||||||
-d "$(playerctl metadata -f 'artist={{artist}}')" \
|
-d "$(playerctl metadata -f 'artist={{artist}}')" \
|
||||||
@ -71,10 +71,33 @@ post_music() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Post music with -M flag requires playerctl.
|
||||||
|
post_music() {
|
||||||
|
local text="[$(playerctl metadata -f 'Now playing "{{title}}" by "{{artist}}" from "{{album}}"')]"
|
||||||
|
local link="(https://www.youtube.com/results?search_query=$(playerctl metadata -f '{{artist}} {{title}}' | urlencode -b))"
|
||||||
|
local json=$(jq -n --arg status "$text$link" --arg spoiler_text "Music" --arg content_type "text/markdown" '{status: $status, spoiler_text: $spoiler_text, content_type: $content_type}')
|
||||||
|
local result
|
||||||
|
result="$(curl -sS --oauth2-bearer "${oauth_token}" -H "Content-Type: application/json" \
|
||||||
|
-d "$json" \
|
||||||
|
"${instanceURL}/api/v1/statuses")"
|
||||||
|
# Check for errors
|
||||||
|
if [[ $? -ne 0 ]]; then
|
||||||
|
echo "there was a problem contacting the server"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
local error="$(echo "$result" | jq -r '.error')"
|
||||||
|
if [[ "$error" != "null" ]]; then
|
||||||
|
echo "Error: $error"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Music posted!"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Post status with -p flag, command line.
|
# Post status with -p flag, command line.
|
||||||
post_status() {
|
post_status() {
|
||||||
curl -sS --oauth2-bearer "${oauth_token}" \
|
curl -sS --oauth2-bearer "${oauth_token}" -H "Content-Type: ${content_type:-text/markdown}" \
|
||||||
-d "content=${content_type:-text/markdown}" \
|
|
||||||
-d "status=${@}" \
|
-d "status=${@}" \
|
||||||
"${instanceURL}/api/v1/statuses"
|
"${instanceURL}/api/v1/statuses"
|
||||||
exit 0
|
exit 0
|
||||||
@ -98,6 +121,7 @@ declare -A command=(
|
|||||||
[h]="Help, show usage information for ${0##*/}."
|
[h]="Help, show usage information for ${0##*/}."
|
||||||
[M]="Post the currently playing music track, requires playerctl."
|
[M]="Post the currently playing music track, requires playerctl."
|
||||||
[p:]="Post from the command line, e.g. ${0##*/} -p \"hello world\""
|
[p:]="Post from the command line, e.g. ${0##*/} -p \"hello world\""
|
||||||
|
[S]="Scrobble the currently playing music track, requires playerctl."
|
||||||
)
|
)
|
||||||
|
|
||||||
# if the default file doesn't exist, create it
|
# if the default file doesn't exist, create it
|
||||||
@ -118,6 +142,7 @@ while getopts "${args}" i ; do
|
|||||||
h) help;;
|
h) help;;
|
||||||
M) post_music;;
|
M) post_music;;
|
||||||
p) post_status "${OPTARG}";;
|
p) post_status "${OPTARG}";;
|
||||||
|
S) scrobble_music;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user