add line push/reply , add fb parser post
This commit is contained in:
@@ -2,5 +2,6 @@ const Router = require('koa-router')
|
||||
const r = new Router()
|
||||
|
||||
r.use('/line', require('./line').routes())
|
||||
r.use('/fb', require('./facebook').routes())
|
||||
|
||||
module.exports = r
|
||||
|
||||
+16
-2
@@ -5,6 +5,9 @@ const rawBody = require('raw-body')
|
||||
const {
|
||||
verifyLine
|
||||
} = require('../../libs/middleware')
|
||||
const {
|
||||
textMessage
|
||||
} = require('../../libs/line-message')
|
||||
|
||||
const getRaw = async (c, n) => {
|
||||
let raw = await rawBody(c.req, {
|
||||
@@ -25,8 +28,19 @@ const getRaw = async (c, n) => {
|
||||
}
|
||||
|
||||
r.post('/', getRaw, verifyLine, async (c, n) => {
|
||||
console.log(c.request.body)
|
||||
if (!('event' in c.request.body)) return c.throw(400, 'data struct error')
|
||||
console.log(JSON.stringify(c.request.body, null, 2))
|
||||
if (!('events' in c.request.body)) return c.throw(400, 'data struct error')
|
||||
let evt = c.request.body.events || []
|
||||
evt.forEach(t => {
|
||||
let type = t.type
|
||||
switch (type) {
|
||||
case 'message':
|
||||
textMessage(t).catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
break
|
||||
}
|
||||
})
|
||||
c.body = 'success'
|
||||
c.status = 200
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user