1年前の自分と暮らす

mirakui_retro という twitter BOT を作って、かれこれ5年くらい運用している。 mirakui_retro は 、1年前の mirakui のツイートをツイートするという BOT だ。つまり、 mirakui_retro の以下の発言は、僕がその1年前に発言したものだ。

↓1年後

歴史

2009年頃、友達の間で Twitter BOT を作るのが流行ってて、 Ruby の勉強がてら作ったのがこの mirakui_retro だった。Twitter の API 仕様で、遡れる発言数には制限があって、僕のツイートのペースだとだいたい3ヶ月前の発言までしかクロールできなかった。なので、最初は「3ヶ月前の発言をツイートし続ける BOT」だった。当時務めていた会社が3ヶ月単位で目標設定や評価をやっていたので、3ヶ月前の自分とはけっこう生活がシンクロしていて面白かった。自分が忙しい時は3ヶ月前の自分も忙しいという感じだった。現在は後述のとおり、 tweets.zip の登場により、クロール不要でだれでも自分の全発言を取得できるようになったので、「3ヶ月前」をやめて、「1年前」に変更した。やっぱり「3ヶ月前」より「1年前」の方が、季節やイベントがシンクロしているので面白みが増しているように思う。

ソースコード

最初は、自分の発言を Twitter API から取得して sqlite に入れるクローラと、集めた発言を3ヶ月後にツイートするスクリプトという構成だった。現在は、自分の tweet を zip にしてダウンロードするという機能(tweets.zip)が Twitter 側に実装されたので、その zip を使ってだれでも bot を運用できるようになってる。

現在の mirakui_retro のソースコードは、retrobot という名前で github に公開している。現在把握している範囲では、 negipo_retroryopeko_retro が retrobot として運用されている。

ソースコードと起動方法はこちら: mirakui/retrobot

現象

そんな感じでなんとなくのアイディアを形にして5年前に運用を始めたけど、特にそのことについてブログを書いたりしなかった。mirakui_retro を楽しめるのは本人である自分くらいのものだろうと思っていたからだった。

しかし長年運用していると、意外と本人以外も retro の発言を楽しめるということが分かってきた。

○○から1年

retro の発言をきっかけにして、「○○からもう1年か」という気づきを得ることがある。時が流れるのはとても早く、1年は短い。

retweet

最近、1年前リツイートしたものを、 retro がリツイートするという機能をつけた。リツイート通知を受け取っている人は、迷惑に思うかもしれないので、あくまで実験的なものだったんだけど、意外とみんな面白がってくれてて、まだ苦情は来てない。

f:id:mirakui:20140125174301p:plain

シンクロニシティ

たまに1年前の自分と偶然同じことをしている事があって面白い。

1年前と会話が成立

mirakui_retro 5年の歴史で一番の奇跡はこれだと思う。

今後について

もし友達や家族が retrobot を運用していて、その人が死んでしまったら、その後1年間は retrobot が故人が生きている時のツイートをし続けることになる。死んだ人がタイムラインに混じって活動し続けるのは SF っぽいけど、それを見続けるのはとても悲しいと思う。そんな世界を作りたいわけじゃないので、 retrobot 運用者が死んだら retrobot も同時に死ぬ機能を付けたい。