gas
Line
linebot
LineBotAPI
LINEmessagingAPI

はじめに

LINE BOTを作ってみた

  • 面白いことをやってみたかった
  • LINEという、普段使うツールで楽しさを求めてみた
  • gasを使った事がなかったので、試してみたかった

必要なもの

  • googleアカウント
  • LINE developerアカウント

位でしょうか。。。
APIを使いたいなどあれば、別ですが、今回はこれだけで十分です。

コーディング

  • 今回は、特定の文字列が入力された際に、特定の返信を行えるように実装しました
//CHANNEL_ACCESS_TOKENを設定
//LINE developerで登録をした、自分のCHANNEL_ACCESS_TOKENを入れて下さい
var CHANNEL_ACCESS_TOKEN = 'YOU_ACCESS_TOKEN'; 
var line_endpoint = 'https://api.line.me/v2/bot/message/reply';

//ポストで送られてくるので、ポストデータ取得
//JSONをパースする
function doPost(e) {
  var json = JSON.parse(e.postData.contents);

  //返信するためのトークン取得
  var reply_token= json.events[0].replyToken;
  if (typeof reply_token === 'undefined') {
    return;
  }

  //送られたLINEメッセージを取得
  var user_message = json.events[0].message.text;  

  //返信する内容を作成
  var reply_messages;
  if ('かっこいい' == user_message) {
    //かっこいいと入力された際
    reply_messages = ['「' + user_message + '」ですね?\n' + '「' + user_message + '」はこちらになります。\n' + 'https://hogehoge.com',];

  } else if ('かわいい' == user_message) {
    //かわいいと入力された際
    reply_messages = ['「' + user_message + '」ですね?\n' + '「' + user_message + '」はこちらになります。\n' + 'https://hogehoge.com',];

  } else if ('普通' == user_message) {
    //普通と入力された際
    reply_messages = ['「' + user_message + '」ですね?\n' + '「' + user_message + '」はこちらになります。\n' + 'https://hogehoge.com',];

  } else {
    //かっこいい、かわいい、普通が入力されたときの処理
    reply_messages = ['「かっこいい」、「かわいい」、「普通」で入力してくださいね!'];
  }

  // メッセージを返信
  var messages = reply_messages.map(function (v) {
    return {'type': 'text', 'text': v};    
  });    
  UrlFetchApp.fetch(line_endpoint, {
    'headers': {
      'Content-Type': 'application/json; charset=UTF-8',
      'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
    },
    'method': 'post',
    'payload': JSON.stringify({
      'replyToken': reply_token,
      'messages': messages,
    }),
  });
  return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
}

上記で出来上がりです。
では実際にビルドしてみましょう。

  • ファイル→保存
  • 公開→WEBアプリケーションとして導入...
    • プロジェクトバージョン→新規作成
    • 次のユーザーとしてアプリケーションを実行→自分
    • アプリケーションにアクセスできるユーザー:全員(匿名ユーザーを含む)
    • 更新
  • ここで表示される現在のウェブアプリケーションのURLをメモ
    • のちのWebhook URLで設定します

実装は以上です!!

次に、LINE developerの用意

  • 色々なやり方があるみたいですが、現在は日本語に対応しているので割と簡単に登録が出来ます

LINE developerの設定

  • Webhook URLを設定する(要SSL通信)
    • Webhook URLはgasで作成したURLを設定します
      • LINE developerに登録をしてから、反映されるまで2~3時間位かかるみたいです
        • botにコメントを流して、レスポンスが返ってきたらOKです。
        • 次回以降は、ソースの更新を行えば、すぐに反映されます!
  • 待っている間に、設定を進めましょう!
    • 設定値は下記の通りでbotが出来ます
      • アカウント設定 > bot設定 でまずは「APIを利用する」
      • Webhook送信 「利用する」
      • 自動応答メッセージ 「利用しない」(お好きにどうぞです!)

設定は以上です!!

あとはとにかく遊んでみて、色々修正してみて下さい!
AIのAPIなども使えるので、もっと面白いbotが出来ると思います。
そこらへんは、次回の更新で出来れば。。。