Question

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");

Cela a fonctionné hier pour moi, mais maintenant, elle ne montre pas le bot est de même dans le canal.

En ligne de commande j'ai lancer le script avec nœud scriptname.js et il dit "Connecté".

Est ma config de mal?

Parfois, il se connecte, d'autres pas du tout.Voici le bot valeurs lorsqu'il est en cours d'exécution:enter image description here

Était-ce utile?

La solution

C'est parce que la connexion se passe de manière asynchrone et vous n'êtes pas vraiment en attente d'une connexion.Il affiche "Connecté" immédiatement, mais vous n'avez jamais réellement connecté ou attendu pour une connexion à arriver encore. bot.say ne rien faire jusqu'à ce que vous êtes réellement connecté!

La bonne façon de détecter si vous êtes connecté est de faire quelque chose comme ceci:

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

  bot.say(settings.channels, "I'm here!");
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top