いなにわうどん

うどんの話に見せかけて技術的な話をしたい(できない)

Twitter を完璧に制限する「ダツイハイ」を開発しました

平成の終焉、そして令和の幕開けを交えながら、かくも鮮麗に到来したゴールデンウィーク。史上最長の10連休もいよいよ終末を迎え、再び鬱々した日常生活が幕を切りました。GW終わりには何がある?体育祭?五月祭?——いやいや、テストだよ。

……というわけで唐突ですが、Twitterを完全に制限するWebサービスダツイハイ」を開発いたしました。世界で最も厳格な、ツイ禁用ツールの爆誕です。

ダツイハイ ―Twitter制限を強力にサポート―
http://www.datwi.shop/


サイトを見て頂ければ一目瞭然な親切設計ですので使い方は割愛するとして、「いやいや、テストだよ。……というわけで」の行間の部分をお話したいと思います。要は開発背景です。

Twitterやめますか?それとも人間やめますか

私事で恐縮ですが、10連休中のTwitterの使用時間が20時間を優に越えていました。Twitterを眺めて丸一日潰したことになります。流石にこれはまずい。定期試験も学年最下位は確定でしょう。

とどのつまり、私は脱ツイ廃を果たさないと社会的な死を遂げるという極めて切迫した状況にあります。しかしながら、決定打となるTwitterの制限方法は未だ存在していないのが現状です。マリー・アントワネットは「意思がなければスクリーンタイムiPhoneに標準搭載されるペアレンタルコントロール機能)を使えばいいじゃない」などと宣って来ますが、あんなものは単刀直入に申し上げて全く使い物になりません。

なんで(Twitterに)負けたのか明日まで考えといてください

先日、Twitter上で「SNSにおけるいいねはギャンブルと同等の依存性がある」といった内容のWIREDの記事を見掛けました。ツイ禁についての話題を提示する際にTwitter上で見かけた情報を挙げるだなんて人生終わってますね。

Twitterを始めとするSNSが強い依存性を持つのは自明であり、自主的な規制で容易に辞められるものではありません。5秒の熟考の末、依存性を生み出す要因には交流関係(フォロ/フォロワー関係)が深く関与しているという結論に至りました。
例えば今現在も、画面を開けば顔馴染みのフォロワーが何かしら発信を続けているわけです。フォロワーが存在するから私達はTwitterを利用するのであり、対偶をとれば「誰も居ないSNSの利用価値は0に等しい」といえます。

「ダツイハイ」ではその点に着目し、指定期間内に一言でも呟いてしまえば即座にフォロー中のアカウントを全解除するという非常にダイナミックかつタイトな制限を設けることで、Twitter依存からの脱却を標榜としました。

「ダツイハイ」実装概要

壮大な前振りに対して内容が驚くほど薄いという指摘はさておき、もう少し詳細を見ていきましょう。

ユーザーのTwitterを取得するにはTwitter Developer Accountが必要となります。申請に当たっては英作文が必須となったものの、私は4年間に亘って日本の英語教育を受けてきたため、Google翻訳を駆使してbe going to〜(するつもりです)を連発する英文を書くことが出来ました。すなわち誰でも通ります。

Twitterへのアクセスには、PHP上よりTwitterOAuthというライブラリを利用します。OAuth認証によってユーザーのアクセストークンを取得することで、サーバー側からユーザーのTwitterに対してアクセス権を獲得することが可能となります。
ログイン機能に際しては、ユーザーに固有に設定されているスクリーンネーム(@〜)をセッションとして保持することで実装します。

設定画面

2年を限度に期間を自在に設定できるようになっています。制限の延長は出来るけど中断は出来ない鬼仕様。大丈夫です、Twitterをやらなくて死んだ人はいません。
ツイ禁をするにあたっての意気込み・メッセージを語る欄も設けました。万が一ツイ禁に失敗してフォロー全解除となった場合、ツイ廃にとっては絶命を意味します。ということで名称は「遺言」。
操作ミスってフォロー全部消えてもうたやないかゴラアァァァァ」と逆ギレされては堪らないので、設定の時点でフォロー中のアカウントを取得し、保存しています。

設定後はcronを用いてプログラムを定期実行し、最新200件を対象としたユーザーのツイート監視を行います。
ツイートソース(投稿に仕様されたアプリケーション)を確認し、「Twitter for .+」「Twitter Web App」「TweetDeck」のいずれかに該当する投稿のみを検知することで、botによる定期ツイートを監視の対象外としています。【定期】とツイートに付与すれば規制から逃れられた時代はもう終わりです。
また自動ツイートによって、毎朝8時にツイ禁の残り日数をフォロワーにお知らせします。将来的にはツイートに付いたいいねの数によって制限日数が延長されるシステム等も取り入れていければと思います。

結びに変えて

適当な締めが思い付かないので、ある友人の言葉を引用して記事を結びたいと思います。

明確かつ強い目標がなければ、ツイ禁どころかスマホを叩き割っても勉強の効率は上がらんよ

諸刃の剣、活かすも殺すもあなた次第です。
http://www.datwi.shop/