자기 긍정감 상승봇을 만들었습니다!(LINEbot)
안녕하세요, 저는 실란공업대학 Advent Calendar 2021의 다음날 책임자 오스미입니다.
나는 린봇으로 자기 긍정감을 높이는 봇을 만들어서 그것에 대한 기사를 썼다.
날과 씨
나는 예전부터 내가 메시지를 보낸 후 답장하는 라인 봇을 만들고 싶었다.
자기 긍정감을 높이는bot의 경위로서 제 성격은 쉽게 소침해지기 때문에bot과 대화를 통해 완화시키면 좋겠다고 생각합니다.Google Apps Script를 선택하여 bot을 만드는 이유는 함수를 웹 서버로 사용할 수 있기 때문입니다.또한 스프레드시트 및 캘린더 등 Google 서비스와의 협력도 간단합니다.
미리 준비한 물건
먼저 "LINE Developers"에 로그인합니다.
"MessagingAPI 시작"을 선택하여 Bot 계정을 만드십시오.
봇의 계정이 생기면 구체적으로 7개의 설정을 진행한다.
- 친구 등록 보트 계정
- 액세스 토큰을 다시 발행
- 웹 훅의 URL(다음 장에서 자세히 설명)
- "Webhook"을 "유효"로 설정
- "bot 단체 채팅 허용"을 "무효"로 설정
- 자동 응답 메시지가 잘못되었습니다.
- 잘못된 인사 메시지
이러한 작업을 수행하면 기본적으로 설정이 완료됩니다.
다시 발행된 액세스 토큰은 Google Apps Script에서 사용됩니다.
Google Apps Script를 통해 설정
먼저 Google 계정에 로그인합니다.
Google Drive → 신규 → Google Apps Script 를 선택합니다.
이전 LINE Developers에서 재발매한 액세스 토큰이 함께 제공됩니다.
다음 코드를 작성하고 공개 → 웹 애플리케이션으로 가져오기를 클릭하여 Google Apps Script와 협력하여 웹 훅의 URL을 가져옵니다.LINE Developers로 거기를 설정합니다.이 작업을 수행하면 완전히 끝납니다.
디자인된 것을 다시 수정하려면 프로젝트 버젼을 New로 바꾸는 것을 잊지 마세요.
var CHANNEL_ACCESS_TOKEN = 'アクセストークン';
function doPost(e) {
var replytoken= JSON.parse(e.postData.contents).events[0].replyToken;
if (typeof replytoken === 'undefined') {
return;
}
function getRandomInt(max) {
return Math.floor(Math.random() * max);
}
var message=['かっこいい!','君がtouristだ!','生きてて偉いぞ!','すごい!','君の未来は明るい'];
var user_message=message[getRandomInt(5)];
var url = 'https://api.line.me/v2/bot/message/reply';
UrlFetchApp.fetch(url, {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': replytoken,
'messages': [{
'type': 'text',
'text': user_message,
}],
}),
});
return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
}
소스 코드에 대한 간단한 설명이번에는 JavaScript로 구현했고 다른 프로그래밍 언어도 가능합니다.
doPost 함수는 POST 요청을 웹 응용 프로그램에 보낼 때 수행되는 함수입니다.LINE Bot에 메시지를 보내면 LINE 서버는 Webhook URL에 설정된 URL에 POST 형식으로 메시지를 보냅니다.Google Apps Script는 이 정보를 받아 JSON을 분석하고 답장하는 데 사용할 답장 영패와 메시지 내용을 JSON 형식으로 포트에 보냅니다.변수user메시지의 글씨체이기 때문에 여기만 변경하면 완전히 다른bot을 만들 수 있습니다.
개발에 공을 들인 곳
getRandomInt () 함수를 만들었습니다. 위 코드에서 메시지 문자열이 저장된 그룹을 무작위로 선택할 수 있습니다.이것을 통해 가독성을 높였다.
완성품
아래 QR코드에서 실제로 친구 추가 버튼을 눌러 사용할 수 있다.
끝까지 봐주셔서 감사합니다.
Reference
이 문제에 관하여(자기 긍정감 상승봇을 만들었습니다!(LINEbot)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/osumi-kyopuro/items/9a43fdb7b6fc4ff75dc6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)