八発白中

はてなブログに引越しました。

落語Botを作った & LINE Botの設計考察

僕はよく落語を聴きに行きます。

寄席のときもあるし、お気に入りの落語家が出演する落語会のチケットを買って行くこともあります。寄席と落語会を合わせてだいたい月に3回くらい。

「寄席」というのは都内の各所で1年365日やってる落語イベントです。都内には新宿、池袋、上野、浅草に席亭があります。途中から入ったり途中で帰ったりが自由なので「あー、落語聴きに行きたいなー」というときに気楽にいけます。

そういうときにはどこの席亭の寄席に行こうかな、と当日の出演スケジュールを見て決めることになります。

ところがこれが意外と面倒くさい。

それぞれの席亭の本日の番組表を複数窓で開いて見比べるわけですが、一昔前のWebサイトっぽさがあってあんまりスマートフォン対応してくれていません。小さな文字を見比べて「上野には誰々が出るから…」とか思案するわけです。

落語Bot

そういう事情もあって、LINEで寄席の情報を調べられるBotを妻と作りました。プログラムとインフラ運用、ランディングページ作成は僕が担当しました。

下部の「本日の定席」というメニューを開くと都内4席亭のロゴが出るので、行きたいところをタップすれば出演者をずらずらっと出してくれます。

f:id:nitro_idiot:20161129064924p:plainf:id:nitro_idiot:20161129064939p:plain

もう一つの機能では落語家の名前を言うとその落語家の出演予定をCarouselで教えてくれます。

f:id:nitro_idiot:20161129065551p:plain

すげー便利。

LINE BOT AWARDS

落語Botは「LINE BOT AWARDS」にエントリー予定です。

割と本気で家庭用Slack Botを作った自分としては参加しないわけにもいかず。むしろ運用経験を活かして積極的にグランプリ狙っていきたいくらいの気持ちでした、が、落語Botで1000万って無理だよね。

さらに言えばSlack BotとLINE Botはちょっと勝手が違います。良いところもあれば使いづらいところもあり、単純に移植しても良いものはできそうにありません。LINE Botの特徴を活かして設計しないとダメそうです。

LINE Botではプッシュ通知に依存できない

一番大きい特徴というか、LINE Botの制約は、プッシュ通知をするためには月額料金が必要ということ。

Developer TrialとPro (21,600円/月)でしかプッシュ通知はできません。Developer Trialは無料ですが友だち数に制限があり、プランの変更もできないのでサービスインするならProが唯一の選択肢です。

※追記 (12/10): LINE BOT AWARDSにエントリーすると3月中旬まではすべてのプランでpush APIが使えるようです。

こんなもの払う前提で作ってたらBot作って1000万どころか運用するだけで赤字です。現状Botを作ってユーザーから集金するシステムをLINEが用意してくれてないのでどうしようもありません。

僕が以前作った家庭用Botではプッシュ通知が機能の大半を占めます。毎日天気を教えてくれたり、よく使う電車の路線の遅延情報を教えてくれたり、宅配便の到着予定を教えてくれたりします。けれどこういう機能をLINEに移植するだけで出費です。

落語Botでも、お気に入りの落語家を登録して、その落語家の出演予定をプッシュ通知で教えてくれると便利なんですが、こういう事情でつけられずにいます。

仲間内で使うならLINE Notify使えばいいんですけど、不特定多数に使ってもらうつもりなら選択肢に入りません。

そういう事情でLINE Botのメインの使い方は、能動的にBotに話しかけたときに返信するというプル型の使い方になります。なので落語Botみたいに「○○を検索して」→検索結果 みたいなものが主流になるのではないかと予想しています。

認証不要で導入が楽

LINEのほうが良いところもあり、その最大のものはユーザー認証が不要なところです。

リクエストが飛んできた時点でLINEユーザー固有のIDがついています。数タップで友だち登録するだけですぐ使えるので導入の障壁が圧倒的に低いのがメリットです。

おわりに

まとめると、僕が思うLINE Botの特徴は、

  • プル型のツール的使い方が主
  • チャットインターフェイスを活用した柔軟なサービス提供が可能
  • 認証不要で導入障壁が低い

って感じですかね。

ちなみに落語Botの開発にはCommon Lisp用のLINE Bot SDKcl-line-bot-sdk」を使いました。拙作ですがCLOSを使ってなかなか上手く作れていると思います。

落語Botは以下のリンクから友だち登録できます。興味があれば使ってみてください。

友だち追加

※追記(2016/11/29 19:02):
Japaaanさんに掲載していただきました! mag.japaaan.com