使用 Ngrok + Perl 串接 LINE BOT Webhook
復習一下舊筆記 [使用 Perl 建立 Line API 運用環境]
https://xrcd2.blogspot.com/2016/12/perl-line-api.html
一樣是用 Linux + Ngrok + Perl 組合而來,
只是將 CentOS Linux 6.8 + Perl 5.25 (2016年)
改成 Oracle Linux 9.5 + Perl 5.32 (2024年)
參考 URL
https://github.com/line/line-bot-sdk-perl
https://github.com/line/line-bot-sdk-perl/blob/master/eg/echo.psgi
筆記如下:
dnf install perl-App-cpanminus.noarch
cpanm install Plack
cpanm install LINE::Bot::API
修改 echo.psgi 這一支程式,
在 62 行處 $messages->add_text( text => $event->text );
下方插入這行 $messages->add_text( text => $from_id);
讓 Line BOT Webhook 回傳 User_ID / Group_IP 資訊,可供程式傳送訊息使用.
其 User_ID 在 登入 https://developers.line.biz 後應該也是可以找到它的.
但 Group_ID 應該是僅能透過 Webhook 取出.(印象中)
所以才會有這個筆記的,而這個筆記取得的Group_ID,以後是用來發 Alert 用的.
另外也是要透過 https://ngrok.com 取得 ngrok 這支程式,
用它來將內部主機執行 echo.psgi 產出的 LINE BOT Webhook 服務
轉成一個在 Internet 上的 LINE BOT Webhook 服務.
如果不修改程式,也是可以在 plackup echo.psgi 後看到它.
看到的資訊如下所示:
[root@node1 tmp]# plackup --host 127.0.0.1 --port 9090 echo.psgi
HTTP::Server::PSGI: Accepting connections at http://127.0.0.1:9090/
message_id=536187989014348097, type=message(U74ea4XXXXXXXXXXXXXXXXXXXXXX866b1),
reply_token=774fa992d5bb449da5e829402b5b101e, timestamp=1732424250192 at /tmp/line-bot.pl line 50.
127.0.0.1 - - [24/Nov/2024:12:57:31 +0800] "POST /perl/callback HTTP/1.1" 200 2 "-" "LineBotWebhook/2.0"
message_id=536188075936579603, type=message(C39bdbXXXXXXXXXXXXXXXXXXXXXX32dea),
reply_token=bce83ae760d8480f8823d47c0a2ab5b4, timestamp=1732424302131 at /tmp/line-bot.pl line 50.
127.0.0.1 - - [24/Nov/2024:12:58:22 +0800] "POST /perl/callback HTTP/1.1" 200 2 "-" "LineBotWebhook/2.0"
開二個 SSH Session (1) / (2)
(1) 執行 echo.psgi
plackup --host 127.0.0.1 --port 9090 echo.psgi
(2) 執行 ngrok
ngrok config add-authtoken 2pHSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1EU7g
ngrok http 9090
================================================
ngrok (Ctrl+C to quit)
Sign up to try new private endpoints https://ngrok.com/new-features-update?ref=private
Session Status online
Account XXXXXXXXXXX@gmail.com (Plan: Free)
Version 3.18.4
Region Japan (jp)
Latency 39ms
Web Interface http://127.0.0.1:4040
Forwarding https://992c-XXX-XXX-XXX-XXX.ngrok-free.app -> http://localhost:9090
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
==============================================
將 Forwarding https://992c-XXX-XXX-XXX-XXX.ngrok-free.app 資訊填入 https://developers.line.biz 內.
即可完成 使用 Ngrok + Perl 串接 LINE BOT Webhook
Demo
沒有留言:
張貼留言