#NowPlaying "青春の瞬き" by 椎名林檎 from "逆輸入 ~港湾局~"
— ひかるん(22) (@515hikaru) 2015, 12月 29
こんな風に #NowPlaying するシェルコマンドをつくった. Tweet する方法はこちらのを(ほぼ)そのまま使わせていただいた.
Python の Twitter 認証に使うライブラリがなかったのでインストール.
sudo pip install requests requests_oauthlib
上の記事のをそのまま使ったので Python だが, それ以外の理由はない. 認証を通せるなら他の言語でも構わない.
Rhythmbox
結構メジャー(らしい) Rhythmbox という Media Player がある.
これは実はシェルコマンドが用意されていて, コマンドからも操作ができる. たとえば,
rhythmbox-client --pause # 再生中の音楽を一時停止 rhythmbox-client --play # 再生 rhythmbox-client --stop # 停止
などの操作ができる. そこで, 再生中の音楽の曲名やアルバムタイトルなどを表示するというオプションが用意されている. 詳細は man
するか, このリンクを見る.
Ubuntu Manpage: rhythmbox-client - controls a running instance of rhythmbox
マニュアルを見ると, --print-playing-format をすると, 標準出力に情報を成形して出せることが分かる.
% rhythmbox-client --print-playing 椎名林檎 - 雨傘 % rhythmbox-client --print-playing-format="%tt by %ta from %at" 日和姫 by 椎名林檎 from 逆輸入 ~港湾局~
ならこの標準出力をそのまま Tweet すればいいなぁと思って書いたのはこちら(ほとんど Qiita 記事のものをそのまま使っているので, 一部のみ掲載).
# import import subprocess # コマンド cmd = "rhythmbox-client\t--print-playing-format=#NowPlaying \"%tt\" by %ta from \"%at\"" # ツイート本文 ## スペースはツイートの整形につかったので, \t でコマンドの区切りを表している params = {"status": subprocess.check_output(cmd.split("\t"))} # 標準出力を返す # 後略
これで params
を post
するとなうぷれいんぐできる.
これでフォロワーがまた減るぞ~