问题标签 [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.
heroku - 如何在 Slack 中使用 Hubot
这似乎是一个愚蠢的问题。
我已将 Hubot 部署到 Heroku,并根据此指令设置 Slack 提供的配置。但是我不知道 Hubot 是否应该作为我团队的成员出现。我可以通过 REST 发布一条消息,日志显示收到一条消息。
Hubot 是否应该成为我可以直接向其发送消息的团队中的一员,或者我缺少什么?
node.js - 为节点咖啡中的 hubot 发出的 GET 请求指定回调
我们本地的 Hubot(“Sparky”)运行大量插件脚本,并且通常运行良好。我正在编写一个插件脚本,它对 Yahoo Pipes 进行 GET 调用,并期望 JSONP 作为结果。但是,我不确定该_callback
参数使用什么。代码:
这得到的错误是:
我已经验证管道在使用 jQuery 的 ajax 函数时可以正常工作,但在这种情况下,jQuery 会设置自己的回调。
coffeescript - 阻止 Hubot(使用 Flowdock)对自身做出响应?
我将 Hubot 与 Hubot-Flowdock 适配器一起使用。
我robot.hear
用来回复带有特定字符串的消息(例如“巧克力”)。
然后我用一条消息调用msg.send
,其中也恰好包含触发字符串(“巧克力”)。
这会导致 Hubot 听到自己的声音,然后无休止地循环,一遍又一遍地触发。
我试图找到一种方法让 Hubot 不对自己做出响应。
据我所知,Hubot Campfire 适配器似乎包含一项特定检查,以防止 Hubot 监听自身:
但是,其他适配器似乎没有这个。
有没有另一种方法来编写一个 Hubot 脚本,robot.hear
这样msg.send
它就不会响应自己?
javascript - Hubot 正则表达式 - 在第一场比赛中停止,而不是尝试所有比赛?
我有一个简单的 Hubot 脚本,它正在寻找某些触发词,然后使用基于这些触发词的 URL 进行回复。
一个稍微做作的例子:
问题是,其中一个触发词(BIRD)是另一个触发词(YELLOWBIRD)的子串。
在这种情况下,我只想触发更具体的正则表达式(YELLOWBIRD)。
然而,Hubot 目前正在触发这两个正则表达式 - 即它将发送:
有没有办法让 Hubot 将正则表达式列表视为一个案例 - 例如,它将从顶部通过它们,并且它命中的第一个,它会爆发,而不是处理其余的?(或者如果那里有黄色,也许有一种方法可以让“BIRD”正则表达式忽略)。
还有一个额外的问题 - 是否有更好或更惯用的方式来组织这些正则表达式和回复?某种查找表之类的?
hubot - 如何让hubot听到其他关于Slack的集成评论?
我编写了如下咖啡脚本来使用 Hubot 在 Slack 上集成 mailchimp 和其他服务。
Hubot 确实听到了我和其他团队成员的评论,但不会听到 mailchimp 通知评论。有谁知道如何解决它?
谢谢你。
json - 使用 Hubot 解析 JIRA webhook
我正在尝试使用 Hubot 脚本解析 JIRA webhook。
目前,我只有一个非常简单的 Hubot 脚本来打印发布的正文:
打印出正文似乎有效 - 除了某些字段(例如问题、字段、报告者被打印为[Object]
:
我不完全确定为什么?
有效载荷未定义。
在 req.body 上使用 JSON.parse 似乎给了我一个Unexpected token o
:
这是因为身体已经以某种方式被解析了吗?如果是这样,是什么解析的?如果它已经被解析,为什么有些字段仍然显示为[Object]
?
regex - 在 Coffeescript 中匹配 Hubot 的名称
我想创建一个 Hubot 脚本来侦听如下所示的字符串:
Hubot
机器人名称在哪里。如果我们假设 bot 总是被命名hubot
,那么它是微不足道的:
但是名称当然可以有所不同,尽管包含在robot.name
变量中。
问题:如何将机器人的名称插入到正则表达式中? 这个问题似乎表明您可以只使用块正则表达式,但我尝试过:
它似乎没有用。
编辑:我有一个解决方法,我可以提取第二个单词并与机器人的名称进行比较,如下所示:
但这感觉相当笨拙,我希望能够将一个变量插入到正则表达式本身中。
node.js - 在 Windows 上安装 hubot 时出错
我正在 Windows 上安装 hubot。我从 github hubot 存储库中阅读了说明,但是当我尝试该命令时,bin/hubot
我收到以下错误
编辑
当我关闭 Apacheserver 时,出现以下错误
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)中的回调?确保我的回调在尝试拉取值之前完成?
ubuntu - Ubuntu上的Hubot错误:键入错误错误参数
在干净的最新 Ubuntu 桌面上安装了 Hubot。第一次尝试运行 Hubot 的结果是:
确保进行 apt-get 更新以获取最新信息。