Я создал слабого бота, который вызывает лямбда-обработчик. Функция в lambda проверяет полученный текст и отправляет сообщение слабому боту. По какой-то причине слабый бот продолжает повторять попытки три раза, так как он думает, что не получает обратного вызова, поэтому ответное сообщение печатается в слабом режиме три раза. Я попытался использовать обратный вызов вместо http-запроса, но это тоже не работает. Кто-нибудь знает, как не дать слабому боту снова и снова вызывать лямбду? Я закомментировал обратный вызов, так как он не работает.
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