Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8838

耳年齢判定ボットを改良(LINEで音声ファイルを再生)

$
0
0

概要

普段は耳鼻科の開業医をしています。
以前obnizeのスピーカーからモスキート音を出し加齢性難聴をチェックするLINE Botを作成しました。
耳年齢を判定するLINE Bot×Iotの作成

今回、モスキート音をファイルに入れ、LINEで音声ファイルを再生できるようにしました。

作成方法

1.モスキート音を用意する

こちらを利用しました
Sine Tone Generator

『File Generator』の
『Hz』をモスキート音の周波数に設定、『duration』は3秒とし『DOWNROAD.WAV FILE』をクリックするとダウンロードできます。
各周波数分用意します。

image.png

ダウンロードしたファイルを再生するとサイン音が聞こえます。
image.png

2.publicフォルダを作ってwavファイルを設置

image.png

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:'第二のメッセージ'}])

完成

image.png
image.png
image.png


Viewing all articles
Browse latest Browse all 8838

Trending Articles