Когда человек присоединяется с ником IRC - PullRequest
0 голосов
/ 08 октября 2019

Я создаю IRC-бота. Я хочу сделать так, чтобы каждый раз, когда кто-то присоединялся к IRC-каналу с определенным псевдонимом, он приветствовал их и говорил, что они являются подтвержденными пользователями хоста канала, и дает им возможность работать. Но я понятия не имею, что я мог бы сделать, чтобы сделать это.

Я использую node.js.

Я пытался:

bot.addListener("join", function(channel, who) {
    if((who|user|client).(nick|nickname) = "SlimeDiamond", "JS", "Super" { // The things in the brackets separated by the | are what I have tried there.
bot.say("Welcome, " + who + "! (Confirmed IRC channel host user)
} else {
return;
});

1 Ответ

2 голосов
/ 08 октября 2019

1. Сравните с == или ===, а не с =

Ваши условия должны быть примерно такими: if (who.nickname === "Something")

2. Используйте indexOf, если вы хотите проверить несколько значений

Вы не можете сделать if (someVariable == "value1", "value2", "value3"): вам нужно сделать if (["value1", "value2", "value3"].indexOf(someVariable) !== -1)

Документация для indexOf здесь

Итак, пока у нас есть if (["SlimeDiamond", "JS", "Super"].indexOf(who.nickname) !== -1) для условия

3. Прочитайте документы

Из документации здесь событие join можно прослушивать с помощью обратного вызова, который принимает следующие три аргумента:

  • channel
  • псевдоним
  • message

Я не проверял, но кажется, что ваш второй аргумент (who) здесь - это псевдоним, а не объект, содержащий псевдоним. Так что это должно работать:

bot.addListener("join", function(channel, who) {
    if(["SlimeDiamond", "JS", "Super"].indexOf(who) !== -1) {
        bot.say("Welcome, " + who + "!");
    } else {
        return;
    }
});
...