twitterにポストするだけのアプリ作る

つぶやきたいけど、ほかのつぶやきは読みたくないことが時々ある。主に自分のメモ用につぶやくとき。で、つぶやくだけのアプリ作る。

python tweeetonly.py 'ハローワールド'

みたいに引数渡して起動するとtwitterにポストするだけのプログラムをつくりたい。OAuthのキーなんかは.tweeetonlyみたいな設定ファイルに持つようにする。

とりあえずキーとかを取得するか。
最初古い方*1にアクセスしてて、アプリの権限がread-onlyにしかならずにはまったんだけど、ググったらすぐに情報がでてきて*2新しい方*3にアクセスしたら無事とれた。

次はpostするプログラム書く。pythonでtwthonつかって書く。超簡単だった。

from twython import Twython
import sys

argvs = sys.argv
text = argvs[1]

tw = Twython(
    twitter_token = CONSUMER_KEY,
    twitter_secret = CONSUMER_SECRET,
    oauth_token = ACCESS_TOKEN,
    oauth_token_secret = ACCESS_TOKEN_SECRET)
tw.updateStatus(status = text)

テスト書き込みもできた。やべー、超簡単。
あとはこれ呼び出すつなぎのelisp書く。

(defun tweeetonly (text)
  "tweet only"
  (interactive "sWhat's up?: ")
  (shell-command (concat "python ~/bin/tweeetonly.py " "'" text "'")))

これでemacsからTweetできる。アプリ登録はまったのもあわせてここまで50分かからないくらい。
設定ファイルを分けるのはまだだけど、ま、とりあえずいいや。

追記

設定ファイルを分けて、ソースコードをgithubにあげた
https://github.com/suzuki-shin/tweeetonly

*1:https://twitter.com/apps

*2:http://www.msng.info/archives/2011/05/twitter-apps-setting.php

*3:https://dev.twitter.com/apps/