我在IRC上运行了一个Hubot实例。在我的脚本目录中,我有几个链接到外部python脚本的coffeescripts。我的问题是我的数据应该在外部脚本中的其他数据之前打印出来,例如“处理请求。请稍候......”等,Hubot等待整个脚本完全执行并立即转储输出IRC 。
如何修改我的coffeescripts,以便在收到外部脚本时通过输出发送?
coffeescript示例:
# Commands:
# Hubot jira-add-comment <ticket> "comment" - Add given comment to a JIRA ticket
{spawn} = require 'child_process'
module.exports = (robot) ->
addComment = (msg,ticket,comment) ->
output = spawn "/path/to/externalscript.py", [ticket,comment]
output.stdout.on 'data', (data) ->
msg.send data.toString()
robot.respond /jira-add-comment (\w+-\d+) (.+)$/i, (msg) ->
addComment(msg,msg.match[1].trim(),msg.match[2])
谢谢!
答案 0 :(得分:0)
可能是因为你的示例脚本中的缩进不好吗?
output.stdout.on 'data', (data) ->
msg.send data.toString()
应该是:
output.stdout.on 'data', (data) ->
msg.send data.toString()