![見出し画像](https://assets.st-note.com/production/uploads/images/71001894/rectangle_large_type_2_68d295b6c061ebe99df872af7f29e7c5.png?width=1200)
Node-REDで問い合わせフォームと受け取りの仕組みを作ってみた
自分のホームページを公開して、数日経ちますが
やはりフィードバックを受け取れる仕組みが無いというのは少し問題があると感じています(もらえるかどうかは別です)
一応、メールアドレスだけは画像で表示していましたが…
メールを立ち上げてアドレスを入力してとなると面倒かもしれないです
![](https://assets.st-note.com/img/1643459585029-OlASWcdbHo.png?width=1200)
この問題を解消すべく、問い合わせ送信フォームと通知用のLINEBotを導入してみた次第です
送信フォームと通知用LINEBot
内容はいたってシンプル
![](https://assets.st-note.com/img/1643459835244-yl99tHfjvi.png?width=1200)
サイト内に設置してある問い合わせフォームに入力して送信ボタンを押す
そうすると
![](https://assets.st-note.com/img/1643459902745-ctXMk3Xb35.jpg?width=1200)
自身のLINEに送信内容が通知されます
以上
当たり前にある仕組みですが、自分で作ってみると意外と大変
(つまり、ありがたいってことです)
Node-REDの構成について紹介
![](https://assets.st-note.com/img/1643460922716-uHwwtGLhuu.png?width=1200)
問い合わせを処理する為のノードを追加しています
![](https://assets.st-note.com/img/1643461012476-9SdfAOttrR.png?width=1200)
<form action="/result" method="post"></form>でタグ内の内容について"/result"に向けて送信します
<input type>内のnameが送信されるメッセージの名前になります
msg.payload.form_name といった具合
![](https://assets.st-note.com/img/1643461363689-7zLqFMoxy9.png)
送信された内容を受け取るアドレスになりますので適宜設定
(今回でいうと "/result")
![](https://assets.st-note.com/img/1643461444993-DIWkrbl7P6.png?width=1200)
msg.payload に受け取った msg.payload.form_name と msg.payload.form_text を使って通知文を作り、上書きします
\n は改行
![](https://assets.st-note.com/img/1643461715628-KamNFhoTd8.png)
LINEBotのアカウント情報を適宜入力しましょう
LINE user id を特定する方法
問題にすらならないと思いきや、躓きましたので
何かの参考になれば幸いです
![](https://assets.st-note.com/img/1643462456182-1kiDvsdoYa.png)
何らかの形で(例えば/webhook等を使って)LINEからメッセージを受け取ってください
デバッグノードにて中身を見ると上記の図のようになっていますので
そのなかの userId が push message ノードの User Id or Group Id 欄に入ります
バックナンバーは私のサイトにもありますので
もちろん note 様より移動してもらっても結構でございます
一応紹介させてくださいませ
![](https://assets.st-note.com/img/1643462914916-jYiW2ruyhe.png?width=1200)
無料のherokuサーバーを使っているので、スリープから起動する際に30秒程度必要で、エラーになります
割と致命的な気もします
何か手立てを考える必要がありそうです