我正在制作一个IRC机器人
我想说的是,每当有人以特定的昵称加入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.如果要检查多个值,请使用if (who.nickname === "Something")

你不能做indexOf:你需要做
if (someVariable == "value1", "value2", "value3")

Documentation for indexOf here

所以,到目前为止,我们有if (["value1", "value2", "value3"].indexOf(someVariable) !== -1)作为条件

3.阅读文档

documentation here中,可以使用带有以下三个参数的回调来监听if (["SlimeDiamond", "JS", "Super"].indexOf(who.nickname) !== -1)事件:


渠道
昵称
信息


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

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

关于javascript - 当某人以昵称IRC加入时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58282583/

10-09 20:45