Is there a script to do an auto-whois on a specific user every 5 mins? I'm trying to monitor when someone logs to a server. I'm using mIRC
3 Answers
You should use the irc notify command for this. That will tell you when a nick joins or leaves the network.
You should use the Notify List, essentially its a monitoring system that can notify you when someone on your list connects or disconnects from IRC.
You can add a nick using /notify nickname and remove it using /notify -r nickname. You can also access it using the address book dialog (/abook -n or alt+b -> Notify Tab).
you can also use the on notify event to customize the notification:
on *:notify:{
echo -s $nick has connected to $network $+ !
}
If you really want to just whois them every 5 minutes, you will have to hard code everything yourself, here is a basic idea of how to achieve this:
;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
}
}
which will return either:
[Monitor] "foobar" is not online!
or something like this:
[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 =~=~=~=~=~=~=~=
- 121
Two simple options:
Way1:
i would use the Notify option like the other man suggested.
do /help /notify
to learn more from the help mIRC..
some commands:
add: /notify +nickname
- the + is when the user is online it will whois him, just dont add too many otherwise the server will disconnect you because of a flood.
remove: /notify -r nickname
Way 2:
or you can do
/timer 0 300 whois nickname
0 - infinite times
300 - seconds between commands
whois nickname - command for whois.
- 163