2016年7月8日金曜日

mikutterでRhythmboxの #NowPlaying をツイートできるようにした

ずっとほしかった環境を作ることができたのでメモ。以下のページを参考にしました:
まず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 に置きます。
  1. mikutter上で任意のコマンドをショートカットキーなどで実行できるようにするプラグインをインストール。Mikutterを再起動します。
  2. [設定]→[コマンド実行]→[command]に”python $HOME/bin/tweetnowplaying.py”と書いて[追加(A)]をクリック。
  3. [ショートカットキー]→[追加(A)]→[window]→[コマンド実行 python $HOME/bin/tweetnowplaying.py]を選択→[キーバインド]をクリックして[Ctrl]キーを押しながら[P]キーを押して[OK(O)]をクリック→さらに[OK]をクリックし,キーバインド一覧に追加されていることを確認します。
Rhythmboxで再生している楽曲の情報をMikutter上で[Ctrl]+[P]することでツイートすることができるようになります。おためしあれ。