add line push/reply , add fb parser post

This commit is contained in:
Jay
2018-06-26 18:04:19 +08:00
parent 075b68012e
commit f409e6ff61
6 changed files with 161 additions and 3 deletions
+1
View File
@@ -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
View File
@@ -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
})