2018-06-26 10:04:19 +00:00
|
|
|
const axios = require('axios')
|
|
|
|
const config = require('../../config')
|
2018-06-26 16:59:53 +00:00
|
|
|
const DB = require('../database')
|
2018-06-26 10:04:19 +00:00
|
|
|
|
|
|
|
const client = axios.create({
|
|
|
|
baseURL: 'https://api.line.me/v2/bot',
|
|
|
|
headers: {
|
|
|
|
Authorization: `Bearer ${config.line.access}`
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const pushMessage = async (target, message = '') => {
|
|
|
|
if (typeof target !== 'string' || target.trim().length === 0) return
|
|
|
|
if (typeof message !== 'string' || message.trim().length === 0) return
|
|
|
|
|
|
|
|
let data = {
|
|
|
|
to: target,
|
|
|
|
messages: [
|
|
|
|
{
|
|
|
|
type: 'text',
|
|
|
|
text: message
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
let opts = {
|
|
|
|
method: 'post',
|
|
|
|
url: '/message/push',
|
|
|
|
data
|
|
|
|
}
|
|
|
|
|
|
|
|
await client(opts)
|
|
|
|
}
|
|
|
|
|
|
|
|
const textMessage = async (evt) => {
|
|
|
|
let replyURL = '/message/reply'
|
|
|
|
let {replyToken, source, message} = evt
|
|
|
|
if (!message || message.type !== 'text') return
|
|
|
|
let {text} = message
|
|
|
|
if (typeof text !== 'string') return
|
|
|
|
text = text.trim()
|
|
|
|
if (text.length === 0) return
|
2018-06-26 16:59:53 +00:00
|
|
|
let db = await DB.connect()
|
2018-06-26 10:04:19 +00:00
|
|
|
|
2018-06-26 16:59:53 +00:00
|
|
|
// let opts = {
|
|
|
|
// method: 'post',
|
|
|
|
// url: replyURL,
|
|
|
|
// data: {
|
|
|
|
// replyToken,
|
|
|
|
// messages: [
|
|
|
|
// {
|
|
|
|
// type: 'text',
|
|
|
|
// text: 'test message'
|
|
|
|
// }
|
|
|
|
// ]
|
|
|
|
// }
|
|
|
|
// }
|
2018-06-26 10:04:19 +00:00
|
|
|
|
2018-06-26 16:59:53 +00:00
|
|
|
// await client(opts)
|
|
|
|
db.release()
|
2018-06-26 10:04:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
textMessage,
|
|
|
|
pushMessage
|
|
|
|
}
|