mirror of
https://github.com/dewomser/Toot_music_is_playing.git
synced 2026-03-13 16:37:17 +01:00
81 lines
2.9 KiB
Bash
Executable file
81 lines
2.9 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
#//config
|
|
BASEDIR=$(readlink -f "$0" | xargs dirname)
|
|
|
|
|
|
function urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
|
|
clementine=$(qdbus org.mpris.MediaPlayer2.clementine /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlaybackStatus)
|
|
vlc=$(qdbus org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlaybackStatus)
|
|
|
|
if [ "$clementine" == "Playing" ]
|
|
then
|
|
player=clementine
|
|
elif [ "$vlc" == "Playing" ]
|
|
then
|
|
player=vlc
|
|
else
|
|
exit
|
|
fi
|
|
|
|
#Path twurlis not EXPORT
|
|
twurlp="/usr/bin/ruby /home/karl/.local/share/gem/ruby/3.0.0/bin/twurl"
|
|
#twurlp="twurl"
|
|
user="dewomser"
|
|
|
|
#//Musikinfo von Clementie Audioplayer holen
|
|
|
|
# Ohne Test ob Variablen einenWert haben (von den 5 darf keine leer sein)
|
|
|
|
#readarray -t a <<< "$(qdbus org.mpris.MediaPlayer2.$player /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E 'artUrl|genre|artist|album:|title:'| sed -e 's/xesam://g'| sed -e 's/mpris:artUrl: file:\/\///g')"
|
|
|
|
# Mit Test ob Variablen einen Wert haben
|
|
# Test und Feedback ist erwünscht.
|
|
|
|
|
|
a[0]="$(qdbus org.mpris.MediaPlayer2.$player /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E artUrl | sed -e 's/mpris:artUrl: file:\/\///g')"
|
|
if [ -z "${a[0]}" ]; then a[0]="nocover.jpg"; fi
|
|
|
|
a[1]="$(qdbus org.mpris.MediaPlayer2.$player /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E artist | sed -e 's/xesam://g')"
|
|
if [ -z "${a[1]}" ]; then a[1]="ohne"; fi
|
|
|
|
a[2]="$(qdbus org.mpris.MediaPlayer2.$player /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E album: | sed -e 's/xesam://g')"
|
|
if [ -z "${a[2]}" ]; then a[2]="ohne"; fi
|
|
|
|
a[4]="$(qdbus org.mpris.MediaPlayer2.$player /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E title: | sed -e 's/xesam://g')"
|
|
if [ -z "${a[4]}" ]; then a[4]="ohne"; fi
|
|
|
|
#//Bild kopieren
|
|
lolo1=$(urldecode "${a[0]}")
|
|
|
|
convert "$lolo1" -gravity south -background YellowGreen -splice 0x18 -annotate +0+2 'Die Tweet_Music-App ist vom @dewomser' "$BASEDIR"/cover.jpg
|
|
|
|
#cp "$lolo1" "$PWD"/cover.jpg
|
|
|
|
# Daten an den Twitterclient
|
|
a[5]="https://www.youtube.com/results?search_query=${a[2]} ${a[4]}"
|
|
lolo="${a[5]// /+}"
|
|
text1=$"ich höre gerade:"
|
|
text="$text1
|
|
${a[4]}
|
|
${a[2]}
|
|
${a[1]}
|
|
Audio-player:$player
|
|
Video(geraten):$lolo"
|
|
|
|
#// Bildgröße in Byte ermitteln
|
|
byte=$(du -b cover.jpg | grep -Eo "^[0-9]+")
|
|
#// initialisieren
|
|
mis=$($twurlp -u $user -H upload.twitter.com "/1.1/media/upload.json" -d "command=INIT&media_type=image/jpg&total_bytes=$byte" | jq -r .media_id_string)
|
|
# jq -r macht das jetzt mis="${mis:1: -1}"
|
|
|
|
#//hochladen
|
|
$twurlp -u $user -H upload.twitter.com "/1.1/media/upload.json" -d "command=APPEND&media_id=$mis&segment_index=0" --file "$BASEDIR"/cover.jpg --file-field "media" | jq .
|
|
|
|
|
|
#//finalisieren
|
|
$twurlp -u $user -H upload.twitter.com "/1.1/media/upload.json" -d "command=FINALIZE&media_id=$mis" | jq .
|
|
|
|
|
|
#//text hinzufügen
|
|
$twurlp -u $user "/1.1/statuses/update.json" -d "media_ids=$mis&status=$text"
|