5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GoogleAppsScriptで部活の仕事をbot化した

Last updated at Posted at 2019-12-20

botを作った経緯

大学のフィギュアスケート部で練習のたびに出欠を確認する必要がありました。
ちょうどプログラミングを勉強し始めたところだったので自動化を試みました。

それまでの方法

LINE日程調整で部員の出欠を確認
→日程調整の画面を見ながら手打ちで出席者リストを作成
→丁寧な文言を付け足す
→部活の全体LINEに送信

出来上がったメッセージは以下のようなもの。
スクリーンショット 2019-12-20 22.02.29.png

これ、自動化できないのか…?

できた。
LINE日程調整はおそらくAPIがなかったので、無料でLINEbotが作れるというGoogleAppsScriptなるものを利用して改めてシステムを作り直すことに。

botの機能

入力
・練習の予定をカレンダーに登録しておく
・スプレッドシートに出欠を入力してもらう
出力
・出席者をまとめて前日の朝に確認
・出欠確認の必要のないイベントは夜に通知

スプレッドシートの出欠表
スクリーンショット 2019-12-20 22.15.33.png

スクリーンショット 2019-12-20 21.56.46.png

ついでに
・個人トークでの簡単なおしゃべり機能
スクリーンショット 2019-12-20 21.59.57.png

作り方

コードは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にやらせましょう。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?