【问题标题】:Add Post support to Hubot为 Hubot 添加 Post 支持
【发布时间】:2013-03-07 14:40:56
【问题描述】:

我正在尝试将 http-post-say.coffee 脚本添加到 Heroku 上托管的 hubot 应用程序中。

文档表明,添加脚本后,它会创建'/hubot/say' 路由,该路由接受以下格式的发布请求。

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

我添加了脚本并修改了网址,但收到以下错误: Cannot POST /hubot/say

我的下一步是添加一些依赖项。我注意到使用robot.router.post 的其他应用程序具有这些依赖项。

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

我部署了我的更改,但当我尝试走这条路线时,我仍然收到Cannot POST /hubot/say

我有什么遗漏的吗?我对 Node.js 或 hubot 不是很熟悉。

【问题讨论】:

  • 你添加到哪个文件夹? scripts?
  • 日志是怎么说的?
  • 解决了吗?我试过你的脚本,它工作正常localhost:8080/hubot/say?message=lala&room=#dev
  • 当您添加http-post-say.coffee 脚本时,您是否也退出并重新启动了hubot 实例?除非 hubot 重新启动,否则更改不会生效。您还说您部署到 heroku,您是否希望 heroku hubot 响应 localhost:8080?或者您是否也有一个本地实例正在运行以进行测试?
  • 会不会是http-post-say.coffee 文件的权限问题?

标签: javascript node.js heroku http-post hubot


【解决方案1】:

您必须明白,一旦您将代码推送到 heroku 并让它在那里运行,URL 将不再是 localhost,而是与您执行 heroku create 时创建的机器相关的实际 heroku URL。

URL 应该类似于:

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

【讨论】:

    【解决方案2】:

    要在 Hubot 中加载内置脚本,必须将其添加到 hubot-scripts.json,例如:

    ["http-post-say.coffee"]
    

    (由于脚本本身看起来不错,而且听起来您已经推送到 Heroku(重新启动 Hubot),这是我能想到的唯一可以解释它不起作用的事情。)

    【讨论】:

      猜你喜欢
      • 2019-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 1970-01-01
      相关资源
      最近更新 更多