将hubot作为Express应用程序的一部分运行

时间:2015-12-18 02:55:07

标签: regex node.js azure hubot slack-api

我有一个非常标准的express应用,使用express-generator构建。现在,我想使用hubot自动执行应用程序中的一些内容,并且我已成功执行测试并使用hubot适配器运行slack。但是,我希望机器人成为常规应用程序的一部分。

如何更改应用程序的结构(我有一个非常标准的routes.js导入,其中包含应用程序的所有路径)以允许两者一起运行?

这是作为azureWebApp上运行的,我已经设置了与GitHub的持续集成,所以我只是推送代码并将其部署,我不会&#39 ; t在实际服务器上手动运行任何内容。我可以运行hubot并在应用程序的不同子域或路径上将其服务器(如果它是常规VPS),但由于azure正在处理这些事情,我需要hubot以某种方式烘焙了实际的express应用。

2 个答案:

答案 0 :(得分:0)

据我所知,Hubot有一个可以为HTTP请求提供服务的内置快速Web框架。所以理论上你可以通过路由器在快递应用程序和hubot之间发送不同的URL来集成hubot和你的快速webapp。

作为参考,有一个实验包项目hubot-express将hubot显示为快速应用启动。您可以尝试引用代码https://github.com/hubot-scripts/hubot-express/blob/master/src/hubot-express.coffee来实现集成。

  

关键代码:robot.express = app = express();

文章“使用Hubot进行自动化和监控”显示了如何提供http请求的代码,请转到https://leanpub.com/automation-and-monitoring-with-hubot/read#leanpub-auto-serving-http-requests进行审核。

  

关键代码:robot.router.post('/hubot/notify/:room', function(req, res) {...});

答案 1 :(得分:0)

除此之外,我最终转移到了botkit库,它提供了更简单,更集成的方式来同时拥有服务器和实际应用程序。

相关问题