LINE Botで送られてきたテキストごとに送信するメッセージを変えたいのですが、
現状のコードだと全てのテキストに反応してしまいます。
現状は以下のようなコードになっています。
どこにifを使えば良いのかご教授願います!
const express = require("express");
const path = require("path");
const PORT = process.env.PORT || 5000;
const line = require("@line/bot-sdk");
const config = {
channelAccessToken: process.env.ACCESS_TOKEN,
channelSecret: process.env.SECRET_KEY
};
const client = new line.Client(config); // 追加
express()
.use(express.static(path.join(__dirname, "public")))
.set("views", path.join(__dirname, "views"))
.set("view engine", "ejs")
.get("/", (req, res) => res.render("pages/index"))
.get("/g/", (req, res) => res.json({ method: "こんにちは、getさん" }))
.post("/p/", (req, res) => res.json({ method: "こんにちは、postさん" }))
.post("/hook/", line.middleware(config), (req, res) => lineBot(req, res))
.listen(PORT, () => console.log(Listening on ${PORT}
));
function lineBot(req, res) {
res.status(200).end();
const events = req.body.events;
const promises = [];
for (let i = 0, l = events.length; i < l; i++)
{
const ev = events[i];
promises.push(
lineBot(ev)
);
}
Promise.all(promises).then(console.log("success"));
}
function lineBot(ev) {
return client.replyMessage(ev.replyToken,
{
"type": "flex",
"altText": "this is a flex message",
"contents":
ーー追記ーー
参考にさせていただいたサイトは以下になります。
https://qiita.com/TakuTaku04/items/cb71f10669a9e9cbf71b
回答1件
あなたの回答
tips
プレビュー