TwitterでRTをさかのぼるグリモンスクリプトを作ってみました
先日の記事(Greasemonkeyスクリプト開発メモ - kokemonoの日記)で書いたGreasemonkeyのスクリプトが一応それっぽい形になったので、公開してみます。
機能
RTで引用された文書を過去にさかのぼって表示します。
使い方
1.下記の場所からスクリプトをダウンロードしてインストールします。(要 Greasemonkey)
rt_back.user.js
上手くいかない場合はこちら。
rt_back.user.js
2.インストールしたスクリプトを有効にした状態でTwitterを見ると、ボタンが追加されていると思います。
※タイムライン、個別ページでも有効です。
3.RTを含むTweetでボタンを押すと、引用文を下に追加します。
例ではもともと全ての引用文見えてますがご愛嬌…
↓ ボタン押下
4.もう一回ボタン押すと、引用文を消します。
制限・注意
・処理に時間が掛かる場合があります。気長に待ってください。それでも表示されない場合はあきらめましょう。
・正直成功率は半分くらい?
・xxxxx RT @YYYYY yyyyy といった形式のRTしか対応していません。(via 形式未対応)
・http://pcod.no-ip.org/yats/で見つからないとお手上げです。
・グローバル変数を良く考えず多用しているので、同時実行は保障できません。
・何かあったらページ更新してください…
今後
課題
・処理の開始/終了が分かりにくいので、読み込み中アニメーションを表示する。
・via 形式のRTへの対応
・出来る限りの検索
現在の実装ではuser1の以下のような発言について、
post1 RT @user2: post2 RT @user3: post3
Twitter検索で "user1"の"post1 RT @user2: post2 RT @user3: post3"で該当がなければ検索をやめています。
ただし、Twitter検索の動作として、前述の内容で引っかからなくても、"user2"の"post2 RT @user3: post3"で検索に引っかかることがあります。
・JSONパースを始めとした例外処理実装(ろくな例外処理が出来ていないです…)
・パフォーマンス改善・コードの整理(同時実行など)
期待(心配?)
公式版RTが実装された時、replyのようにワンクリック(API)でRTを辿れるようになるのではと期待してます。
最後に
javascript、Greasemonkey、Ajax、JSON…何もかも手探りでした楽しかったです。
完全に理解出来ないところ・対応不完全なところも多々あると思います。
(セキュリティ的にマズイところがなければ良いですが)
今後も勉強・改善を続けて行きたいッス。
謝辞
引用文の検索にはhttp://pcod.no-ip.org/yats/を使用させていただいています。
便利なAPIを公開されている@penguinanaさんには最大限の感謝を。
Twitterでの質問にも答えていただきありがとうございます。