57 lines
966 B
JavaScript
57 lines
966 B
JavaScript
|
const axios = require('axios')
|
||
|
const config = require('../../config')
|
||
|
|
||
|
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 replyMessage = async (replyToken, message) => {
|
||
|
let url = '/message/reply'
|
||
|
let opts = {
|
||
|
method: 'post',
|
||
|
url,
|
||
|
data: {
|
||
|
replyToken,
|
||
|
messages: [
|
||
|
{
|
||
|
type: 'text',
|
||
|
text: message
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
await client(opts)
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
|
pushMessage,
|
||
|
replyMessage
|
||
|
}
|