Node.js HLTV scorebot无法正常工作

我无法绕过Node.js hltv scorebot( https://github.com/Nols1000/hltv-scorebot ),但当我连接到匹配id的hltv服务器时,我没有得到任何关于匹配的日志。 它只是做一些没有任何价值的日志,没有任何人抓住匹配hltv的实时数据,除了这个API之外,还有其他的方法可以做到这一点。 这是我的代码

var Scorebot = require('hltv-scorebot'); var io = require('socket.io').listen(8080); var client = io.sockets; client.on("connection", function(socket){ console.log("connected"); var match_id = socket.request._query['matchid']; console.log("match_id is " + match_id); var sb = new Scorebot(); sb.connect('http://scorebot.hltv.org',10022,478323); sb.on('kill', function(killer, victim, weapon, headshot, assister) { console.log("kill event"); console.log(killer, victim, weapon, headshot, assister); var killerName = killer.name; // Checking if assister exists if(assister) killerName = killer.name + " and " + assister.name; console.log(killer.name, 'killed', vicitim.name, 'with', weapon, headshot ? 'headshot' : ''); }); sb.on("time", function(time){ /*console.log("time event fired"); console.log(time);*/ socket.emit("msg", {type:"time", args: arguments}) }); sb.on("player", function(playermanager){ console.log("player"); for (var i in playermanager){ console.log(i); for (var j in playermanager[i]){ console.log(j); console.log(playermanager[i]); } } socket.emit("msg", {type:"player", args: arguments}) }); sb.on("assist", function(assister, victim){ /*console.log("assist"); console.log(assister, victim);*/ socket.emit("msg", {type:"assist", args: arguments}) }); sb.on("roundend", function(winner, tscore, ctscore){ /*console.log("roundend"); console.log(winner, tscore, ctscore);*/ socket.emit("msg", {type:"roundend", args: arguments}) }); sb.on("playerjoin", function(player){ /*console.log("playerjoin"); console.log(player);*/ socket.emit("msg", {type:"playerjoin", args: arguments}) }); socket.on("ttt", function(){process.exit(1)}); sb.on("playerquit", function(player){ /*console.log("playerquit"); console.log(player);*/ socket.emit("msg", {type:"playerquit", args: arguments}) }); sb.on('bombPlanted', function(bia) { /*console.log("bombPlanted"); console.log(bia);*/ socket.emit("msg", {type:"bombPlanted", args: arguments}) }); sb.on("roundstart", function(){ /*console.log("Round started");*/ socket.emit("msg", {type:"rountstart", args: arguments}) }); sb.on('score', function(score) { /*console.log("score"); console.log(score);*/ socket.emit("msg", {type:"score", args: arguments}) }); sb.on('mapchange', function(map) { socket.emit("msg", {type:"mapChange", args: arguments}) /*console.log("map"); console.log(map);*/ }); }); 

自从hltv-scorebot模块上次更新以来,HLTV对他们的scorebot做了很多改动。 我已经创build了一个分支( https://github.com/andrewda/hltv-livescore ),这是最新的HLTV变化。

您的代码看起来非常相似,因为hltv-scorebothltv-livescore的核心API几乎完全相同。 以下是您将如何开始使用它的一个基本示例:

 const Livescore = require('hltv-livescore'); const live = new Livescore({ listid: 478323 }); live.on('kill', (data) => { console.log('kill event'); console.log(data.killer.name, 'killed', data.victim.name, 'with', data.weapon, data.headshot ? '(headshot)' : ''); });