我正在尝试编写一个Github Hubot脚本,使用TooTallNate的Node-Spotify-Web通过Spotify播放音乐,而我对CoffeeScript(Hubot脚本的编写语言)有些陌生。我在此处编写了第一个命令“播放”:
在运行bin/hubot时,我遇到了错误“语法错误,保留字‘function’”,所以我按照另一个StackOverflow问题中的建议将'function'更改为'->'。修改后如下所示:
lame = require('lame')
Speaker = require('speaker')
Spotify = require('spotify-web')
username = "INSERTUSERNAMEHERE"
password = "INSERTPASSWORDHERE"
robot.respond /play (.*)/i, (message) ->
uri = message.match[1]
Spotify.login(username, password, function (err, spotify)) {
if (err) throw err;
console.log('Playing: %s - %s', track.artist[0].name, track.name)
}
spotify.get(uri, function(err, track){
if err throw err;
message.send("Playing:" + track.artist[0].name, track.name)
})
在运行bin/hubot时,我遇到了错误“语法错误,保留字‘function’”,所以我按照另一个StackOverflow问题中的建议将'function'更改为'->'。修改后如下所示:
但仍然出现错误
错误:无法加载/home/xbmc/cbot/lisa/scripts/spotify: SyntaxError: 保留字"function"
这是因为依赖关系吗?我真的卡在这里了。
spotify.get(uri, ->(err, track){
. 另外,你只需要将格式化的代码放入 SO(或任何在线位置),就需要将制表符转换为空格。 - elclanrs->(err, track) { ... }
看起来像是 Ruby 的 "stabby" lambda,大致相当于function(err, track) { ... }
(JavaScript),或(err, track) -> ...
(CoffeeScript),或lambda { |err, track| ... }
(同样是 Ruby)。 - mu is too short