I\'m trying to debug an existing Hubot script and in the future write my own, and I need an easy way to debug it or at least print values somewhere (but not to the channel). How
You can use
robot.logger.info "your log message here"
That will log it just like the other hubot messages get logged.
I have discovered the answer myself: console.log MSG
in a .coffee Coffeescript source does exactly what I needed.
I don't know if this helps but I found a way to inspect objects.
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)}"
This allowed be to see all the elements of the object so I could figure out what I was doing wrong...
Found this (coffeescript) snippet somewhere which logs all errors, quite helpful to add to bots in development.
robot.error (err, res) ->
robot.logger.error "#{err}\n#{err.stack}"
if res?
res.reply "#{err}\n#{err.stack}"