概要
普段は耳鼻科の開業医をしています。
以前obnizeのスピーカーからモスキート音を出し加齢性難聴をチェックするLINE Botを作成しました。
耳年齢を判定するLINE Bot×Iotの作成
今回、モスキート音をファイルに入れ、LINEで音声ファイルを再生できるようにしました。
作成方法
1.モスキート音を用意する
こちらを利用しました
Sine Tone Generator
『File Generator』の
『Hz』をモスキート音の周波数に設定、『duration』は3秒とし『DOWNROAD.WAV FILE』をクリックするとダウンロードできます。
各周波数分用意します。
2.publicフォルダを作ってwavファイルを設置
3.コードの追加
constconfig={channelSecret:process.env.CHANNEL_SECRET,channelAccessToken:process.env.CHANNEL_ACCESS_TOKEN};constapp=express();app.use(express.static('public'));//追加
3.wavファイルのURLを動的に取得する
app.post('/webhook'......内の処理を書き換える
Promise.all(req.body.events.map(event=>handleEvent(event,req))).then((result)=>res.json(result));
function handleEvent(event) { に引数を追加
functionhandleEvent(event,req){console.log(req);if(event.type!=='message'||event.message.type!=='text'){returnPromise.resolve(null);}
メッセージ内にURLを入れる
leturl;if(hz==0){url="";}elseif(hz==8000){url="デプロイしたボットのURL/public/8000.wav";}elseif(hz==10000){url="デプロイしたボットのURL/10000.wav";}elseif(hz==12000){url="デプロイしたボットのURL/12000.wav";}elseif(hz==14000){url="デプロイしたボットのURL/14000.wav";}elseif(hz==15000){url="デプロイしたボットのURL/15000.wav";}elseif(hz==16000){url="デプロイしたボットのURL/16000.wav";}
LINEで複数のメッセージを返信する
replyMessage(event.replyToken,[{type:"text",text:"第一のメッセージ"},{type:"text",text:'第二のメッセージ'}])