Commit 889c144c5142699a23c578e3f4ef7aff10e58eaa
1 parent
b9184255
Exists in
master
SW RICH MENU
Showing
1 changed file
with
44 additions
and
2 deletions
Show diff stats
index.js
| 1 | const https = require("https"); | 1 | const https = require("https"); |
| 2 | const express = require("express"); | 2 | const express = require("express"); |
| 3 | const app = express(); | 3 | const app = express(); |
| 4 | -const PORT = process.env.PORT || 3000; | 4 | +const PORT = process.env.PORT || 4000; |
| 5 | const axios = require("axios").default; | 5 | const axios = require("axios").default; |
| 6 | const TOKEN = | 6 | const TOKEN = |
| 7 | "NYy1k9OM7e/T7PgabnjafdqcxbRc58m7/K4A3kuNCVkoPxhBoZ/Jvg9gaarsqySG2BtvsoQcVgE4yulPaT1WJ7qTUyBaqegae+r8uh0oWrZO93zXIUILn3bOGUFtLmVFcTuBfRKgFHCaJhi1+wFQ6QdB04t89/1O/w1cDnyilFU="; | 7 | "NYy1k9OM7e/T7PgabnjafdqcxbRc58m7/K4A3kuNCVkoPxhBoZ/Jvg9gaarsqySG2BtvsoQcVgE4yulPaT1WJ7qTUyBaqegae+r8uh0oWrZO93zXIUILn3bOGUFtLmVFcTuBfRKgFHCaJhi1+wFQ6QdB04t89/1O/w1cDnyilFU="; |
| 8 | +const ContentService = require("./services/ContentService"); | ||
| 8 | 9 | ||
| 9 | app.use(express.json()); | 10 | app.use(express.json()); |
| 10 | app.use( | 11 | app.use( |
| @@ -70,12 +71,13 @@ const handleEvent = async (event, body) => { | @@ -70,12 +71,13 @@ const handleEvent = async (event, body) => { | ||
| 70 | 71 | ||
| 71 | if (event.message.type == "text") { | 72 | if (event.message.type == "text") { |
| 72 | let selecttext = tolow(event.message.text); | 73 | let selecttext = tolow(event.message.text); |
| 73 | - let get_text = mockText()[selecttext]; | 74 | + let get_text = ContentService.mockText()[selecttext]; |
| 74 | if (get_text) { | 75 | if (get_text) { |
| 75 | template_text = get_text; | 76 | template_text = get_text; |
| 76 | } | 77 | } |
| 77 | } else { | 78 | } else { |
| 78 | template_text.text = "Other Message =>>>" + JSON.stringify(event); | 79 | template_text.text = "Other Message =>>>" + JSON.stringify(event); |
| 80 | + return; | ||
| 79 | } | 81 | } |
| 80 | 82 | ||
| 81 | console.log("template_text", template_text); | 83 | console.log("template_text", template_text); |
| @@ -105,6 +107,21 @@ app.post("/webhook", function (req, res) { | @@ -105,6 +107,21 @@ app.post("/webhook", function (req, res) { | ||
| 105 | // If the user sends a message to your bot, send a reply message | 107 | // If the user sends a message to your bot, send a reply message |
| 106 | console.log("req.body.events ::", req.body.events); | 108 | console.log("req.body.events ::", req.body.events); |
| 107 | 109 | ||
| 110 | + if (req.body.events[0].type === "postback") { | ||
| 111 | + const user_id = req.body.events[0].source.userId; | ||
| 112 | + console.log(req.body.events[0].postback); | ||
| 113 | + console.log('user_id ::',user_id) | ||
| 114 | + console.log(req.body.events[0].postback == "Go MORE") | ||
| 115 | + if (req.body.events[0].postback.data == "Go MORE") { | ||
| 116 | + console.log('AA') | ||
| 117 | + sendSWRichMenu(user_id,"richmenu-a9995ce54d06a8c1438ea96bf74c02aa") | ||
| 118 | + } | ||
| 119 | + else if (req.body.events[0].postback.data == "GO BACK") { | ||
| 120 | + console.log('BB') | ||
| 121 | + sendSWRichMenu(user_id,"richmenu-589b58f237a7042a57a4cf1698895d18") | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | + | ||
| 108 | if (req.body.events[0].type === "message") { | 125 | if (req.body.events[0].type === "message") { |
| 109 | // Message data, must be stringified | 126 | // Message data, must be stringified |
| 110 | const dataString = JSON.stringify({ | 127 | const dataString = JSON.stringify({ |
| @@ -136,6 +153,8 @@ app.post("/webhook", function (req, res) { | @@ -136,6 +153,8 @@ app.post("/webhook", function (req, res) { | ||
| 136 | body: dataString, | 153 | body: dataString, |
| 137 | }; | 154 | }; |
| 138 | 155 | ||
| 156 | + | ||
| 157 | + | ||
| 139 | // Define request | 158 | // Define request |
| 140 | const request = https.request(webhookOptions, (res) => { | 159 | const request = https.request(webhookOptions, (res) => { |
| 141 | res.on("data", (d) => { | 160 | res.on("data", (d) => { |
| @@ -154,6 +173,22 @@ app.post("/webhook", function (req, res) { | @@ -154,6 +173,22 @@ app.post("/webhook", function (req, res) { | ||
| 154 | } | 173 | } |
| 155 | }); | 174 | }); |
| 156 | 175 | ||
| 176 | +const sendSWRichMenu = async (user_id,richmenu_id) => { | ||
| 177 | + // Request header | ||
| 178 | + const headers = { | ||
| 179 | + "Content-Type": "application/json", | ||
| 180 | + Authorization: "Bearer " + TOKEN, | ||
| 181 | + }; | ||
| 182 | + | ||
| 183 | + const URL = `https://api.line.me/v2/bot/user/${user_id}/richmenu/${richmenu_id}`; | ||
| 184 | + console.log('URL ::',URL); | ||
| 185 | + let res = await axios.post(URL,{}, { | ||
| 186 | + headers: headers, | ||
| 187 | + }).then(res=>{ | ||
| 188 | + console.log('res ::',res.data); | ||
| 189 | + }) | ||
| 190 | +}; | ||
| 191 | + | ||
| 157 | app.listen(PORT, () => { | 192 | app.listen(PORT, () => { |
| 158 | console.log(`Example app listening at http://localhost:${PORT}`); | 193 | console.log(`Example app listening at http://localhost:${PORT}`); |
| 159 | }); | 194 | }); |
| @@ -222,6 +257,13 @@ const mockText = () => { | @@ -222,6 +257,13 @@ const mockText = () => { | ||
| 222 | label: "Send location", | 257 | label: "Send location", |
| 223 | }, | 258 | }, |
| 224 | }, | 259 | }, |
| 260 | + { | ||
| 261 | + type: "action", | ||
| 262 | + action: { | ||
| 263 | + type: "camera", | ||
| 264 | + label: "Camera", | ||
| 265 | + }, | ||
| 266 | + }, | ||
| 225 | ], | 267 | ], |
| 226 | }, | 268 | }, |
| 227 | }, | 269 | }, |