14
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Node.jsでLINEBOTを作ってみた①

Last updated at Posted at 2021-03-25

#はじめに
JavaScriptの学習の中で、サーバー側を書いてみたいと思い、以前から興味のあったLINEBOTの制作をしてみようと考えました!

###作りたい予約システムを考える

  1. 「予約」と入力すると予約に関するメッセージをリプライ
  2. 予約は自動
  3. 次回予約を確認
  4. 予約のキャンセル
  5. 予約が確定された時の、管理画面の制作

###システムの全体像
Line Messaging API (1).png

###開発環境

  1. MacBook
  2. macOS Catalina 10.15.7
  3. Visual Studio Code

###技術選択

  1. Node.js(Express)
  2. JavaScript
  3. Heroku
  4. PostgresSQL
  5. 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"
}

nameの部分はなんでもおけです!

次に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"
が追加されたと思います。

####おわりに

パートを何回かに分けて書いていきますので
今回はこの辺りで!
パート②の構築記事はこちら

14
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?