Botkit和Aws Lambda

时间:2016-10-04 07:06:01

标签: aws-lambda botkit

如何部署在Aws Lambda中使用Botkit构建的slack bot。 如果是斜杠命令,我们可以使用下面的代码来响应事件。

exports.handler = function(event, context) {
    //Echo back the text the user typed in
    context.succeed('You sent: ' + event.text);
};

但不确定如何为Bots做同样的事情。使用Botkit(Howdy)的Bots的示例代码是

Controller.hears(['help'], 'direct_message,direct_mention,mention', (bot, message) => {
    bot.reply(message, {
        text: `You can ask me things like:
    "Search Contact"
    "Search Account"`
    });
});

1 个答案:

答案 0 :(得分:5)

Slack支持两种API集成样式RTM通过WebSockets(具有最低延迟的原始样式)和通过HTTP推送的事件API,只要您感兴趣的事情发生(更新,更高效,但通常不是更多的延迟)问题)。您可以在Slack events documentation中阅读更多内容。

截至今天,BotKit仅支持Slack中基于WebSockets的RTM API。 WebSockets不会在Lambda中运行,因为它们经常连接,这违反了基于Lambda函数处理特性的快速旋转/向下事件。

Howdy的BotKit团队了解这一点,并有兴趣添加对Slack Events API的支持。