标签: hubot

我可以在Javascript中为hubot编写脚本吗?

Hubot是Github的聊天室机器人.这是一个很棒的工具,除了我们公司没有人想写Coffeescript ....但似乎我们不能用普通的旧Javascript编写Hubot的脚本.
这是真的?这里有什么我想念的吗?Coffeescript是"只是javascript",但我不能使用Javascript吗?
编辑
我做了2个荒谬简单的错误:
- 我将CoffeeScript注释语法复制到我的JS文件中
- 我在hubot-scripts node_module下有脚本,而不是在主项目的/ scripts /目录下.

现在工作得很好.

javascript coffeescript hubot

32
推荐指数
2
解决办法
9323
查看次数

向Hubo​​t添加Post支持

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

文档表明,一旦添加脚本,它就会创建'/hubot/say'以下列格式接受发布请求的路由.

curl -X POST http://localhost:8080/hubot/say -d message=lala -d room='#dev'
Run Code Online (Sandbox Code Playgroud)

我添加了脚本并修改了网址,但收到了以下错误: 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"
Run Code Online (Sandbox Code Playgroud)

我部署了我的更改,但是Cannot POST /hubot/say当我尝试按此路线时仍然会收到.

有什么我想念的吗?我对Node.js或hubot不太熟悉.

javascript heroku http-post node.js hubot

25
推荐指数
1
解决办法
1761
查看次数

我在哪里可以看到hubot记录器消息?

我是hubot的新手,在那里我看到一个声明robot.logger.debug"在#{commit.url}上尝试gitio"

有人能告诉我在哪里可以看到这个调试消息.我正在使用./bin/hubot命令来运行它.有没有办法在调试模式下运行它?所以我可以看到调试消息?

node.js hubot

24
推荐指数
1
解决办法
1万
查看次数

无法安装hubot - 无法满足npm依赖性

在尝试部署hubot时,npm一直在抱怨未满足的依赖关系.该文档没有解释如何解决这个问题.

yum install npm --enablerepo=epel
yum install nodejs --enablerepo=epel
cd /opt
git clone https://github.com/github/hubot.git
cd hubot/
./bin/hubot --create acebot
npm install -g hubot coffee-script
...

npm http 200 https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz
npm http 200 https://registry.npmjs.org/uid2/-/uid2-0.0.2.tgz
/usr/bin/hubot -> /usr/lib/node_modules/hubot/bin/hubot
npm WARN unmet dependency /usr/lib/node_modules/block-stream requires inherits@'~2.0.0' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/fstream requires inherits@'~2.0.0' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is …
Run Code Online (Sandbox Code Playgroud)

hubot

19
推荐指数
1
解决办法
9365
查看次数

适用于Hubot的Google Hangouts适配器?

我目前正和Hubot玩一下,想把它连接到我和我的朋友聚会频道.问题是我似乎找不到适配器.可能不存在一个(因为最近谷歌环聊重新改造了他们的api)但我想先问你.

我发现了

TL; DR:是否有最新的Google Hangouts适配器?

hubot hangout

17
推荐指数
1
解决办法
2527
查看次数

让Hubot在特定时间谈话?

我正在考虑制作一个基于Hubot时钟的通知器(想想"它是5,回家的时间!"但不那么讨厌,并且出于不同的原因).在Hubot脚本中执行此类操作的最佳方法是什么?

[ edit ]以下是使用node-cron的示例:

TIMEZONE = "America/New_York"
QUITTING_TIME = '0 0 17 * * 2-6' # M-F 5pm
ROOM = "Dev"

cronJob = require('cron').CronJob

module.exports = (robot) ->
        gohome = new cronJob QUITTING_TIME,
                ->
                        robot.messageRoom ROOM, "It's 5!  Go home!"
                null
                true
                TIMEZONE
Run Code Online (Sandbox Code Playgroud)

依赖关系:

"cron": "0.3.3",
"time": "0.8.2"
Run Code Online (Sandbox Code Playgroud)

node.js coffeescript hubot

15
推荐指数
2
解决办法
5209
查看次数

在Hubot脚本中调试/打印

我正在尝试调试现有的Hubot脚本,并在将来编写我自己的脚本,我需要一种简单的方法来调试它,或者至少在某处(而不是通道)打印值.我怎么能这样做?

如果可以在某些交互式本地模式下使用Node完成此操作,则可获得奖励积分.我真的不知道从哪里开始.

Hubot使用的所有脚本都是用Coffeescript编写的.

PS我正在使用Hubot和Hipchat.

node.js hubot

13
推荐指数
2
解决办法
7022
查看次数

如何在ElasticSearch中组合多个查询

这里是参考代码.我正在尝试制作一个hubot插件,记录到elasticsearch,然后使用hubot命令搜索这些日志.

https://gist.github.com/4050748

我正在尝试检索匹配两个查询的记录.

{ 
  query: { 
        match: {
          user: "SomeUsername" 
        }, 
        range: {
          date: {
            from: (Date.now() - 3600) 
          }
        }
  },
  size: 50 
}
Run Code Online (Sandbox Code Playgroud)

我在期待:

  • 最多50条记录
  • 具有给定用户的记录
  • 过去一小时的记录

我有:

  • 最多10条记录
  • 具有给定用户的记录
  • 从任何时候

如何在过去一小时内获得所有带有用户名的记录?我是否需要将match_all与过滤器一起使用?我试图不受支持吗?

在SQL中它将是这样的:

Select (*) from messages where user_name = ? and time > ?
Run Code Online (Sandbox Code Playgroud)

coffeescript elasticsearch hubot

12
推荐指数
2
解决办法
1万
查看次数

如何在Slack中使用Hubot

这似乎是一个愚蠢的问题.

我已经将Hubot部署到Heroku并根据Slack设置了这条指令给出的配置.但是我不知道Hubot是否应该出现在我的团队中.我可以通过REST发布消息,日志显示收到消息.

如果Hubot成为团队中的成员,我可以直接发送消息或者我遗漏了什么?

heroku hubot slack-api

12
推荐指数
2
解决办法
2万
查看次数

你如何在Slack的hubot cron脚本中提及用户,如果他们的通知设置打开,他们可以将其视为通知?

我有这个hubot-cron脚本为Slack设置了heroku.只有一个例外,效果很好.如果你在Slack中'@'某人(提及),用户将收到通知,具体取决于他们的通知设置.这样写的方式,如果在命令文本中放入用户名,Slack不会将其注册为用户,只是文本.

例如:

hubot新工作2*****"@everyone testing"

如果每两分钟发布一次,它可能会写@everyone,但Slack并不认为它实际上是'@everyone'.

使用此代码可以做什么,以便您可以将作业实际指向@user?

# Description:
#   register cron jobs to schedule messages on the current channel
#
# Commands:
#   hubot new job "<crontab format>" <message> - Schedule a cron job to say something
#   hubot new job <crontab format> "<message>" - Ditto
#   hubot new job <crontab format> say <message> - Ditto
#   hubot list jobs - List current cron jobs
#   hubot remove job <id> - remove job
#   hubot remove job with message <message> …
Run Code Online (Sandbox Code Playgroud)

cron hubot slack-api

12
推荐指数
1
解决办法
3038
查看次数