botを作った経緯
大学のフィギュアスケート部で練習のたびに出欠を確認する必要がありました。
ちょうどプログラミングを勉強し始めたところだったので自動化を試みました。
それまでの方法
LINE日程調整で部員の出欠を確認
→日程調整の画面を見ながら手打ちで出席者リストを作成
→丁寧な文言を付け足す
→部活の全体LINEに送信
これ、自動化できないのか…?
できた。
LINE日程調整はおそらくAPIがなかったので、無料でLINEbotが作れるというGoogleAppsScriptなるものを利用して改めてシステムを作り直すことに。
botの機能
入力
・練習の予定をカレンダーに登録しておく
・スプレッドシートに出欠を入力してもらう
出力
・出席者をまとめて前日の朝に確認
・出欠確認の必要のないイベントは夜に通知
作り方
コードはgithubに置いています。ファイルを分けるという概念がなかったので無駄に長くなっていますが。
https://github.com/maosasa/club-line-bot
必要なもの
・Googleアカウント
・LINE Developersアカウント
完全無料で利用できます!
以下の記事を参考にしました。
reply
https://qiita.com/tetrapod117/items/e7b48485c98f6b88f311
push
https://qiita.com/n_oshiumi/items/a1a02e03093825f41e01
replyとpushについての説明も書いておきます。
reply
ユーザーが何か送った時にメッセージが送信される。
push
こちらで設定したタイミングでメッセージが送信される。
これらの機能は実装の仕方が違います。
今回の場合で言うと予定のリマインドはpushで、おしゃべり機能はreplyを用いています。
まとめ
GoogleAppsScriptはGoogleのあらゆるサービスのAPIを簡単に使えるのでとっても楽しいです。一度やり始めると、もっと自動化できることはないかと探してしまうほどです。
面倒なことはGoogleAppsScriptにやらせましょう。