如何部署在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"`
});
});
答案 0 :(得分:5)
Slack支持两种API集成样式RTM通过WebSockets(具有最低延迟的原始样式)和通过HTTP推送的事件API,只要您感兴趣的事情发生(更新,更高效,但通常不是更多的延迟)问题)。您可以在Slack events documentation中阅读更多内容。
截至今天,BotKit仅支持Slack中基于WebSockets的RTM API。 WebSockets不会在Lambda中运行,因为它们经常连接,这违反了基于Lambda函数处理特性的快速旋转/向下事件。
Howdy的BotKit团队了解这一点,并有兴趣添加对Slack Events API的支持。