我正在尝试调试现有的 Hubot 脚本并在将来编写自己的脚本,我需要一种简单的方法来调试它或至少在某处打印值(但不是到通道)。我该怎么做?
如果这可以通过在某些交互式本地模式下使用 Node 来完成,则可以加分。我真的不知道从哪里开始。
Hubot 使用的所有脚本都是用 Coffeescript 编写的。
PS 我正在将 Hubot 与 Hipchat 一起使用。
我不知道这是否有帮助,但我找到了一种检查对象的方法。
Util = require "util"
module.exports = (robot) ->
robot.hear /hi robot/i, (msg) ->
user = robot.brain.usersForFuzzyName(msg.message.user.name)
msg.send "#{Util.inspect(user)}"
这允许查看对象的所有元素,这样我就可以弄清楚我做错了什么......
我自己发现了答案:console.log MSG
在 .coffee Coffeescript 源代码中完全符合我的需要。
您可以使用
robot.logger.info "your log message here"
这将像记录其他hubot消息一样记录它。
在某处发现了这个(咖啡脚本)片段,它记录了所有错误,这对于添加到开发中的机器人非常有帮助。
robot.error (err, res) ->
robot.logger.error "#{err}\n#{err.stack}"
if res?
res.reply "#{err}\n#{err.stack}"