LOG IN

LINE Botをつくった話

by らきいば

この記事はAFTAC2019、2日目の記事です。AFTACについては藤岡さんのブログを参照してください。

大学生になり、夏休みが暇だったので、LINE Botをつくって遊んでいました。

1. なんで作ろうと?

(※画像は一部加工しています)

暇だったからというのとLINE Botに以前から興味があったということが主たる理由です。

が、きっかけとなったのは、大学からのお知らせを見ている学生が少ないということです。

大学からのお知らせはメールとして学生一人ひとりに割り当てられているメールアドレスに送信されますが、まあ、確認するのがめんどくさい。これは誰も使わなくなりますね。(なお、僕はGmailに転送しているのでちゃんとチェックしています。)

反面、LINEはかなりの頻度で確認する。ということで、LINEでメールを確認できたら便利かなってことで作りました。

2. 機能

まあ、要件定義なんですが、僕のつくったLINE Botには以下の機能があります。

この三点について朝6時時点でBotが加入している全グループに向けて送信します。

メールについては、すべてのメールをGmailに転送しているので、Gmailの検索クエリで取得します。

休講情報は、大学の休講情報を掲載しているサイトがあるのでそれをGetして、いい感じに整形しています。

注意報・警報については、同じようにYahoo天気・災害からGetして、整形しています。

3. 実装

Google Apps Scriptで実装しました。これはGoogleアカウントを持っている人なら誰でも始められるプログラム開発環境で、(1日の利用限度時間は決められているものの)Googleの様々なリソースを使えます。

より詳しく知りたい方はこちら:Google Apps Script入門

コード自体は公式リファレンスとプログラマ御用達のQiitaを参照しながら200行ぐらいでさくっと書いたは書いたのですが、デバッグにかなり時間がかかりましたorz......。

こんな感じで毎朝6時に投稿されます。

LINE Bot自体は結構手軽に作れます。(以下の参考リンクはちょっと古いです。たとえば、デベロッパートライアルは現在終了され、フリープランに統合されています。)

参考リンク:LINE Messaging APIでお手軽bot開発!5分でできる作り方をご紹介します

なお、画像では気象警報が表示されていませんが、そのタイミングで発令されていなかったら、非表示になります。バグではなく仕様です。

4. その他

僕の所属している科の1回生グループ(メンバー5人)に入れていただけなのですが、結構噂になっていました。理論的には、32グループまで同時配信ができる(LINEのAPIの使用制限の都合上)のですが、一度、僕がグループに入室して手動でグループIDを取得しないといけないのがネックになっています......。Botの操作権限を強めに設定している(Webhookによる応答の際に僕のアカウント以外のユーザーIDによる投稿は無視するようにしている)せいなのですが。要望がとても多い場合は、権限を緩めようかと思っています。

5. まとめ

LINEというのは、(僕は好きではないですが)結構な人数の人が使っているので、高校・大学・その他イベント等で活用できる場面は多いのかもしれません。

ちょっと暇な人はやってみるのも楽しそうですね。以上。

追伸

Bot作るなら、SlackとかDiscordとか使えば?

OTHER SNAPS