line |
!l |
l&&!r |
l&&r |
condition |
90
|
0 |
0 |
0 |
!keys(%{$$self{'NickList'};}) || $$self{'NickList'}{$nick}{'oper'} and $text eq 'You are already in the hub.' |
119
|
0 |
0 |
0 |
not $$self{'count_parse'}{'chatline'} and $text =~ /PtokaX/i |
123
|
0 |
0 |
0 |
$$self{'NickList'}{$nick}{'oper'} and $text eq 'Sorry Hub is busy now, no search, try later..' |
129
|
0 |
0 |
0 |
keys %{$$self{'NickList'};} && exists $$self{'NickList'}{$nick} |
130
|
0 |
0 |
0 |
$$self{'auto_bug'} and $nick eq 'VerliHub' |
|
0 |
0 |
0 |
$$self{'auto_bug'} and $nick eq 'VerliHub' and $text =~ /^This Hub Is Running Version 0.9.8d/i |
228
|
0 |
0 |
0 |
$$self{'follow_forcemove'} and $to |
292
|
0 |
0 |
0 |
$found and $tth |
320
|
0 |
0 |
0 |
$$params{'ip'} && $$params{'udp'} |
343
|
0 |
0 |
0 |
$$params{'ip'} and $$params{'udp'} |
431
|
0 |
0 |
0 |
$$self{'min_chat_delay'} and time - $$self{'last_chat_time'} < $$self{'min_chat_delay'} |
482
|
0 |
0 |
0 |
$$self{'M'} eq 'P' and not $$self{'allow_passive_ConnectToMe'} |
548
|
0 |
0 |
0 |
$$self{'M'} ne 'P' && $$self{'myip'} && $$self{'myport_udp'} |
line |
l |
!l&&r |
!l&&!r |
condition |
67
|
0 |
0 |
0 |
$$self{$_} //= $_{$_} |
75
|
0 |
0 |
0 |
$$self{$_} ||= ($$self{'parent'}{$_} ||= {}) |
90
|
0 |
0 |
0 |
!keys(%{$$self{'NickList'};}) || $$self{'NickList'}{$nick}{'oper'} |
92
|
0 |
0 |
0 |
$$self{'NickList'}{$nick}{'oper'} or $$self{'NickList'}{$nick}{'hubbot'} |
|
0 |
0 |
0 |
$$self{'NickList'}{$nick}{'oper'} or $$self{'NickList'}{$nick}{'hubbot'} or $nick eq 'Hub-Security' |
93
|
0 |
0 |
0 |
$text =~ /\x{41c}\x{438}\x{43d}\x{438}\x{43c}\x{430}\x{43b}\x{44c}\x{43d}\x{44b}\x{439} \x{438}\x{43d}\x{442}\x{435}\x{440}\x{432}\x{430}\x{43b} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{430} \x{441}\x{43e}\x{441}\x{442}\x{430}\x{432}\x{43b}\x{44f}\x{435}\x{442}: \(Minimum search interval is:\) (\d+)\x{441}\x{435}\x{43a}\x{443}\x{43d}\x{434} \(seconds\)/ or $text =~ /^(?:Minimum search interval is|\x{41c}\x{438}\x{43d}\x{438}\x{43c}\x{430}\x{43b}\x{44c}\x{43d}\x{44b}\x{439} \x{438}\x{43d}\x{442}\x{435}\x{440}\x{432}\x{430}\x{43b} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{430}):(\d+)s/ |
|
0 |
0 |
0 |
$text =~ /\x{41c}\x{438}\x{43d}\x{438}\x{43c}\x{430}\x{43b}\x{44c}\x{43d}\x{44b}\x{439} \x{438}\x{43d}\x{442}\x{435}\x{440}\x{432}\x{430}\x{43b} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{430} \x{441}\x{43e}\x{441}\x{442}\x{430}\x{432}\x{43b}\x{44f}\x{435}\x{442}: \(Minimum search interval is:\) (\d+)\x{441}\x{435}\x{43a}\x{443}\x{43d}\x{434} \(seconds\)/ or $text =~ /^(?:Minimum search interval is|\x{41c}\x{438}\x{43d}\x{438}\x{43c}\x{430}\x{43b}\x{44c}\x{43d}\x{44b}\x{439} \x{438}\x{43d}\x{442}\x{435}\x{440}\x{432}\x{430}\x{43b} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{430}):(\d+)s/ or $text =~ /Search ignored\. Please leave at least (\d+) seconds between search attempts\./ |
|
0 |
0 |
0 |
$text =~ /\x{41c}\x{438}\x{43d}\x{438}\x{43c}\x{430}\x{43b}\x{44c}\x{43d}\x{44b}\x{439} \x{438}\x{43d}\x{442}\x{435}\x{440}\x{432}\x{430}\x{43b} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{430} \x{441}\x{43e}\x{441}\x{442}\x{430}\x{432}\x{43b}\x{44f}\x{435}\x{442}: \(Minimum search interval is:\) (\d+)\x{441}\x{435}\x{43a}\x{443}\x{43d}\x{434} \(seconds\)/ or $text =~ /^(?:Minimum search interval is|\x{41c}\x{438}\x{43d}\x{438}\x{43c}\x{430}\x{43b}\x{44c}\x{43d}\x{44b}\x{439} \x{438}\x{43d}\x{442}\x{435}\x{440}\x{432}\x{430}\x{43b} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{430}):(\d+)s/ or $text =~ /Search ignored\. Please leave at least (\d+) seconds between search attempts\./ or $text =~ /\x{41c}\x{438}\x{43d}\x{438}\x{43c}\x{430}\x{43b}\x{44c}\x{43d}\x{44b}\x{439} \x{438}\x{43d}\x{442}\x{435}\x{440}\x{432}\x{430}\x{43b} \x{43c}\x{435}\x{436}\x{434}\x{443} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{43e}\x{432}\x{44b}\x{43c}\x{438} \x{437}\x{430}\x{43f}\x{440}\x{43e}\x{441}\x{430}\x{43c}\x{438}:(\d+)\x{441}\x{435}\x{43a}., \x{43f}\x{43e}\x{43f}\x{440}\x{43e}\x{431}\x{443}\x{439}\x{442}\x{435} \x{447}\x{443}\x{442}\x{44c} \x{43f}\x{43e}\x{437}\x{436}\x{435}/ |
|
0 |
0 |
0 |
$text =~ /\x{41c}\x{438}\x{43d}\x{438}\x{43c}\x{430}\x{43b}\x{44c}\x{43d}\x{44b}\x{439} \x{438}\x{43d}\x{442}\x{435}\x{440}\x{432}\x{430}\x{43b} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{430} \x{441}\x{43e}\x{441}\x{442}\x{430}\x{432}\x{43b}\x{44f}\x{435}\x{442}: \(Minimum search interval is:\) (\d+)\x{441}\x{435}\x{43a}\x{443}\x{43d}\x{434} \(seconds\)/ or $text =~ /^(?:Minimum search interval is|\x{41c}\x{438}\x{43d}\x{438}\x{43c}\x{430}\x{43b}\x{44c}\x{43d}\x{44b}\x{439} \x{438}\x{43d}\x{442}\x{435}\x{440}\x{432}\x{430}\x{43b} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{430}):(\d+)s/ or $text =~ /Search ignored\. Please leave at least (\d+) seconds between search attempts\./ or $text =~ /\x{41c}\x{438}\x{43d}\x{438}\x{43c}\x{430}\x{43b}\x{44c}\x{43d}\x{44b}\x{439} \x{438}\x{43d}\x{442}\x{435}\x{440}\x{432}\x{430}\x{43b} \x{43c}\x{435}\x{436}\x{434}\x{443} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{43e}\x{432}\x{44b}\x{43c}\x{438} \x{437}\x{430}\x{43f}\x{440}\x{43e}\x{441}\x{430}\x{43c}\x{438}:(\d+)\x{441}\x{435}\x{43a}., \x{43f}\x{43e}\x{43f}\x{440}\x{43e}\x{431}\x{443}\x{439}\x{442}\x{435} \x{447}\x{443}\x{442}\x{44c} \x{43f}\x{43e}\x{437}\x{436}\x{435}/ or $text =~ /You can do 1 searches in (\d+) seconds/ |
103
|
0 |
0 |
0 |
rand(5) + $1 || $$self{'search_every_min'} |
107
|
0 |
0 |
0 |
$text =~ /(?:\x{41f}\x{43e}\x{436}\x{430}\x{43b}\x{443}\x{439}\x{441}\x{442}\x{430} )?\x{43f}\x{43e}\x{434}\x{43e}\x{436}\x{434}\x{438}\x{442}\x{435} (\d+) \x{441}\x{435}\x{43a}\x{443}\x{43d}\x{434} \x{43f}\x{435}\x{440}\x{435}\x{434} \x{441}\x{43b}\x{435}\x{434}\x{443}\x{44e}\x{449}\x{438}\x{43c} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{43e}\x{43c}\./i or $text =~ /(?:Please )?wait (\d+) seconds before next search\./i |
|
0 |
0 |
0 |
$text =~ /(?:\x{41f}\x{43e}\x{436}\x{430}\x{43b}\x{443}\x{439}\x{441}\x{442}\x{430} )?\x{43f}\x{43e}\x{434}\x{43e}\x{436}\x{434}\x{438}\x{442}\x{435} (\d+) \x{441}\x{435}\x{43a}\x{443}\x{43d}\x{434} \x{43f}\x{435}\x{440}\x{435}\x{434} \x{441}\x{43b}\x{435}\x{434}\x{443}\x{44e}\x{449}\x{438}\x{43c} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{43e}\x{43c}\./i or $text =~ /(?:Please )?wait (\d+) seconds before next search\./i or $text eq 'Пожалуйста не используйте поиск так часто!' |
|
0 |
0 |
0 |
$text =~ /(?:\x{41f}\x{43e}\x{436}\x{430}\x{43b}\x{443}\x{439}\x{441}\x{442}\x{430} )?\x{43f}\x{43e}\x{434}\x{43e}\x{436}\x{434}\x{438}\x{442}\x{435} (\d+) \x{441}\x{435}\x{43a}\x{443}\x{43d}\x{434} \x{43f}\x{435}\x{440}\x{435}\x{434} \x{441}\x{43b}\x{435}\x{434}\x{443}\x{44e}\x{449}\x{438}\x{43c} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{43e}\x{43c}\./i or $text =~ /(?:Please )?wait (\d+) seconds before next search\./i or $text eq 'Пожалуйста не используйте поиск так часто!' or $text eq q[Please don't flood with searches!] |
|
0 |
0 |
0 |
$text =~ /(?:\x{41f}\x{43e}\x{436}\x{430}\x{43b}\x{443}\x{439}\x{441}\x{442}\x{430} )?\x{43f}\x{43e}\x{434}\x{43e}\x{436}\x{434}\x{438}\x{442}\x{435} (\d+) \x{441}\x{435}\x{43a}\x{443}\x{43d}\x{434} \x{43f}\x{435}\x{440}\x{435}\x{434} \x{441}\x{43b}\x{435}\x{434}\x{443}\x{44e}\x{449}\x{438}\x{43c} \x{43f}\x{43e}\x{438}\x{441}\x{43a}\x{43e}\x{43c}\./i or $text =~ /(?:Please )?wait (\d+) seconds before next search\./i or $text eq 'Пожалуйста не используйте поиск так часто!' or $text eq q[Please don't flood with searches!] or $text eq 'Sorry Hub is busy now, no search, try later..' |
114
|
0 |
0 |
0 |
rand(5) + $1 || $$self{'search_every_min'} |
129
|
0 |
0 |
0 |
not keys %{$$self{'NickList'};} && exists $$self{'NickList'}{$nick} or $$self{'NickList'}{$nick}{'oper'} |
130
|
0 |
0 |
0 |
$text =~ /Bad nickname: Wait (\d+)sec before reconnecting/i or $text =~ /\x{41f}\x{43e}\x{436}\x{430}\x{43b}\x{443}\x{439}\x{441}\x{442}\x{430} \x{43f}\x{43e}\x{434}\x{43e}\x{436}\x{434}\x{438}\x{442}\x{435} (\d+) \x{441}\x{435}\x{43a}\x{443}\x{43d}\x{434} \x{434}\x{43e} \x{43f}\x{43e}\x{432}\x{442}\x{43e}\x{440}\x{43d}\x{43e}\x{433}\x{43e} \x{43f}\x{43e}\x{434}\x{43a}\x{43b}\x{44e}\x{447}\x{435}\x{43d}\x{438}\x{44f}\./ |
|
0 |
0 |
0 |
$text =~ /Bad nickname: Wait (\d+)sec before reconnecting/i or $text =~ /\x{41f}\x{43e}\x{436}\x{430}\x{43b}\x{443}\x{439}\x{441}\x{442}\x{430} \x{43f}\x{43e}\x{434}\x{43e}\x{436}\x{434}\x{438}\x{442}\x{435} (\d+) \x{441}\x{435}\x{43a}\x{443}\x{43d}\x{434} \x{434}\x{43e} \x{43f}\x{43e}\x{432}\x{442}\x{43e}\x{440}\x{43d}\x{43e}\x{433}\x{43e} \x{43f}\x{43e}\x{434}\x{43a}\x{43b}\x{44e}\x{447}\x{435}\x{43d}\x{438}\x{44f}\./ or $text =~ /Do not reconnect too fast. Wait (\d+) secs before reconnecting./ |
290
|
0 |
0 |
0 |
$$self{'share_full'}{$$params{'tth'}} || $$self{'share_full'}{$$params{'string'}} |
395
|
0 |
0 |
0 |
$$self{'want_download'}{$$params{'TR'}} || $$self{'want_download'}{$$params{'filename'}} |
409
|
0 |
0 |
0 |
$$self{'parse'}{$_} ||= $_{$_} |
494
|
0 |
0 |
0 |
$_[0] || $$self{'Pass'} |
521
|
0 |
0 |
0 |
$_[3] ||= $_[4] =~ s/^(TTH:)?([A-Z0-9]{39})$/TTH:$2/ ? '9' : '1' |
565
|
0 |
0 |
0 |
$$self{'cmd'}{$_} ||= $_{$_} |
567
|
0 |
0 |
0 |
$$self{'M'} eq 'A' or not $$self{'M'} |