我正在制作一个 IRC 机器人 我想做一件事,每当有人使用特定昵称加入 IRC channel 时,它就会欢迎他们,并说他们是已确认的 channel 主机用户,并为他们提供操作。但我不知道我能做些什么来做到这一点。
我正在使用带有 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 + "!"
} 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
事件:
- channel
- 昵称
- 消息
我没有测试,但似乎你的第二个参数(who
)在这里是昵称而不是包含昵称的对象。所以这应该有效:
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/