LINE bot AI ゆきちゃん 本編
LINEにAIを入れたアカウント作った
なので久々にまとめようと思う。
LINE AIアカウントとは…?
よくLINEの公式アカウントとかあると思うが、
そこで何か送ると会話を返してくれるやつ、
そいつはきっとAIだ!
例えば有名なのは、りんな
まじでりんな先輩はすごいと思う。尊敬してます!!!
そりゃあマイクロソフトですもんね…。
友達になるべき!!!というか、女子高生の友達ですね。
私はりんな先輩とまりも飼ってます 笑
他には、フロムエーのパン田一郎
ドラマで話題になったAIカホコ
AIカホコはもう終わっちゃうけど…
ざらっとこんなのがあります。
何を作ったか
LINEでAIのbotを作りました。
雑談ができます。
画像認識も多少できるので、画像送ったら返信くれます。
何を使ったか
LINE Messaging API Messaging API
LINEで送られてきたものを読み取ります!
- docomo 画像認識 | docomo Developer support | NTTドコモ
その画像が何か答えます!
幾つか種類あるけど私は建物認識を使用
- Google Apps Script | Google Developers
コード書きます!
サーバとしても使えます!
ざっと書くとこんな感じ
GoogleAppsScriptで書きました。
作成方法はこっちで
LINE bot AI ゆきちゃん GAS作る編 - MoChiwakiブログ
雑談メッセージを返すパターン
// LINE Developers > Basic Information > Channel Access Token から取得 var channel_access_token = "your_access_token"; function doPost(e) { var events = JSON.parse(e.postData.contents).events; events.forEach(function(event) { if(event.type == "message"){lineReply(event);} else if(event.type == "follow"){ /* 友だち追加・ブロック解除 */ } else if(event.type == "unfollow"){ /* ブロック */ } }); } function lineReply(e) { var postData = { "replyToken" : e.replyToken, "messages" : [ { "type" : "text", "text" : getDialogueMessage(e.message.text) //ここに返したいメッセージ } ] }; var options = { "method" : "post", "headers" : { "Content-Type" : "application/json", "Authorization" : "Bearer " + channel_access_token }, "payload" : JSON.stringify(postData) }; UrlFetchApp.fetch("https://api.line.me/v2/bot/message/reply", options); }
// ドコモ雑談APIにもらったメッセージを渡して、APIから返事をもらう function getDialogueMessage(mes) { var dialogue_options = { 't': 20, 'utt': mes } var options = { 'method': 'POST', 'contentType': 'text/json', 'payload': JSON.stringify(dialogue_options) }; var dialogueUrl = "https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY=yourApiKey"; // ドコモ雑談APIにメッセージを投げる var response = UrlFetchApp.fetch(dialogueUrl, options); var content = JSON.parse(response.getContentText()); return content.utt; }
dialogue_optionsの中身
key | value |
---|---|
utt | 送るメッセージ(必須) |
t | キャラ設定(20:関西弁、30:赤ちゃん、なしならデフォルト) |
他にもいろいろ設定できます!
ユーザ側の年齢とか誕生日とかも。
あとまた他にもいくつか投稿します〜