[twitter] フォロー一覧ページをもっと見やすくする方法

twitterを利用するにあたって、フォローの管理を少しだけ楽にするグリモンを配布いたします。

もともと私が、個人的に使っていたグリモンを公開してみようと思います。

どうして、こんなグリモンを使っているのかというと、フォロー返しの時に、デフォルトではちょっと見づらかったからです。

例えば・・・
せっかくフォロー頂いていても、最後に投稿したのが数ヶ月前だと、最近は使っていないのかな?と思って、フォロー返しはしなかったり、英語でしか投稿していない人からフォローがあったりなんかすると、私は読めないので、フォロー返しはしなかったり。

むやみやたらにフォロー返しをしていると私のタイムラインが大変になるので、少しだけの脳内フィルターを付けています。

基本的には、日本語で最近の発言がある方からのフォローであれば、フォローするようにしています。

twitterでフォロー一覧ページをもっと見やすくするグリモン

twitter

何をするかというと、とりあえず、スクリーンショットをご確認ください。
たぶん、これ以上の説明は必要ないんじゃないかと思ったり。。。

● 対象のページ
* フォローされているページ
* フォローしているページ

● やること
* 24時間以内に投稿があった人
* 既に自分がフォローしているなら「緑色」の背景色
* 自分がまだフォローしていないなら「赤色」の背景色
*
* 24時間以内に投稿がない人
* 最終投稿日を、赤色太字にします。

● こんな使い方
* フォロー貰ってまだ返してない人を探すとか
* 最近、発言がない人をリムーブしたいとか
* その他いろいろ

※グリースモンキーを利用しますので、先にグリースモンキーを入れておく必要があります。

グリースモンキーについては、【http://google-mania.net/archives/213】 こちらのページか、Googleで【グリースモンキー】と検索してみてください。

下記のURLをクリックすると、インストール確認画面が出てきます。
【aulta twitter user status】
https://aulta.co.jp/gremon/twitter.user.js

ソースコードに興味ある方へ

※同日 15:50 追記

本ツールを利用されるだけの方は、↑のURLをクリックしてインストールして頂ければOKです。
ここからは、技術的な内容になりますので、興味がある方は読んでみてください。
(といってもソースだけですが)

// ==UserScript==
// @name aulta twitter user status
// @namespace userstatus.twitter.aulta
// @include http://twitter.com/*
// @include https://twitter.com/*
// ==/UserScript==

/*
* こぴーらいと @2009
* 作成者 : aulta
* 配布元 : https://aulta.co.jp/
* ツイッター : @aulta : http://twitter.com/aulta/
* 改変、再配布などは自由です。
*/

var aulta = {
values : { // G変数というか定数というか・・
url : document.location.href
, bgColorGreen : '#eaffea'
, bgColorRed : '#ffeaea'
}
, // 実行(コントローラ)
run : function(){
if (aulta.values.url.indexOf('/followers') > -1){
aulta.followers();

} else if (aulta.values.url.indexOf('/following') > -1){
aulta.following();

}
}
, // フォローされている
followers : function(){
var follow_grid = document.getElementById('follow_grid');
var em = follow_grid.getElementsByTagName('em');
for (var i = 0, j = em.length; i < j; i++){
var oj = em[i];
var poj = oj.parentNode.parentNode.parentNode;
var flg = false;
var html = oj.innerHTML;
if (html.indexOf('秒前') > -1){
flg = true;
} else if (html.indexOf('分前') > -1){
flg = true;
} else if (html.indexOf('時間前') > -1){
flg = true;
}
if (flg){
poj.style.backgroundColor = aulta.values.bgColorRed;
flg = false;
var span = poj.getElementsByTagName('span');
for (var k = 0, l = span.length; k < l; k++){
if (span[k].className == 'is-following'){
flg = true;
break;
}
}
if (flg){
poj.style.backgroundColor = aulta.values.bgColorGreen;
}
} else {
oj.style.color = 'red';
oj.style.fontWeight = 'bold';
}
}
}
, // フォローしている
following : function(){
aulta.values.bgColorRed = aulta.values.bgColorGreen;
aulta.followers(); // メンドイから「フォローされている」と同じ処理で
}
};

(function(){aulta.run();})();

74行目の (function(){aulta.run();})(); が、一番最初に呼ばれます。

つまり、aulta.run(); ですね。

で、 23行目、 run の中を見ると、アクセスしているURLによって処理を振り分けていることが分かります。

URLに、/followers が含まれているか、/following が含まれているかです。

【フォローされている】のページを開いたときは、25行目により、followers() が呼ばれ、33行目に処理が移っていきます。

そこからは、HTMLを解析して、表示されているユーザーごとに「投稿時間」「フォロー中」を確認して、背景色や文字色を変更しているだけです。

【フォローしている】のページを開いた時も基本的に同じ流れで、 69行目の following()へと流れます。