Существует ли сценарий для автоматического добавления whois для конкретного пользователя каждые 5 минут? Я пытаюсь отслеживать, когда кто-то входит в систему на сервере. Я использую MIRC
3 ответа
Вы должны использовать ИРЦ уведомить команду для этого. Это скажет вам, когда ник присоединяется или покидает сеть.
Вы должны использовать Список уведомлений, по сути, это система мониторинга, которая может уведомлять вас, когда кто-то из вашего списка подключается или отключается от IRC.
Вы можете добавить ник, используя /notify nickname
и удалить его, используя /notify -r nickname
. Вы также можете получить к нему доступ через диалоговое окно адресной книги (/abook -n
или alt+b -> Notify Tab
).
Вы также можете использовать событие on notify для настройки уведомления:
on *:notify:{
echo -s $nick has connected to $network $+ !
}
Если вы действительно хотите, чтобы их кто-то получал каждые 5 минут, вам придется самим все кодировать жестко, вот основная идея, как этого добиться:
;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 =~=~=~=~=~=~=~=
Два простых варианта:
Way1:
Я бы использовал опцию «Уведомить», как предложил другой человек.
сделать / помочь / уведомить
узнать больше с помощью mIRC ..
некоторые команды:
добавить: / уведомить + ник
- + означает, что когда пользователь находится в сети, он будет определять его, просто не добавляйте слишком много, иначе сервер отключит вас из-за флуд.
удалить: / notify -r ник
Способ 2:
или вы можете сделать
/ таймер 0 300 никнейм
0 - бесконечные времена
300 секунд между командами
whois nickname - команда для whois.