ずっとほしかった環境を作ることができたのでメモ。以下のページを参考にしました:
まずtweetnowplaying.pyをつくります。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import subprocess
from requests_oauthlib import OAuth1Session
CK = 'XXXXXXXXXXXXXXXXXXXXXX' # Consumer Key
CS = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' # Consumer Secret
AT = 'XXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' # Access Token
AS = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' # Accesss Token Secert
# ツイート投稿用のURL
url = "https://api.twitter.com/1.1/statuses/update.json"
# コマンド
cmd = "rhythmbox-client\t--print-playing-format=#NowPlaying \"%tt\" by %ta from \"%at\""
# ツイート本文
params = {"status": subprocess.check_output(cmd.split("\t"))} # 標準出力を返す
# OAuth認証で POST method で投稿
twitter = OAuth1Session(CK, CS, AT, AS)
req = twitter.post(url, params = params)
# レスポンスを確認
if req.status_code == 200:
print ("OK")
else:
print ("Error: %d" % req.status_code)
保存して $HOME/bin に置きます。
- mikutter上で任意のコマンドをショートカットキーなどで実行できるようにするプラグインをインストール。Mikutterを再起動します。
- [設定]→[コマンド実行]→[command]に”python $HOME/bin/tweetnowplaying.py”と書いて[追加(A)]をクリック。
- [ショートカットキー]→[追加(A)]→[window]→[コマンド実行 python $HOME/bin/tweetnowplaying.py]を選択→[キーバインド]をクリックして[Ctrl]キーを押しながら[P]キーを押して[OK(O)]をクリック→さらに[OK]をクリックし,キーバインド一覧に追加されていることを確認します。
Rhythmboxで再生している楽曲の情報をMikutter上で[Ctrl]+[P]することでツイートすることができるようになります。おためしあれ。