我怎样才能在aws lambda中使用slack api?

时间:2018-03-12 02:37:37

标签: node.js lambda

我想在aws lambda函数中使用@slack / client的IncomingWebhook api。我的代码中存在一些问题。请注意我如何使用。

这是我的代码

const { IncomingWebhook } = require('@slack/client');
const config = require('./config')

exports.handler = (event, context, callback) => {
  const webhook = new IncomingWebhook(config.slack.webHookUrl)
  webhook.send('Hello there', function(err, res) {
    if (err) {
        console.log('Error:', err);
        context.fail('fail')
    } else {
        console.log('Message sent: ', res);
        context.succeed('succeed')
    }
  });
}

这是我的错误

{
  "errorMessage": "RequestId: 9e1b4362-259d-11e8-b422-91108e46ebe1
                    Process exited before completing request"
}

这是控制台错误

START RequestId:9e1b4362-259d-11e8-b422-91108e46ebe1版本:$ LATEST 2018-03-12T02:32:33.215Z 9e1b4362-259d-11e8-b422-91108e46ebe1 TypeError:无法设置undefined属性'text'     在IncomingWebhook.send(/var/task/node_modules/@slack/client/dist/IncomingWebhook.js:26:26)     在exports.handler(/var/task/index.js:6:11) END RequestId:9e1b4362-259d-11e8-b422-91108e46ebe1 报告RequestId:9e1b4362-259d-11e8-b422-91108e46ebe1持续时间:85.31 ms结算时长:100 ms内存大小:128 MB最大使用内存:31 MB
RequestId:9e1b4362-259d-11e8-b422-91108e46ebe1在完成请求之前退出流程

1 个答案:

答案 0 :(得分:0)

这是由于Slack客户端中的一个错误引起的,该错误在这里报告:https://github.com/slackapi/node-slack-sdk/issues/479,随后在https://github.com/slackapi/node-slack-sdk/releases/tag/v4.0.1中修复。简单升级到最新版本(在撰写本文时为v4.3.1)即可解决此问题。