【发布时间】:2015-06-24 14:02:31
【问题描述】:
我遇到了 node-irc 模块的问题。我试过this,但它似乎没有我正在寻找的信息。这是我的问题:当我打电话时:
new irc.Client("irc.freenode.net", "BotName", {channels: ["#bots"]});
我遇到了:
/home/915Ninja/node_modules/irc/lib/irc.js:864
var channelName = channel.split(' ')[0];
^
TypeError: Cannot call method 'split' of undefined
at Client.join (/home/915Ninja/node_modules/irc/lib/irc.js:864:32)
at Object.<anonymous> (/home/915Ninja/irc/bot.js:8:5)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3`
所以,我的问题是,我做错了什么?
我的代码:
var irc = require('irc');
var eval = require('eval');
var crypto = require('crypto');
var config = {server:"irc.freenode.net", nick:"Gh0stBot", channels:['#bots'], password:"", username:"Gh0stBot", realname:"Gh0stBot JS"};
var bot = new irc.Client(config.server, config.nick, {channels: ['#bots'], password:config.password, userName:config.username, realName:config.realname});
bot.join(config.channel);
bot.addListener('message', function(nickname, to, text, msg){ //skipped for brevity}
注意:我之前将它命名为 BotName 是通用的。
更新:我想通了。
我打电话给bot.join(config.channels),但我没有意识到join() 接收的是一个数组而不是一个字符串。
【问题讨论】:
-
你能发布更多你的代码吗?看起来错误不是因为 node-irc 而是你的函数有问题。
-
转到源代码,查看未定义的内容,然后将其追溯到您的代码。看起来
config.channel未定义。 -
@KevinB 我想通了,请参阅更新。
-
答案在“更新:”中。
标签: javascript node.js irc