# # &print("*** Loading auto dcc..."); %A_DCC = (); sub cmd_anick { &getarg; $A_DCC{$newarg} = 1; &print("*\cbI\cb* Added $newarg to auto dcc"); } &addcmd("anick"); sub cmd_dnick { &getarg; delete $A_DCC{$newarg}; &print("*\cbI\cb* Removed $newarg from auto dcc"); } &addcmd("dnick"); sub cmd_lnick { my $key; my $str; foreach $key (keys %A_DCC){ $str .= "$key "; } &print("*\cbI\cb* Nicks allowed to auto dcc: $str"); } &addcmd("lnick"); sub set_autoresume { $set{'AUTORESUME'}="on", $a_autoresume=1 if $_[0] =~ /^on$/i; $set{'AUTORESUME'}="off", $a_autoresume=0 if $_[0] =~ /^off$/i; } &addset("autoresume"); $set{"AUTORESUME"}="on"; $n_autoresume=1; my %A_AUTOSTART = (); sub hook_adcc_do { my $cmd = shift; if($cmd eq "SEND"){ if($A_DCC{$who} == 1){ my $host = shift; my $dport = shift; my $file = shift; my $size = shift; if(-e $file){ if(($n_autoresume == 1) && ((-s $file) < $size)){ &docommand("resume $who $file"); $A_AUTOSTART{$dport} = "dcc get $who $file"; } else { &tell("*E* Autodcc rejected. File exists and no auto resume, or size mismatch"); } } else { &docommand("dcc get $who $file"); } } } } &addhook("dcc_request", "adcc_do");