Авто-Whois на MIRC?
Существует ли сценарий для автоматического добавления whois для определенного пользователя каждые 5 минут? Я пытаюсь отслеживать, когда кто-то входит в систему на сервере. Я использую MIRC
3 ответа
Для этого вы должны использовать команду irc notify. Это скажет вам, когда ник присоединяется или покидает сеть.
Два простых варианта:
Way1:
Я бы использовал опцию "Уведомить", как предложил другой человек.
сделать / помочь / уведомить
узнать больше с помощью mIRC..
некоторые команды:
добавить: /notify + ник
- + означает, что когда пользователь находится в сети, он будет определять его, просто не добавляйте слишком много, иначе сервер отключит вас из-за флуд.
удалить: / notify -r ник
Способ 2:
или вы можете сделать
/ таймер 0 300 никнейм
0 - бесконечные времена
300 секунд между командами
whois nickname - команда для whois.
Вы должны использовать Список уведомлений, по сути, это система мониторинга, которая может уведомлять вас, когда кто-то из вашего списка подключается или отключается от 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 =~=~=~=~=~=~=~=