Perl Hackers Hub
第44回 LINE Messaging APIで作るchatbot―LINE::Bot::APIとngrokでお手軽に!(1)
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは本連載の監修も務める大沢和宏さんで,
本稿のサンプルコードは,
LINE Messaging APIとは
Messaging APIはLINEのプラットフォーム上で動作するchatbot
筆者は現在LINE株式会社に勤務しており,
- 注1)
- 本稿ではbotの表記を,
一般的なチャットのためのbotを指す場合には 「chatbot」, LINEの製品としてのbotを指す場合には 「LINE BOT」, 本稿で作成されるbotを指す場合には 「bot」 と区別します。 - 注2)
- Java,
PHP, Go, Perl, Ruby, Pythonを提供しています。
LINE@について
Messaging APIが利用できるのは,
LINE@は,
LINE@のプラン
LINE@では,
bot開発の準備
みなさんがLINE BOTの開発を行うために必要な準備は,
- HTTPS上で動作するアプリケーションサーバの立ち上げ
- LINE@アカウントの作成
アプリケーションサーバの立ち上げのためには,
ngrokでHTTPS対応のAPIサーバを立ち上げる
Messaging APIでは,
ngrokとは,
バイナリを取得したら,ngrok http ポート番号
として実行します。ポート番号に5000を指定して実行すると,
---------1---------2---------3---------4---------5-----
ngrok by @inconshreveable (Ctrl+C to quit)
Session Status online
Version 2.1.18
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://?????.ngrok.io -> localhost:5000
Forwarding https://?????.ngrok.io -> localhost:5000
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
Web Interface
で示されたhttp://
は,
Forwarding
で示されたhttps://?????.ngrok.
http://
にトンネリングされています。
Plackでplackup -e 'sub { [200, [], ["OK"]] }
としてWebサーバを立ち上げてアクセスすることで,
- 注3)
- ?????の部分は筆者によるマスキングです。
LINE@アカウントを作成する
LINEで動作するbotを作成するためには,
LINE@アカウントを作成したあとに,
前項でngrokによりForwarding
で示されたURLを作成しましたが,https://?????.ngrok.
をDeveloper centerのWebhook URLに登録してください。登録後は,
- 注4)
- LINEアプリで
「・・・」 (その他) ➡ 「設定」 ➡ 「アカウント」 ➡ 「メールアドレス登録」 を開いた画面にてメールアドレスとパスワードの設定が必要です。
<続きの
本誌最新号をチェック!
WEB+DB PRESS Vol.129
2022年6月24日発売
B5判/168ページ
定価1,628円
(本体1,480円+税10%)
ISBN978-4-297-12890-6
- 特集1
Reactの深層
最新バージョンから読み解く! 変わる常識と変わらない思想 - 特集2
できるところから無理なく導入!
小さく始めるデザインシステム - 特集3
最新レコメンドエンジン総実装
協調フィルタリングから深層学習まで
バックナンバー
Perl Hackers Hub
- 第72回 初学者に伝えたい Perl学習の勘所 ―勉強会を10年運営して培ったノウハウ(2)
- 第72回 初学者に伝えたい Perl学習の勘所 ―勉強会を10年運営して培ったノウハウ(1)
- 第71回 ISUCONの実装から最近のPerlを学ぶ ―わかりやすく変更しやすいコードを実現する考え方と方法(2)
- 第71回 ISUCONの実装から最近のPerlを学ぶ ―わかりやすく変更しやすいコードを実現する考え方と方法(1)
- 第70回 Raisin入門 ―Rest APIマイクロフレームワークを使ってみよう!(2)
- 第70回 Raisin入門 ―Rest APIマイクロフレームワークを使ってみよう!(1)
- 第69回 表形式データを操るUNIXシェル型Perl製コマンド群 ―ビッグデータ時代の汎用的なデータ整備と分析のために(2)
- 第69回 表形式データを操るUNIXシェル型Perl製コマンド群 ―ビッグデータ時代の汎用的なデータ整備と分析のために(1)
- 第68回 他言語のライブラリをPerlに移植する(2)
- 第68回 他言語のライブラリをPerlに移植する(1)