javascript - 当某人以昵称 IRC 加入时

标签 javascript node.js irc

我正在制作一个 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/

相关文章:

javascript - Mongoose 尝试使用 Promise 处理预保存错误

c++ - 是否有用于 directx 9 c++ 的 irc 聊天室?

php - 如何让我的脚本不断检查变量?

javascript - 钛SQLite : Database pseudo array

javascript - 使用 JavaScript/jQuery 临时启用/禁用 "click sound"

node.js - 如何在 TypeScript 中向现有 Node 类(例如 Buffer)添加自定义静态方法?

mysql - 从nodejs mysql连接函数返回数据

javascript - 动态标记最大值

javascript - 如何使元素的边框闪烁?

c - 用于聊天窗口 irc 的 GTK 最佳小部件是什么?