问题标签 [hubot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
15194 浏览

heroku - 如何在 Slack 中使用 Hubot

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

我已将 Hubot 部署到 Heroku,并根据此指令设置 Slack 提供的配置。但是我不知道 Hubot 是否应该作为我团队的成员出现。我可以通过 REST 发布一条消息,日志显示收到一条消息。

Hubot 是否应该成为我可以直接向其发送消息的团队中的一员,或者我缺少什么?

0 投票
1 回答
734 浏览

node.js - 为节点咖啡中的 hubot 发出的 GET 请求指定回调

我们本地的 Hubot(“Sparky”)运行大量插件脚本,并且通常运行良好。我正在编写一个插件脚本,它对 Yahoo Pipes 进行 GET 调用,并期望 JSONP 作为结果。但是,我不确定该_callback参数使用什么。代码:

这得到的错误是:

我已经验证管道在使用 jQuery 的 ajax 函数时可以正常工作,但在这种情况下,jQuery 会设置自己的回调。

0 投票
1 回答
551 浏览

coffeescript - 阻止 Hubot(使用 Flowdock)对自身做出响应?

我将 Hubot 与 Hubot-Flowdock 适配器一起使用。

robot.hear用来回复带有特定字符串的消息(例如“巧克力”)。

然后我用一条消息调用msg.send,其中也恰好包含触发字符串(“巧克力”)。

这会导致 Hubot 听到自己的声音,然后无休止地循环,一遍又一遍地触发。

我试图找到一种方法让 Hubot 不对自己做出响应。

据我所知,Hubot Campfire 适配器似乎包含一项特定检查,以防止 Hubot 监听自身:

https://github.com/github/hubot/blob/b96ea30654ef2dbf93f710c6e310c909fa1bdd65/src/adapters/campfire.coffee#L71

但是,其他适配器似乎没有这个。

有没有另一种方法来编写一个 Hubot 脚本,robot.hear这样msg.send它就不会响应自己?

0 投票
2 回答
1262 浏览

javascript - Hubot 正则表达式 - 在第一场比赛中停止,而不是尝试所有比赛?

我有一个简单的 Hubot 脚本,它正在寻找某些触发词,然后使用基于这些触发词的 URL 进行回复。

一个稍微做作的例子:

问题是,其中一个触发词(BIRD)是另一个触发词(YELLOWBIRD)的子串。

在这种情况下,我只想触发更具体的正则表达式(YELLOWBIRD)。

然而,Hubot 目前正在触发这两个正则表达式 - 即它将发送:

有没有办法让 Hubot 将正则表达式列表视为一个案例 - 例如,它将从顶部通过它们,并且它命中的第一个,它会爆发,而不是处理其余的?(或者如果那里有黄色,也许有一种方法可以让“BIRD”正则表达式忽略)。

还有一个额外的问题 - 是否有更好或更惯用的方式来组织这些正则表达式和回复?某种查找表之类的?

0 投票
3 回答
841 浏览

hubot - 如何让hubot听到其他关于Slack的集成评论?

我编写了如下咖啡脚本来使用 Hubot 在 Slack 上集成 mailchimp 和其他服务。

Hubot 确实听到了我和其他团队成员的评论,但不会听到 mailchimp 通知评论。有谁知道如何解决它?

谢谢你。

0 投票
1 回答
1083 浏览

json - 使用 Hubot 解析 JIRA webhook

我正在尝试使用 Hubot 脚本解析 JIRA webhook。

目前,我只有一个非常简单的 Hubot 脚本来打印发布的正文:

打印出正文似乎有效 - 除了某些字段(例如问题、字段、报告者被打印为[Object]

我不完全确定为什么?

有效载荷未定义。

在 req.body 上使用 JSON.parse 似乎给了我一个Unexpected token o

这是因为身体已经以某种方式被解析了吗?如果是这样,是什么解析的?如果它已经被解析,为什么有些字段仍然显示为[Object]

0 投票
1 回答
1168 浏览

regex - 在 Coffeescript 中匹配 Hubot 的名称

我想创建一个 Hubot 脚本来侦听如下所示的字符串:

Hubot机器人名称在哪里。如果我们假设 bot 总是被命名hubot,那么它是微不足道的:

但是名称当然可以有所不同,尽管包含在robot.name变量中。

问题:如何将机器人的名称插入到正则表达式中? 这个问题似乎表明您可以只使用块正则表达式,但我尝试过:

它似乎没有用。

编辑:我有一个解决方法,我可以提取第二个单词并与机器人的名称进行比较,如下所示:

但这感觉相当笨拙,我希望能够将一个变量插入到正则表达式本身中。

0 投票
0 回答
766 浏览

node.js - 在 Windows 上安装 hubot 时出错

我正在 Windows 上安装 hubot。我从 github hubot 存储库中阅读了说明,但是当我尝试该命令时,bin/hubot我收到以下错误

编辑

当我关闭 Apacheserver 时,出现以下错误

0 投票
1 回答
505 浏览

javascript - Node Redis 命令的返回值:Hubot 和 Coffeescript

TL;DR如何从client.ttl回调中获取返回值以在getTTL函数外使用?

在这里使用 Hubot 和 Redis 学习 Coffeescript。我有一个函数没有返回我期望的值。此处的函数旨在获取 Redis 键的 TTL 并返回 TTL 值,例如 4000(秒)。这是我的咖啡脚本:

现在这里是用 JS 编译的:

咖啡脚本返回函数回调行为奇怪,我了解需要添加空return,但我仍然没有收到回调回复中的值。如果我将该函数与Hubot 中的Response 对象msg.send reply集成,我可以这样做,并且可以很好地输出返回值。

但是,如果我将函数的返回值分配给一个变量,例如ttl_val = getTTL "some-key",那么我只会得到一个返回的布尔值 ( true),我假设它是getTTL函数本身的退出状态。所以,我的问题是:

我做错了什么导致我无法在回调函数中接收回复值?我是否需要做类似如何等待咖啡脚本(或javascript)中的回调?确保我的回调在尝试拉取值之前完成?

0 投票
1 回答
191 浏览

ubuntu - Ubuntu上的Hubot错误:键入错误错误参数

在干净的最新 Ubuntu 桌面上安装了 Hubot。第一次尝试运行 Hubot 的结果是:

确保进行 apt-get 更新以获取最新信息。