ご購入いただきありがとうございます!
本書籍は、技術書典で頒布した以下の「Hands-on LINEBOT」をベースに加筆・修正をしたものになっています。
・https://techbookfest.org/product/3EUnJ5WbexvCDyMgSJS1qb
本書籍のサンプルコードは個人利用で一般的に使われるLINE Messaging APIの機能をだいたいカバーしており、簡単なLINE botならサンプルコードを改造するだけで一通り作れるようになっています。
本書籍では、初心者でも理解できるということを念頭におきつつ、例えば、AWS Lambdaにデプロイする、ソースコードはできるだけ改造しやすいように書くなど、拡張性が高いように作成しました。コピー&ペーストだけで簡単に機能拡張できるようなサンプルコードになっています。
書籍の内容も、「サンプルコードを改造するのに必要な知識」に重点を置いて執筆しました。サンプルコードの「どこをどういじればどのように動きが変わるのか」ということを理解して、サンプルコードを改造しながら自分の好きなLINE botを作れるようになっていただければ幸いです。
また、本記事に掲載している解説の多くは公式リファレンス(https://developers.line.biz/ja/reference/messaging-api/)を参考に作成しています。このリファレンスは非常にわかりやすいため、作っていて何かわからないことがあったらリファレンスを参考にしましょう
本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。また、本書籍に掲載されている情報は2023/09/11現在のものです。
本書で扱っているサンプルコードのリポジトリはhttps://github.com/shinbunbun/Hands-on-LINEBOT-impressです。
masterブランチがハンズオンの完成形になっているため、適宜コードをコピー&ペースト等しながら進めてください。
本書籍は以下の環境で動作確認済みです。
・NixOS 23.05
─Linux 6.4.7
・Node.js v18.17.1
・awscli v2.11.20
・Docker v20.10.25
この本はハンズオン形式でLINE botの作り方を学ぶ本です。
基本的なメッセージの返信から、ちょっとリッチなメッセージの作り方、トーク上に表示されるメニューの作成、外部APIとの連携、DB連携などを実装し、最終的にAWS Lambdaへデプロイします。
・ngrokを使ってLINE botを動かす
・一般的に使われるWebhook Eventの種類を理解する
・Messaging APIで返信できるメッセージの種類を理解する
・LINE Bot Designerを使ってLINE botのプロトタイプを作成する
・Flex Messageについて理解する
・リッチメニューについて理解する
・外部APIとの連携
・DynamoDBとの連携
・AWS Lambdaへのデプロイ
LINE botとは、当該Botのアカウントに対して何かメッセージを送ったら自動で返してくれるチャットボットのことです。
たとえば以前私が作ったLINE botで、学校の時間割を確認できるbotがあります。
LINE botにはただメッセージを返す以外にもさまざまな機能があります。この本では、LINE botに関する一通りの技術をハンズオン形式で学習していきます。
この書籍を読む前に以下の事前準備をしてください。
・JavaScriptの基本文法を学習する
─https://developer.mozilla.org/ja/docs/Web/JavaScript
・LINE Developers(https://developers.line.biz/ja/)のアカウントを作成して、コンソールからプロバイダを1つ作成する
─基本的には普段使っているLINEアカウントでログインしてください
・ngrok(https://ngrok.com/)のアカウントを作成する
・AWSのアカウントを作成する
─クレジットカードが必要です
・aws-cliを導入する
─https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
─本書で使用しているバージョンはv2.11.20です
・Node.jsの環境を導入する
─本書で使用しているバージョンはv18.17.1です
・Dockerを導入する
─https://docs.docker.com/get-docker/
─本書で使用しているバージョンはv20.10.25です
・curlコマンドとgitコマンドが使えることを確認する(使えなかったらインストールする)
本書のハンズオンで作成するLINE botは以下のようなアーキテクチャになっています(以下のアーキテクチャは開発段階のもので、最後にAWSへデプロイします)。
・Express
ExpressはNode.jsでWebアプリケーションを実装するためのフレームワークです。今回はこれを使用してローカルにサーバを立てます。
・ngrok
ngrokは、ローカルに立てたサーバをインターネット上に公開するためのツールです。LINE Messaging APIのWebhookイベントを受け取るにはサーバがインターネット上に公開されている必要があるため、今回はこちらを使用してNode.jsで立てたサーバを公開します。
本書籍はざっくりと以下のような構成になっています。
開発はローカルのNode.js(Express)とngrokを使って行い、最後にAWS Lambdaへデプロイします。
1.LINE botのアカウントを作成する(Messaging APIのチャネルを作成する)
2.GitHubのリポジトリからソースコードをcloneして、モジュールをインストールする
3.LINE DevelopersからLINE Botの設定をする
4.ngrokで試してみる
5.LINE Bot Designerの使い方
6.Flex Messageについて
7.リッチメニューについて
8.PUSHメッセージについて
9.外部APIとの連携
10.DynamoDBとの連携
11.AWS Lambdaへのデプロイ