追記(2010/11/02 0:40)
「OAuthの認証情報を設定」にて、僕はaccess tokenを.emacsにべた書きしています。このaccess tokenとconsumer情報があればアカウントの読み書きが何でも出来てしまいますので、扱いには注意してください。
こちらにて暗号化して別ファイルに保存する方法が書かれています。
NEWS.ja at master from hayamiz’s twittering-mode – GitHub
前置き
Emacsを使い始めてはや一ヶ月を過ぎようとしています。ご機嫌は上々です。で、結構前からEmacsで使えるTwitterクライアント「TwitteringMode」というものを使用しています。普段はEchofonのMac版を愛用してるんですが、作業中などは専らTwitteringModeを使ってます。というわけでインストールから設定までをメモメモ。
インストール
公式リポジトリはこちら。
hayamiz’s twittering-mode at master – GitHub
auto-install.elが入ってる場合は下の式をevalするだけでインストール出来ます。
(install-elisp "http://github.com/hayamiz/twittering-mode/raw/master/twittering-mode.el")
入ってない場合はコマンドラインからこんな感じで。
$ curl -O http://github.com/hayamiz/twittering-mode/raw/master/twittering-mode.el $ mv twittering-mode.el ~/.emacs.d/elisp
.emacs
僕はこんな感じで設定しています。下記にてひとつひとつ説明。
起動時に読み込むタイムラインを設定
twittering-initial-timeline-spec-stringという変数にalistで指定します。
(setq twittering-initial-timeline-spec-string
'(":home"
":replies"
"mitukiii/must"))
OAuthの認証情報を設定
僕は自分でクライアント登録してそのOAuth情報を使っています。
oauth〜と書いてあるところは自分のものに置き換えてください。
クライント登録はこちらからどうぞ。
Twitter Applications | dev.twitter.com
公式のメーリングリストにやり方が書いてあります。
SourceForge.net: twittering-mode: Re: [twmode-users] xAuthの対応(Basic認証廃止)
(setq twittering-oauth-consumer-key "*** oauth consume key ***")
(setq twittering-oauth-consumer-secret "*** oauth consumer secret ***")
(setq twittering-oauth-access-token-alist
'(("screen_name" . "mitukiii")
("user_id" . "60032150")
("oauth_token" . "*** oauth token ***")
("oauth_token_secret" . "*** oauth token secret ***")))
短縮URLにbit.lyを使用する設定
僕は短縮URLにbit.lyを使用しています。なのでその設定を。
login(アカウント名)とapi keyを自分のものにしてください。
api keyはこちらから確認できます。
Account Settings | bit.ly a simple URL shortener
(add-to-list 'twittering-tinyurl-services-map
'(bitly . "http://api.bit.ly/shorten?version=2.0.1&login=*** login ***&apiKey=*** api key ***&format=text&longUrl="))
(setq twittering-tinyurl-service 'bitly)
キーバインドを設定
キーバインドは自分好みに設定してるので各自読み替えて頂ければと。
因みにTwitterの新UIのショートカットと同じにしています。
非公式RTは公式TwitterにはもちろんないのでQに割り当ててます。
(add-hook 'twittering-mode-hook
'(lambda ()
(define-key twittering-mode-map (kbd "F") 'twittering-favorite)
(define-key twittering-mode-map (kbd "R") 'twittering-reply-to-user)
(define-key twittering-mode-map (kbd "Q") 'twittering-organic-retweet)
(define-key twittering-mode-map (kbd "T") 'twittering-native-retweet)
(define-key twittering-mode-map (kbd "M") 'twittering-direct-message)
(define-key twittering-mode-map (kbd "N") 'twittering-update-status-interactive)
(define-key twittering-mode-map (kbd "C-c C-f") 'twittering-home-timeline)))
リプライとDMをGrowlで通知
リプライとDMをGrowlで通知するようにしています。
Growl通知するためにはgrowlnotifyというGrowlのCLIが必要です。GrowlのdmgのExtrasってフォルダの中にインストーラがあるのでそこからインストールしてください。growlnotifyあると色々と遊べるのでスクリプトをよく書く人は入れておくと楽しいと思います。
Growlのインストールはこちらから。
Growl
フックが呼ばれるときは
twittering-new-tweets-spec: タイムライン名
twittering-new-tweets-count: 新着ツイート数
twittering-new-tweets-statuses: 新着ツイートのリスト
が変数に入って呼ばれるのでお好みで書き換えて頂ければ。
(setq growl-program "/usr/local/bin/growlnotify")
(defun growl (title message &optional app)
(start-process "Growl" "*Growl*" growl-program
"-t" title
"-m" message
"-a" app))
(add-hook 'twittering-new-tweets-hook
'(lambda ()
(let ((spec (car twittering-new-tweets-spec))
(title-format nil))
(cond ((eq spec 'replies)
(setq title-format "%sから関連ツイート"))
((eq spec 'direct_messages)
(setq title-format "%sから新規メッセージ")))
(unless (eq title-format nil)
(dolist (el (reverse twittering-new-tweets-statuses))
(growl (format title-format (cdr (assoc 'user-screen-name el)))
(format "%s" (cdr (assoc 'text el)))
"Emacs")
(sleep-for 0 50))))))
参考リンク
Twittering-mode (twmode) についての個人的な覚書 – 風産み日記
twittering-modeでTwitter | 君のてのひらから
2 Trackbacks/Pingbacks
[...] 参考URL mitukiii.jp | Emacs用TwitterクライントTwitteringModeを使ってみる http://mitukiii.jp/2010/11/01/twittering-mode/ [...]
[...] EmacsWiki: Twittering Mode mitukiii.jp | Emacs用TwitterクライントTwitteringModeを使ってみる [...]
Post a Comment