Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add Post support to Hubot

Tags:

I am trying to add the http-post-say.coffee script to a hubot app which is hosted on Heroku.

The documentation indicates that once you add the script then it creates the '/hubot/say' route which accepts post requests in the following format.

curl -X POST http://localhost:8080/hubot/say -d message=lala -d room='#dev' 

I added the script and modified the url but I received the following error: Cannot POST /hubot/say

My next step was to add some dependencies. I noticed that other apps using robot.router.post had these dependencies.

"htmlparser": "1.7.6", "connect": "2.3.4", "connect_router": "1.8.6", "scoped-http-client": "0.9.7" 

I deployed my changes but I still receive Cannot POST /hubot/say when I try to hit that route.

Is there anything that I'm missing? I'm not very familiar with Node.js or hubot.

like image 630
Dru Avatar asked Mar 07 '13 14:03

Dru


2 Answers

You have to understand that once you push your code on to heroku and make it run there, the URL no longer would be localhost but the actual heroku URL related to the machine that was created when you did heroku create.

The URL should look something like:

curl -X POST `http://herokumachinename/hubot/say -d message=lala -d room='#dev'` 
like image 62
Jalakam Sairam Avatar answered Sep 25 '22 13:09

Jalakam Sairam


To load a built-in script in Hubot, you must add it to hubot-scripts.json, e.g.:

["http-post-say.coffee"] 

(Since the script itself looks fine and it sounds like you've pushed to Heroku (restarting Hubot) it's the only thing I can think of that would explain it not working.)

like image 21
Benjie Avatar answered Sep 25 '22 13:09

Benjie