Edited at

LINE BOTをNode.jsで作る

More than 1 year has passed since last update.

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

日経ネタ