我创建了一个调用lambda处理程序的Slack机器人。 lambda中的函数检查收到的文本并将消息发送回slack bot。由于某种原因,slack僵尸程序会继续重试3次,因为它认为没有得到回调,因此所回复的消息会以3倍的松弛率打印出来。我尝试使用回调代替http发布请求,但这似乎也不起作用。有谁知道如何阻止Slack Bot一次又一次地调用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