我試圖調試現有的Hubot腳本,並在將來編寫自己的腳本,並且我需要一種簡單的方法來調試它或至少在某處(但不是通道)打印值。我該怎麼做?在Hubot腳本中調試/打印
如果在一些交互式本地模式下僅使用Node就可以實現獎勵點。我真的不知道從哪裏開始。
Hubot使用的所有腳本都是用Coffeescript編寫的。
P.S.我正在和Hipchat一起使用Hubot。
我試圖調試現有的Hubot腳本,並在將來編寫自己的腳本,並且我需要一種簡單的方法來調試它或至少在某處(但不是通道)打印值。我該怎麼做?在Hubot腳本中調試/打印
如果在一些交互式本地模式下僅使用Node就可以實現獎勵點。我真的不知道從哪裏開始。
Hubot使用的所有腳本都是用Coffeescript編寫的。
P.S.我正在和Hipchat一起使用Hubot。
我自己發現了答案:console.log MSG
.coffee Coffeescript源代碼正是我所需要的。
我不知道這是否有幫助,但我找到了一種方法來檢查對象。
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)}"
這使得可以看到該對象的所有元素,所以我可以找出我做錯了......
@radixhound所以''msg.send「foo」'在你通過類似'bin/hubot'的東西啓動Hubot後打印到控制檯?在此之前初始化Hubot的步驟是什麼?謝謝! – mecampbellsoup
是的,我通過'bin/hubot'啓動Hubot,並將輸出放入迴應中。基本上從命令行啓動hubot並說'hi robot'並輸出信息。可能更好地做一些事情,而不是像「向我展示用戶」那樣。 – radixhound
您可以使用
robot.logger.info "your log message here"
這將只是其記錄像其他的hubot消息被記錄一樣。
找到這個(coffeescript)片段的地方記錄所有錯誤,相當有助於添加到機器人的發展。
robot.error (err, res) -> robot.logger.error "#{err}\n#{err.stack}" if res? res.reply "#{err}\n#{err.stack}"
您還可以運行留下了'-a'選項,這將讓你測試和調試腳本本地REPL。 –
@Artem你在本地運行什麼命令來讓hubot啓動和一切?我也想在這裏調試一個腳本:) – mecampbellsoup