技術ブログ移設しました click here!

【LINE BOT】30分からできるLINE BOT開発⑥【ユーザー登録のシステムを作る】

30分からできるLINEボット開発

こんにちは、ともろう(@tomorrowSLog)です。

この記事は【LINE BOT】30分からできるLINE BOT開発⑤の続きの記事になります。






【プログラミング】 日英翻訳サイトを作ってみた【JavaScript】

作りたいもの

LINE botに登録したユーザーをスプレッドシートに登録

LINE botを追加してくれたユーザーのユーザー名とIDを取得して、スプレッドシートにデータベースとして登録をしたい。

これによって、ユーザー数の把握やIDに紐づけてのプッシュ通知ができるようになる!

ユーザーが退会(ブロック)をしたらスプレッドシートから削除

登録ができるだけだと不十分。

ユーザー目線としてもブロックした後にデータがずっと残るのは嫌なはず。

退会(ブロック)をしたらスプレッドシートから削除!

発展として

新規登録ユーザー(ブロック解除ユーザー)へのThanks挨拶を名前を取得して動的に変えていく。

登録システムGASコード

事前準備

userと言う名前のシートをgasのコードと結びついたスプレッドシートに作成してください。

コード全文

それではそれぞれの関数について見ていきましょう。

受信データを振り分ける doPost関数

doPost関数は受信したデータを受け取り、イベントごとに場合分けをします。

途中で出てくるfollow関数とreply関数は後述しますが、ユーザーデータを登録してユーザー名を返す関数と、メッセージを返す関数になります。

 

フォロー時の処理をする follow関数

フォローされたときの動作を作っていきます。

フローとしては、

  1. データからユーザーIDを取得
  2. ユーザーIDをもとに表示名をリクエスト、取得
  3. スプレッドシートに登録

のような感じ。特に難しいことはしていないはずです!!!

メモ

スプレッドシートのシート名は8行目で指定しています(今回は‘user’)

フォロー解除時の処理をする unfollow関数

続いてフォロー解除時の挙動を作ります。

と言ってもすることは

  1. ユーザーIDを取得
  2. スプレッドシートからユーザーIDを検索
  3. スプレッドシートからデータを削除

これだけ

 

メッセージを返す reply関数

イベントに紐づけて返事を返すreply関数です。

今回はdoPost関数の中でこのように使っています。

メッセージ返信のフォーマットを関数化した感じです。

 

挙動

おうむちゃん

あなた(ユーザー名)さん登録ありがとう!

友達追加をし、ブロック、ブロック解除をして挙動を確認して見てください。

うまく動きましたか?

LINEBOTシリーズ他の記事

1.【LINE BOT】30分からできるLINE BOT開発①【下準備】
2.【LINE BOT】30分からできるLINE BOT開発②【GASとLINEボットの紐付け】
3.【LINE BOT】30分からできるLINE BOT開発③【メッセージの送信】
4.【LINE BOT】30分からできるLINE BOT開発④【フォローイベントの作成】
5.【LINE BOT】30分からできるLINE BOT開発⑤【おうむ返しさせる】
6.【LINE BOT】30分からできるLINE BOT開発⑥【ユーザー登録のシステムを作る】
7.【LINE BOT】30分からできるLINE BOT開発⑦
8.【LINE BOT】30分からできるLINE BOT開発⑧
9.【LINE BOT】30分からできるLINE BOT開発⑨
10.【LINE BOT】30分からできるLINE BOT開発⑩

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です