[英]Run hubot as a part of express app
我有一个使用express-generator
构建的非常标准的express
应用。 现在,我想使用hubot
自动化应用程序中的hubot
并且我已经成功地执行了测试并使用slack
适配器运行hubot
。 但是,我希望该机器人成为常规应用程序的一部分。
如何更改应用程序的结构(我有相当标准的routes.js
导入,其中包含应用程序的所有路由),以允许两者一起运行?
这是作为WebApp
在azure
上运行的,并且我已经与GitHub
了持续集成,因此我几乎只是推送代码并进行了部署,因此我没有在实际服务器上手动运行任何内容。 如果它是常规的VPS,我将能够运行hubot
并将其存储在应用程序的其他子域或路径上,但是由于azure
正在处理这些事情,因此我需要以某种方式将hubot
烘焙到实际的express
应用程式。
据我所知,Hubot有一个内置的快速Web框架,可以处理HTTP请求。 因此,从理论上讲,您可以通过路由器在Express App和Hubot之间分配不同的URL,从而将Hubot与Express Web App集成在一起。
作为参考,有一个实验性的软件包项目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 -要求对其进行审查。
关键代码:
robot.router.post('/hubot/notify/:room', function(req, res) {...});
最后,我转移到botkit库,该库提供了一种更简单且集成的方式来同时拥有服务器和实际应用程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.