2015/4/22 @gecko655
だれ?• 計算工学専攻M2
• W8-9F 小林研
• 東工大管弦楽団 TBSK管弦楽団Clarinetist
• Twitter,GitHub: @gecko655
• 就活してる。つらい。
LTの内容LT初めてなのでやさしくしてね
最近作ったTwitter BOTの話
一週間フレンズ。
• 葉月抹茶氏原作の漫画作品
• 2014年4月から6月までテレビアニメが放送された 全12話
• 2014年11月三次元舞台化され、244人の箱で当日券が余るほどの大盛況
藤宮 香織• 小学生時代にある出来事が原因で「1週間で友達との記憶を失くしてしまう」という障害を持ってしまった。友人との記憶は週末にリセットされ、月曜の登校時にはそれがまっさらな状態になっている。なお家族との記憶は失くしていない。心を許した相手には人懐っこい本来の顔を見せる。(wikipedia)
月曜日になると 友人に関する記憶が
なくなる
藤宮さんbot @Fujimiya_Monday
• 月曜日の9:00(登校時間)になると、友達の記憶がなくなる(フォロワーをリムーブする)
• 話しかけると(リプライを送ると)思い出してくれる(フォローを返す)
画像post機能藤宮さん関連の画像をWeb上から探してきて一定時間毎にツイートする
使ったもの
• Google CustomSearch API
• Google App Engine for Java -> Heroku for Java
• Google DataStore -> MongoLab
• Twitter4J
Google CustomSearch API• かつては、Google Image Search APIというのがあったが、2011年にDeprecated化。
• Google CustomSearch APIがかわりに使える。
• 無料だと1日100クエリ
• 検索結果の画像のURLが返ってくる
• 画像のURLにアクセスすると10%くらいの頻度で404が返ってくる。よくわからない。
Google CustomSearch API• API を使うためのID (cx ID)とAPI Keyが、Web上で散らばってて超わかりにくい
cx ID
API Key
みせられないよ!
Google App Engine (GAE) for Java
• 4時間に1回画像postする&&リプライ対応&&月曜日にフォロワーをリムーブするために、Google App Engineを利用
• スタートアップは簡単だったが…… • Java8非対応 • 他人の環境で動かそうとしてもeclipse GAE plug-inが 言うことを聞かない
• 大量の謎ファイル
Herokuへ移植
• 幸い、基幹のコード行数が500行ほどしかないので、Java8に対応してて簡単に環境を作れそうなHerokuへ移行してみた
• おまじないファイルがすくなく快適
• ドキュメントがGAEの100倍くらいある
ヘスティア
• 「ダンジョンに出会いを求めるのは間違っているだろうか」のメインヒロイン
• 青い紐で有名
• きっと説明不要
@fat_daruuuumaの 熱い要望に答えて
ヘスティア様@HestiaBlueStrap
ヘスティア様
• 4時間毎の画像post&&リプライ対応機能のみ
• (月曜になってもフォロワーを忘れない)
• 他の機能も考え中…
藤宮さんBotとヘスティア様Botの問題点
誤検出
• 「藤宮さん 一週間フレンズ。」で画像検索しているだけなので、関係ない画像がたまにツイートされる
• 間違った画像をツイートしたときに報告する機能を実装
間違ってるpostに対して 「違う」とか「誰だよ」とかリプライする
↓ 画像のURL(と報告者のTwitter ID)がデータベースに登録され、 二度とこの画像を呟かなくなる
もっと重大な 藤宮さんBotと
ヘスティア様Botの問題点
著作権&&肖像権がヤバイ!!
• Web上で検索に引っかかった画像を許可無くツイートしている
• 二次創作系画像とか、三次元コスプレ画像とか • 法的にどうなんですかね…… • 教えてえろいひと
ご清聴ありがとうございました• ぜひフォローして遊んでやってください。
• https://twitter.com/Fujimiya_Monday
• https://twitter.com/HestiaBlueStrap