Node.js에서 LINEBOT을 만들어 보았다 ①

소개



자바스크립트의 학습 속에서, 서버측을 쓰고 싶다고 생각해, 이전부터 흥미가 있던 LINEBOT의 제작을 해 보려고 생각했습니다!

만들고 싶은 예약 시스템을 생각


  • "예약"을 입력하면 예약에 대한 메시지를 응답합니다
  • 예약은 자동
  • 다음 번 예약 확인
  • 예약 취소
  • 예약이 확정되었을 때의 관리 화면의 제작

  • 시스템의 전체 이미지





    개발 환경


  • MacBook
  • macOS Catalina 10.15.7
  • Visual Studio Code

  • 기술 선택


  • Node.js (Express)
  • JavaScript
  • Heroku
  • PostgresSQL
  • LINE MessagingAPI

  • LINE을 사용한 BOT 구축은 Messaging API가 필수입니다.
    인프라 구축은 학습 비용이 든다고 판단했기 때문에, 간단하게 프로그램 공개할 수 있는 Heroku. 데이터베이스는 PostgreSQL을 사용합니다.

    Heroku,PostgresSQL,MessagingAPI 모두 무료 범위 내에서 보관되므로 안심입니다.

    ※자동으로 교환하는데 있어서, 곧바로 대답이 돌아오고 있지요?
    Heroku라면 30분 서버에 액세스가 없으면 절전 모드로 전환되어, 액세스부터 상승까지 시간이 걸려 버리는 문제가 발생합니다.
    하지만 슬립 문제를 살짝 해결할 수 있는 뒷 기술도 있으므로 앞으로 소개하겠습니다.

    Express 설치



    ※Node.js나 npm의 인스톨 하는 기사는 많이 있으므로 할애합니다.

    Visual Studio Code에서 control+shift+@를 누르면 터미널 화면이 열립니다.

    터미널.
    npm init
    

    npm init는 node.js에서 패키지를 관리하는 새로운 package.json 파일을 만드는 명령입니다. 루트 폴더 아래에 "package.json"파일이 생겼는지 생각합니다. 그 파일의 내용을 보면, 이런 느낌이 되고 있습니다.

    package.json
    {
     "name": "hogemarukun",
     "version": "1.0.0",
     "description": "",
     "main": "index.js",
     "scripts": {
       "test": "echo \"Error: no test specified\" && exit 1"
     },
     "author": "",
     "license": "ISC"
    }
    

    이름의 부분은 뭐든지!

    그런 다음 Express를 설치합니다.

    터미널.
    npm install express --save
    

    package.json을 살펴 보겠습니다.

    package.json
    {
     "name": "hogemarukun",
     "version": "1.0.0",
     "description": "",
     "main": "index.js",
     "scripts": {
       "test": "echo \"Error: no test specified\" && exit 1"
     },
     "author": "",
     "license": "ISC",
     "dependencies": {
       "express": "^4.17.1"
     }
    }
    

    "dependencies": {
    "express": "^4.17.1"
    가 추가되었다고 생각합니다.

    결론



    파트를 여러 번 나누어 써 가기 때문에
    이번은 이 근처에서!
    파트 ②의 구축 기사는 여기

    좋은 웹페이지 즐겨찾기