日記

Twitterのbotを作ろうとしたら国語で苦労した話

プログラムから投稿されたツイート

今月から転職活動を始めるので、退職後は少し離れていたプログラミングを再開してみることにしました。最初はTwitterのbot作成! 以前作ろうとしたものの仕事が忙しくて断念したので、今回は無職の特権を活かしてサクッと作ろうと思います。

まずTwitterのbotについて。大きく分けるとTwittbotなどの既存のサービスを使う方法と、自分でプログラムを書いて作成する方法の2通りがあると思います。僕はもちろん後者を選択し(プログラミングの再開が今回の目的ですしね!)、さっそく実装方法を調べました。

from twitter import Twitter, OAuth

auth = OAuth(TOKEN, TOKEN_SECRET, CONSUMER_KEY, CONSUMER_SECRET)
twitter = Twitter(auth=auth)
twitter.statuses.update(status='これはプログラムから投稿されたメッセージです。')

ツイートするだけならこれだけでOKです。とても簡単! ただ、これを動かすにはConsumer API keyなどの値が必要で、そのためにはTwitterの開発者アカウントが必要となります。

開発者アカウントは以下のページから作成することができます。
https://developer.twitter.com/

流れとしては、

  • 必要事項を記入して開発者アカウントの作成を申請する
  • 申請が通ったらAppを作成する
  • 作成したAppでプログラムに必要なKeyやTokenを生成する

という感じで審査に通らなければならないので、作成する目的や使用する機能などを選択していきます。しかしそこへ大きな壁が!

Twitter開発者アカウント作成の目的記述

「TwitterのデータやAPIをどのように使う予定なのかを君の言葉で記述してね。詳細に書けば審査に通りやすくなるよ。あ、言語は英語だけね!

記述問題キター! しかも英語です。いや、英語なのは別にいいんですよ。今の時代、文章の英訳くらいはWebのサービスで一瞬ですからね。問題なのは次の条件。

Twitter開発者アカウント作成の目的記述(200字)

れすぽんす ますと びー あっと りーすと とぅーはんどれっど きゃらくたーず。

200字以上で記述せよ。

2 0 0 字 以 上 で 記 述 せ よ 。

200字以上?! 普通こういうのって200文字以下じゃないの? 英語だから日本語の200字よりははるかに簡単なのは分かるけど、そんな大したことをするつもりは無いのに200字というのはちょっと重すぎませんか?

For making a bot tweets event information of games. (ゲームのイベント情報をツイートするbotを作るため。)

これだと51字しかありません。これに説明を追加して4倍に膨らませなければならないのか…。

Use Twitter APIs for making a bot that provides event information of games to my followers periodically. (ゲームのイベント情報を定期的にフォロワーへ提供するbotを作るためにTwitterのAPIを使用します。)

これでもまだ104字。説明を丁寧にするだけだと限界があるぞ。もっと革新的な方法で文字数を増やさなければ…!

そして。

Use Twitter APIs for making a bot that provides information of smartphone games (version updates, event schedule, my opinions and so on) to my followers periodically. No plan to use Twitter data so far. (バージョンアップデートやイベントスケジュール、自分の意見といったスマホゲームに関する情報を定期的にフォロワーへ提供するbotを作るためにTwitterのAPIを使用します。今のところTwitterのデータを使用する予定はありません。)

これで202字! どうだTwitter社よ、僕はやってみせたぞ!(ちなみに日本語でも117字あります。)さあ、存分に審査するがよい!

「あなたのアプリはツイートやリツイート、いいね、フォロー、ダイレクトメッセージの機能を持ちますか? 100字以上で記述せよ。

ま た か !

Plan to use Tweet and Direct Message functionality for providing topics to my followers and friends by my bot. (botからフォロワーや友達に話題を提供するためにツイートやダイレクトメッセージを使う予定なんだよ、分かったか!)

こんな感じで小一時間記述問題と格闘し、ようやく申請のボタンを押せました。こんなに苦労したんだ、丁寧にチェックして審査を通してくれよな!

するとすぐにメールが届き、その中にあるボタンを押してみたところ…。

「おめでとう! あなたはTwitterの新しい開発者アカウントの作成に成功しました!」

これ、絶対に人間が文章を読んでない! 機械による自動判別だな! あんなに苦労したのに、ちょっとくらい読んでくれてもいいんじゃない? いや、審査に通ればそれでもう十分だけど!

…ということで、無事にTwitterのbot作成にデビューできましたとさ。プログラミングをやった感じはあまりしませんでしたけどねw まあ、何をするにしても言葉で説明する力は必要になるということですね。それでは今回はこの辺で!