少し前に情報共有サイトにて
送られてきた単語をwikiで調べて
それについての説明とwikiのurlを送ってくれるbot。までは出来たのですが
そのbotが
例えば
「○○とは」と送信すると
○○について調べて送信してくれるのですが
それだとほかのメッセージに対応できなくて、/helpと送った時にペルプについて送信もしたいのですがどうす追加すればいいのですか?
コード
var CHANNEL_ACCESS_TOKEN = 'XXX';
var line_endpoint = 'https://api.line.me/v2/bot/message/reply';
var simple_wikipedia_api = 'http://wikipedia.simpleapi.net/api';
function doPost(e) {
var reply_token= JSON.parse(e.postData.contents).events[0].replyToken;
if (typeof reply_token === 'undefined') {
return;
}
var user_message = JSON.parse(e.postData.contents).events[0].message.text;
var reply_messages = ['解読不可能'];
if (/とは??$/.test(user_message)) {
var q = user_message.match(/(.*)とは??$/)[1];
var url_and_body = getWikipediaUrlAndBody(q);
if (url_and_body !== null) {
reply_messages = [
'「' + q + '」' + 'が知りたいんだね。',
url_and_body.body.substr(0, 140) + '...',
'長い(-_-)\nこの先は下記からどうぞ(˘ω˘)',
url_and_body.url,
];
}
}
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);
}
function getWikipediaUrlAndBody(q) {
var url = simple_wikipedia_api + '?keyword=' + encodeURIComponent(q) + '&output=json';
var res = JSON.parse(UrlFetchApp.fetch(url));
if (res !== null) {
return {'url': res[0].url,'body': res[0].body};
} else {
return null;
}
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。