2012年5月21日月曜日

Poke bits

Facebookで延々 “あいさつ” を送ってくる方がいて、あいさつを受けたら無視するわけにはいかないので、気付く限りあいさつを返していたのですが、そうするとまたすぐ新しいあいさつが届いて、エンドレスです。終わりがありません。あぁ戦争に巻き込まれちゃったなぁ…って感じ。画面の片隅にブラウザを開いておけば割とすぐあいさつ返しはできるのですが、席を外しづらいとか、ちょっと打合せをしていて目を離してるスキにあいさつされたりとか、気になっちゃうんです。なんとなく。

自動的にあいさつを返すChrome Extensionもいくつかあるようですが(これとかこれとか)、そんなツールに頼るのでは愛がないし失礼ですよね。
やっぱり自分の手で、ていねいに、コードを書かないと

どうせ作るならいろんな俺得機能を組み込みたくなります。
  • あいさつが届いたらポップアップで通知する(Desktop Notifications)
  • 自動応答アリの場合は自動的にあいさつを返す
  • 自動応答する/しない対象を選択できる
  • 簡単にON/OFFできる(例えばBrowser Actions)
夢は広がりますがそれを作ってる間にもあいさつは届くので、まずはその対策が必要。簡単なブックマークレットを書きました。

javascript:(function() {
 var poke = function() {
  var anchors = document.getElementsByTagName('a');
  for (var index = 0; index < anchors.length; index++) {
   var attr = anchors[index].getAttribute('ajaxify');
   if (attr && attr.match('^/ajax/pokes/.+pokeback=1')) {
    anchors[index].click();
   }
  }
  setTimeout(poke, 5000 + Math.floor(Math.random() * 60000));
 };
 poke();
})();

ブックマークバーに登録して、Facebookのあいさつページで実行するだけ。「あいさつを返す」リンクを見つけたら自動的にクリックします。
次の2点に気をつけました。
  • ajaxify属性であいさつリンクの判定をするのですが、“pokeback=1” が付いていない場合、新しくあいさつを送ることになります。最近 Poke Suggestions としてあいさつ対象をレコメンドされるので、そっちにもあいさつを送ってしまわないよう、“pokeback=1” を判定条件に加えています。
  • setInterval(poke, 1000); すれば1秒ごとにチェックするので、即座にあいさつ返しすることができますが、これでは自動化していることがバレバレです。あえて少し長めの時間 + ランダム性を持たせることで「手で返してるのかも?」と思わせる作戦です。

なんとなく満足しちゃったので… Chrome Extension 作るのはそのうち気が向いたらw
実際作ったものの使ってないし。やっぱりあいさつは手で返さないと!

タイトルは「Poke(あいさつ)にかける時間をわずか(bits)にしましょう」という意味です。他意はありません。他意はありません。

参考リンク:2ちゃん某スレ 11 12 13(現行)

0 件のコメント:

コメントを投稿