背景

僕が在籍しているカイザースラウテルン工科大学にはMENSAと呼ばれる食堂があって、普段はここで昼食をとっている。おすすめは2種類の日替わりメニュー。学生は入り口の電子掲示板を見てEssen1/2のどちらかを選ぶ。しかしこの掲示板、ドイツ語表記で写真もないので、ドイツ語が読めない学生は列の長さ(人気度)だけでメニューを決めなければならないという問題を抱えている。

この問題を解決するために、「MENSAの日替わりメニューを日本語に翻訳してお昼になったら投稿する」というニッチなTwitterBotを作っていた。

仕組み

  1. 大学のWebサイトをスクレイピングしてその日のメニューを取得する
  2. Microsoftの翻訳APIを使って日本語に機械翻訳する
  3. TwitterのAPIを使って専用アカウントから投稿する

集めたデータはすべて保存し、httpリクエストで取り出せるようにしている。例えば http://api.mrk1869.com/mensa/v1/?date=23.09.2016 で2016年9月23日のメニューが返ってくる。従ってTwitter以外にも様々なサービスと連携させることができる。

特徴

「作っていた」と書いたのは、このBotは3年前にこちらに留学していたときに作ったものだから。(当時のメモ: PythonでMicrosoft Translator APIを使ってみる)その後システムは何も手を加えられることもなく動き続け、今も毎日使われている。サーバーの設定やAPIの仕様、大学Webサイトのレイアウトなど、どれか一つでも変わると止まってしまうことを考えると、動き続けているのは奇跡といえる。僕がいなかった間も毎日投稿しながら帰りを待っていたのかと思うとなんだか愛着が湧いてくる。

Today’s Mensa(@TodaysMensa)さん | Twitter