0
var settings = {
channels : ["#channelname"],
server : "irc.twitch.tv",
port: 6667,
secure: false,
nick : "myBot",
password : "oauth:numbers"
}

var irc = require("irc");

var bot = new irc.Client(settings.server, settings.nick, {
channels: [settings.channels + " " + settings.password],
debug: false,
password: settings.password,
username: settings.nick
});


bot.say(settings.channels, "I'm here!");

console.log("Connected");

这昨天对我有用,但现在它没有显示机器人甚至在频道中。

在命令行中,我使用节点 scriptname.js 启动脚本,它显示“已连接”。

我的配置错了吗?

有时它连接,有时它不连接。以下是运行时的机器人值: 在此处输入图像描述

4

1 回答 1

0

这是因为连接是异步发生的,您实际上并没有等待连接发生。它会立即打印“已连接”,但您从未真正连接或等待连接发生。bot.say在您真正连接之前不会做任何事情!

检测您是否已连接的正确方法是执行以下操作:

bot.on('registered', function(message) {
  console.log("Connected");

  bot.say(settings.channels, "I'm here!");
});
于 2014-07-30T20:49:09.323 回答