2017/05/21

リクルート「A3RT」のTalkAIとGoogle Apps Scriptを使ってエアメル友(メールbot)を作る

以前GASを使ってメールbotの作成を試みたときは,返信内容を自動で生成することができず結局カレンダーを読み込んでその日の予定を朝一にメールで配信する機能くらいで終わってしまった.

そこに救世主として現れたのが近年急速に発展するAI技術.
なんとリクルートが無料で,与えられた会話文に対する返答を返してくれるAPIを公開したというのでこれを使ってみることにした.

APIの詳細について参考にしたのはこちら
GASでのPOST方法についてはここを参考にした.
以下コード.

function checkUnRead(){
  var thds = GmailApp.getInboxThreads(0,10);
  for(var n in thds){
    var thd = thds[n];
    if(thd.isUnread()){
      thd.markRead();
      checkFrom(thd);
    }
  }
}

function checkFrom(thd){
  var msgs = thd.getMessages();
  for(m in msgs){
    var m = msgs[m];
    if(m.getFrom().indexOf('[自分の送信メアド]',0)!=-1){
        checkBody(m);
    }      
  }
}

function checkBody(m){
  var body = m.getBody(); //本文取得
  //ポスト
  var apikey = 'apiキー';
  var query = body;
  var payload=
      {
        "apikey" : apikey,
        "query" : query
      };
  var options = 
  {
   "method" : "post",
   "payload" : payload
  };
  callback = UrlFetchApp.fetch("https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk", options);
  var data = JSON.parse(callback);
  var body = data["results"][0]["reply"];
  sendMail(body);
}

function sendMail(body){
  var to = '送信先';
  var title = 'No title';
  var opt = new Object();
  opt.name='送信者名';
  opt.replyTo = '送信者アドレス';
  GmailApp.sendEmail(to, title, body, opt);
}

0 件のコメント:

コメントを投稿