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