2016-10-04 10 views
3

Wie man einen slack Bot einsetzt, der mit Botkit in Aws Lambda gebaut wird. Wenn es sich um einen Slash-Befehl handelt, können wir auf das Ereignis mit dem folgenden Code reagieren.Botkit und Aws Lambda

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

aber nicht sicher, wie das gleiche für Suchmaschinen zu tun. Beispielcode für Bots mit Botkit (Howdy) ist

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

Antwort

4

Slack Unterstützung zwei API-Integration Arten RTM durch WebSockets (Originalausführung mit der niedrigsten Latenzzeit) und Events API HTTP geschoben, wenn etwas Sie sich interessieren passiert (neuere und effizienter, aber ein bisschen mehr Latenz, die normalerweise kein Problem ist). Sie können mehr in der Slack events documentation lesen.

BotKit unterstützt ab heute nur noch die RTM API in Slack, die auf WebSockets basiert. WebSockets würden in Lambda nicht funktionieren, da sie ständig verbunden sind, was gegen die schnelle Ereignisverarbeitung aufgrund der Ereignisabhängigkeit einer Lambda-Funktion steht.

Das BotKit-Team von Howdy ist sich dessen bewusst und möchte die Unterstützung für die Slack-Events-API erweitern.

+1

Botkit kündigte diese Woche API-Unterstützung an. https://medium.com/slack-developer-blog/botkit-is-better-with-slacks-events-api-f9a27e051591 Ich kann nicht sagen, ob es immer noch persistente Prozesse benötigt oder nicht. –