자기 긍정감 상승봇을 만들었습니다!(LINEbot)

개시하다
안녕하세요, 저는 실란공업대학 Advent Calendar 2021의 다음날 책임자 오스미입니다.
나는 린봇으로 자기 긍정감을 높이는 봇을 만들어서 그것에 대한 기사를 썼다.
날과 씨
나는 예전부터 내가 메시지를 보낸 후 답장하는 라인 봇을 만들고 싶었다.
자기 긍정감을 높이는bot의 경위로서 제 성격은 쉽게 소침해지기 때문에bot과 대화를 통해 완화시키면 좋겠다고 생각합니다.Google Apps Script를 선택하여 bot을 만드는 이유는 함수를 웹 서버로 사용할 수 있기 때문입니다.또한 스프레드시트 및 캘린더 등 Google 서비스와의 협력도 간단합니다.
미리 준비한 물건
  • 라인 계정
  • Google 계정
  • LINE Developers 설정
    먼저 "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코드에서 실제로 친구 추가 버튼을 눌러 사용할 수 있다.
    끝까지 봐주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기