- Ruby / Rails関連
READ MORE
BPSの福岡拠点として一緒にお仕事をさせていただいています、株式会社ウイングドアの田上です。
本日はタイトルの通り、Docker + ngrokを使ってLINEのオウム返しbotを作ってみたのでご紹介いたします🦜
公式サイトに従ってDocker for Macをインストールしてください。
ngrokを使うとローカル環境に立ち上げたWebアプリをお手軽にインターネットに外部公開することができます。
ngrok – secure introspectable tunnels to localhost
こちらも、公式サイトに従ってngrokをダウンロードしてください。
次に、LINEbotを動かすためのプログラムを準備していきます。
今回はプロジェクト構成を以下の通りにしました。
LINEBot_test
├── docker-compose.yml
├── nginx
│ └── nginx.conf
└── www
└── html
└── index.php
version: '3'
services:
nginx:
image: nginx:latest
ports:
- 8080:80
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
- ./www/html:/var/www/html
depends_on:
- php
php:
image: php:7.3-fpm
volumes:
- ./www/html:/var/www/html
server {
listen 80;
server_name _;
root /var/www/html;
index index.php index.html;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
LINEbotのプログラム部分となります。
Messaging APIのリファレンスを参考にリクエストメッセージを組み立てていきます。
参考:Messaging APIリファレンス | LINE Developers
docker-compose up -d
ngrok http -host-header="0.0.0.0:8080" 8080
httpsのURLでなければWebhook URLへの通知が届かないので注意してください。
実際にやってみましたが、Dockerとngrokがインストールされている前提で、
合計8分前後でオウム返しbotを作成することができました☺️
今回はオウム返しをするだけですが、Messaging APIは他にも様々な機能がありますので、是非いろいろ試してみてください❗️
株式会社ウイングドアでは、Ruby on RailsやPHPを活用したwebサービス、webサイト制作を中心に、
スマホアプリや業務系システムなど様々なシステム開発を承っています。