【发布时间】:2019-04-16 16:56:09
【问题描述】:
我创建了一个调用 lambda 处理程序的 slack 机器人。 lambda 中的函数检查接收到的文本并将消息发送回 slack bot。出于某种原因,slack bot 不断重试 3 次,因为它认为它没有得到回调,所以回复的消息在 slack 中打印了 3 次。我尝试过使用回调而不是 http 发布请求,但这似乎也不起作用。有谁知道如何阻止 slack 机器人一次又一次地调用 lambda?我已经注释掉了回调,因为它不起作用。
function sendToSlack (messages, callback) {
return new Promise((resolve, reject) => {
// callback(null, {
// statusCode: 200,
// body: JSON.stringify({"text": "Hello"})
// })
// return resolve()
let httpReq = http.request(slackHookReqObj, (res) => {
resolve()
})
httpReq.on('error', reject)
httpReq.write(JSON.stringify({ "text": messages.join('\n') }))
httpReq.end()
})
}
async function test (event, context, callback) {
return new Promise(async (resolve, reject) => {
let slackEvent = JSON.parse(event.body)
if (slackEvent.event.type === 'app_mention') {
if (receivedText[1] == 'help') {
var helpMessages = ['test']
if (helpMessages.length) await sendToSlack(helpMessages, callback)
}
}
return resolve()
})
}
exports.handler = test
【问题讨论】:
标签: lambda callback nodes bots slack