mIRC 上的 Auto-Whois?

mIRC 上的 Auto-Whois?

有没有脚本可以每 5 分钟自动查询特定用户的 whois?我想监控某人何时登录服务器。我使用的是 mIRC

答案1

你应该使用 irc通知命令。它将告诉您昵称何时加入或离开网络。

答案2

您应该使用通知列表,本质上它是一个监控系统,当列表中的某个人连接或断开 IRC 连接时它可以通知您。

您可以使用 添加昵称/notify nickname并使用 删除它/notify -r nickname。您也可以使用地址簿对话框(/abook -nalt+b -> Notify Tab)访问它。

您还可以使用 on notify 事件来自定义通知:

on *:notify:{
  echo -s $nick has connected to $network $+ !
}

如果您确实希望每 5 分钟检查一次他们的 whois,则必须自己对所有内容进行硬编码,以下是如何实现此目的的基本思路:

;trackee name
alias trackee return foobar

on *:connect:{
  ; start an infinite timer when we connect
  .timerCHECK_ONLINE 0 300 doWhois 
}

alias doWhois {
  ; set a flag and initiate a whois command 
  ; the flag is important to differentiate our whois from the user's
  set %docheck 1
  whois $trackee
}

raw *:*:{
  var %n = $numeric
  if (%docheck) {
    if (%n == 401) {
      echo -s [Monitor] $qt($2) is not online!
      ;clear the flag
      unset %docheck
    } 
    elseif (%n == 311) {
      ;start of whois
      echo -s [Monitor] =~=~=~=~=~=~=~= WHOIS START =~=~=~=~=~=~=~=
      echo -s [Monitor]      Nick: $2 $+([, $4, ])
      echo -s [Monitor] Real Name: $6
    }
    elseif (%n == 318) {
      ;end of whois
      echo -s [Monitor] =~=~=~=~=~=~=~=  WHOIS END  =~=~=~=~=~=~=~=
      ;clear the flag
      unset %docheck
    }
    elseif (%n == 312) {
      ; server
      echo -s [Monitor]    Server: $3 $+([, $4-,])
    }
    elseif (%n == 317) {
      ; idle time
      echo -s [Monitor]      Idle: $duration($calc($ctime - $4)) $&
        $+([, Since:, $chr(32), $asctime($4, hh:nn:ss TT mm/dd/yy), ])
    }
    ;elseif (%n == ...) add more numeric events here
    ;...

    ; stop mIRC's default text
    halt
  }
}

它将返回:

[Monitor] "foobar" is not online!

或者像这样:

[Monitor] =~=~=~=~=~=~=~= WHOIS START =~=~=~=~=~=~=~=
[Monitor]      Nick: foobar [FooNet-343F144.fooISP.net]
[Monitor] Real Name: John Doe
[Monitor]    Server: *.example.com [FooNet network]
[Monitor]      Idle: 6mins 38secs [Since: 05:19:07 PM 06/16/11]
[Monitor] =~=~=~=~=~=~=~=  WHOIS END  =~=~=~=~=~=~=~=

答案3

两个简单的选择:

方法一:
我会像其他人建议的那样使用 Notify 选项。
执行 /help /notify
以从帮助 mIRC 了解更多信息。
一些命令:
添加:/notify +nickname
- + 表示当用户在线时,它会查询他的 whois,不要添加太多,否则服务器会因为流量泛滥而断开您的连接。
删除:/notify -r nickname

方法二:
或者你可以执行
/timer 0 300 whois 昵称

0 - 无限次
300 - 命令之间的秒数
whois 昵称 - whois 命令。

相关内容