【问题标题】:Callback to slack bot in lambda在 lambda 中回调 slack 机器人
【发布时间】: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


    【解决方案1】:

    看看@slack/client 包,使用官方包更容易构建它。还有here你有一个如何使用它的例子,它是用打字稿写的,但基本上是一样的

    【讨论】:

      猜你喜欢
      • 2019-03-09
      • 2017-09-15
      • 2019-10-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-15
      • 1970-01-01
      • 1970-01-01
      • 2019-11-08
      相关资源
      最近更新 更多