Node.js
linebot

LINE BOTをNode.jsで作る

LINE BOTをNode.jsで作るための学習リソースをまとめました。


こんな人が対象です

・これからLINE BOTを作りたい

・LINE BOTでどんなことができるか知りたい

・node.jsが読める


システム構成図

大体こんな感じのシステムが多い。

Untitled.png


事前知識と事前準備


公式サイト

開発者向け公式サイト

LINE Business Center。

LINE BOTを作る際には、提供サービスの中の「Messaging API」というサービスを主に使います。

Messaging APIのリファレンス

リファレンス読み慣れてないと読みづらいけど、Messaging APIで何ができるかは、これでなんとなくわかる。


事前準備①: node

nodeをインストールしてnpmを使えるようにしよう。

インストーラでnodeをインストールしよう

nodeのインストールからHello worldまで載ってる

nodebrewでnodeをインストールをしよう

インストーラでインストールできない場合


事前準備②: heroku

herokuのアカウントを作ろう。

Herokuのアカウント作成

アカウントを作って、まずはLINE BOTの作業ディレクトリを作ろう。(要Gitの知識)

Herokuの使い方(日本語)

Gitの基礎知識や英語に自信がない人は参考にどうぞ。

Heroku入門 - ドットインストール

みんな大好きドットインストール。

herokuの16の常識

herokuのじゃじゃ馬っぷりがわかる


まずはLINE BOTでHello world!

初期設定から実装まで

 


学習リソースまとめ


基礎: Reply Message (相手のコメントに返事する機能)

おうむ返しBOT

文字数カウントBOT

くっころBOT


応用: 外部サービスと連携

毎朝!お天気通知BOT

JP Weather Forecastという天気予報 APIを利用

IBMサービスでお天気通知BOT

1時間間隔で、降水確率70%を越えると知らせてくれる

IBM BluemixのNode-REDとWeather Company Dataでお手軽に作ってる

(BluemixはIBMのクラウド基盤サービス、AWSやGCPの親戚)

レストラン検索BOT

ぐるなびAPI使ってる

写真で年齢判定BOT

Microsoft AzureのFace APIを使った表情認識

(AzureはMicrosoftのクラウド基盤サービス、AWSやGCPの親戚)

画像タイトル&タグ生成BOT

Microsoft AzureのComputer Vision APIを使った画像機械学習

会話の雰囲気判定BOT

IBM BluemixのTone Analyzerを使った雰囲気分析

docomoのサービスを使った雑談対話BOT①

docomoの雑談対話APIを利用、会話レベルは凡骨

docomoのサービスを使った雑談対話BOT②

上に同じ、docomoさん頑張ってくだされ

LINE BOTでTODOリスト

Todoistというタスク管理サービスを利用

このBOT欲しい

LINE Pay決算BOT

LINE Payによる決算でユーザに商品を購入させることができる

Google Homeに読み上げさせるBOT

Firebaseとラズパイ経由でGoogle Homeにメッセージを読み上げさせるBOT


応用: 外部サービスと連携してない

Lambda+DynamoDBで友達管理

ユーザー毎のuserID管理にAWS Lambdaを使ってる

LambdaでRSS通知BOT

RSS(Webサイトの更新情報など)を受け取れる、複数サイトの更新管理に便利

声優ブログ更新通知BOT ※PHP

RSSじゃなくてURLの照合で更新判定してる

落語BOT

ソースコード載せてないけど、UX/UIがとてもいいアイデア

Template Message使ってるみたい

チラシ宅配BOT ※Ruby

Reply&Push機能から、ユーザ情報管理まで、丁寧で実践的な解説

誕生日お祝いBOT ※PHP

前編で入門(Reply)、後編で応用(Pushとユーザ情報管理)


補助・その他

データ構造まとめ

LINE BOTで扱う主要なJSON構造などをまとめてくれてる

新機能Template Messageを使ってみた ※Python

LINEの横スクロール機能!

商用LINE BOTサーバの実装例

LINE BOTを実運用する場合のサーバ構築例

1時間でLINE BOTを作るハンズオン (資料+レポート) in Node学園祭2017

LINE BOTハンズオンの内容と、参加者の応用作品がまとまっている


おまけ

Heroku+Pythonを使ってlinebotを作る方法doc

日経ネタ