当人以昵称加入 IRC 时

When person joins with nickname IRC

我正在制作一个 IRC 机器人 我想做一件事,无论何时有人以特定昵称加入 IRC 频道,它都会欢迎他们并说他们是已确认的频道主持人用户并给予他们操作。但是我不知道我能做些什么来做到这一点。

我正在使用 node.js 和 irc 库。

我试过:

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 + "!"
} else {
return;
});

1。比较 ===== 而不是 =

您的条件需要类似于 if (who.nickname === "Something")

2。如果要检查多个值,请使用 indexOf

你做不到 if (someVariable == "value1", "value2", "value3"):你需要做 if (["value1", "value2", "value3"].indexOf(someVariable) !== -1)

Documentation for indexOf here

所以,到目前为止我们有 if (["SlimeDiamond", "JS", "Super"].indexOf(who.nickname) !== -1) 的条件

3。阅读文档

documentation here 开始,join 事件可以通过带有这三个参数的回调来监听:

  • 频道
  • 昵称
  • 留言

我没有测试,但您的第二个参数 (who) 似乎是昵称而不是包含昵称的对象。所以这应该有效:

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