LINEのチャットBotを作る – それに会話のできるやつを

LINEでチャットBotを作ろう!第二弾!次は、それなりに会話ができる、まさしく”チャット”のbotを作ります!今回もGoogle Apps Scriptを使っていきまーす!

実は、ちょっと前まで今回の構成ならガチでノンプログラミングでできたのですが、9月末のLINE APIのアップデート依頼それができなくなっています、、、たぶん、、、
スポンサーリンク

目次

  1. 構成
  2. ボットAPI利用申請
  3. 実装!
  4. 稼働!

構成

さて、今回はそれなりに会話できるbotを作っていくのですが、あれですよね、そんな難しいことできるんすか?AIいるんちゃうんAI???みたいな感じだとおもいます。安心してください。たぶん大丈夫笑。さて、そのたぶん大丈夫なことを実現する構成ですが、今回は株式会社ユーザーローカルさんが提供する、APIを使ってbotを作っていきます。ユーザーローカルさんはAIを使ってなんかすげーbot作ってるすげー会社さんですね!(結局AIは使うんかい!)ところで、APIってなんですのん?て
感じだと思いますが、みんな大好きWikipediaによると

アプリケーションプログラミングインタフェース(API、英: Application Programming Interface)とは、ソフトウェアコンポーネントが互いにやりとりするのに使用するインタフェースの仕様である。

何語かな?意味不明ですよね。ということで、なんかちょっとわかりやすいそうな言い回しを探しましたところ、https://www.sejuku.net/blog/7087的には、、

APIとは「ソフトウェアの機能を共有すること」

雰囲気は、まあ、なんとなくわかりますかね。今回でゆうと、ユーザーローカルさんが作ってるチャットbotのための機能をお借りしようと、そうゆう感じです。

ボットAPI利用申請

さっそくいきましょー!ユーザーローカルさんのサイトから、ボットAPIの利用申請をしていきましょう。こんな感じのページ。

個人開発者向けの方をクリックしてください。

もろもろ入力するページになりますんで、入力してこの「内容で申し込む」をクリックしてください。するとメールが届きます。

メールこんな感じですね。今回は、1の「人工知能ボットAPI」から作成しますので、この画面のあなたのAPIキーってやつを使います。

そして下の方へ

ではでは、このURLからログインしていきます。

なんか色々登録せいみたいな感じなので、適当に登録して、したの方にある作成ボタン的なやつをクリックしてください。

ここまでで、ユーザーローカル側の設定は完了です!

実装!

今回も、Google Apps Scriptを使ってコーディングをしていきます。GASの使い方については、Google Calendarの予定を毎朝LINEに送る参照。

// LINEの認証を突破するために必要なお作法
// botのChannel基本設定の画面で発行した鬼のように長い文字列を""の中にセット
var secret_token = "ここ"; 
var secret = "Bearer " + secret_token;

// ユーザーローカルに利用申請をした後のメール本文にあるAPIキーをここの""の中にセット
var apikey = "ここ"; 
function doPost(e) {
  
  // LINEから送信されたデータを取得(テキストメッセージそのものではない。)
  var json = e.postData.getDataAsString();
  
  // LINEから送信されてきたデータから、リプライトークン(返信するために必要)を取得
  var token = JSON.parse(json).events[0].replyToken;
  
  // 送信されてきたテキストを取り出し
  var text = JSON.parse(json).events[0].message.text;
  
  // ユーザーローカルのAPIを使って、自分が送信したテキストへの返信テキストを受け取る
   // messageのあとに、自分が送ったテキストを入れる
   // keyのあとに、メールで受け取った APIキーを入れる
  var userlocal_url = "https://chatbot-api.userlocal.jp/api/chat?";
  var query = "message=" + text + "&key=" + apikey;
  var responsetext = UrlFetchApp.fetch(userlocal_url + query);
  
  // LINE上にユーザーローカルのAPIから受け取ったテキストを返信する  
  var url = "https://api.line.me/v2/bot/message/reply";
  var headers = {
    "Content-Type" : "application/json",
    "Authorization":secret
  };

  var data = {
    "replyToken" : token, 
    "messages" : [{
      "type" : "text",
      "text" : JSON.parse(responsetext).result
    }]
  };

  var options = {
    "method" : "POST",
    "headers" : headers,
    "payload" : JSON.stringify(data)
  };

  return UrlFetchApp.fetch(url, options);  
}

以上です!

稼働!

さて、コーディングも終わったことですので、稼働していきましょう!LINE bot側の設定などはLINEのチャットbotを作る – まずはオウム返しを参考にしてください。きちんと動くと、、、

こんな感じでなんとなく会話をしてくれます~笑。割と噛み合ってて?笑、楽しいですね。笑

このユーザーローカルさんのAPIですが、設定次第で口調とか、テンプレートの対応とかも設定できるので、今度はそこら辺を触っていきたいと思います!

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする