[英]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.