我正在开发一个项目,用于检测irc聊天中的传入消息,如果消息左上或右上,则会模拟相应的左上方或下方按键上的按键,这样我就可以连接到twich irc并直播2048板,让观众从聊天中玩游戏。我正在使用node.js与库" irc"和" kbm-robot"。 irc库和kbm-robot库在它们分开的时候工作得很好但是当我将两个库文件放在" node_modules"文件夹和组合代码,irc库停止工作。当我尝试执行代码时,我得到错误" TypeError:对象#没有方法' addListener'"。这是我到目前为止编写的代码:
#!/usr/bin/env node
var irc = require('./irc/lib/irc.js');
var client = new irc.Client('irc.twitch.tv', 'themakat', {
channels: ["#themakat"],
nick: "themakat",
password: "oauth:(passkey)",
sasl: true
});
var kbmrobot = require("kbm-robot");
function right() {
kbmrobot.startJar();
kbmrobot.press("right")
.sleep(100)
.release("right")
.go()
.then(kbmrobot.stopJar);
};
function left() {
kbmrobot.startJar();
kbmrobot.press("left")
.sleep(100)
.release("left")
.go()
.then(kbmrobot.stopJar);
};
function up() {
kbmrobot.startJar();
kbmrobot.press("up")
.sleep(100)
.release("up")
.go()
.then(kbmrobot.stopJar);
};
function down() {
kbmrobot.startJar();
kbmrobot.press("down")
.sleep(100)
.release("down")
.go()
.then(kbmrobot.stopJar);
};
up();
irc.addListener('message#themakat', function(from, message) {
console.log('<%s> %s', from, message);
if ('right' == message) {
right();
console.log('right');
} else if ('left' == message) {
left();
console.log('left');
} else if ('up' == message) {
up();
console.log('up');
} else if ('down' == message) {
down();
console.log('down');
};
});
因为我只有13岁,所以我可能在解释我的情况时犯了一些愚蠢的错误。如果我有任何错误的解释,请纠正我,以便我知道以备将来参考。非常感谢你!
答案 0 :(得分:0)
您需要将irc.addListener(
更改为client.addListener(
。
希望这有帮助。
答案 1 :(得分:0)
您可能希望您的客户端而不是irc模块。
client.addlistener()
建议或更多(因为它更清晰/更清洁)
client.on()
您也可以通过添加错误处理程序来处理错误。
client.on('error', function(err) {
console.log(err);
});