diff options
| author | Alex Checca | 2015-11-13 14:35:56 -0500 | 
|---|---|---|
| committer | Alex Checca | 2015-11-13 14:35:56 -0500 | 
| commit | 1b4bb8d4c440e928b1f3a2dbc6c69b6889b13c4e (patch) | |
| tree | 7c50f77a2cf66bfaa8cd1240a630b75066270249 /scripts/xdcc_autoget.pl | |
| parent | c4bbd71d0af08ee4301648b5459bfec43ffc81fc (diff) | |
| download | scripts.irssi.org-1b4bb8d4c440e928b1f3a2dbc6c69b6889b13c4e.tar.bz2 | |
rework server initialization
Diffstat (limited to 'scripts/xdcc_autoget.pl')
| -rw-r--r-- | scripts/xdcc_autoget.pl | 23 | 
1 files changed, 7 insertions, 16 deletions
| diff --git a/scripts/xdcc_autoget.pl b/scripts/xdcc_autoget.pl index 0409666..4f5050e 100644 --- a/scripts/xdcc_autoget.pl +++ b/scripts/xdcc_autoget.pl @@ -103,7 +103,6 @@ sub ag_init		#init system  {  	Irssi::print "AG | Autoget initiated";  	Irssi::print "AG | /ag_help for help"; -	&ag_initserver;  	&ag_getbots;  	my $m = "";  	foreach my $n (@bots) @@ -127,11 +126,11 @@ sub ag_init		#init system  	Irssi::print "AG | Data folder: $folder";  } -sub ag_initserver	#init server +sub ag_server	#init server  { -	$server = Irssi::active_server();	#keep trying to get server until it works, then continue after 5 seconds -	if (ref $server && $server->isa("Irssi::Irc::Server")) {Irssi::timeout_add_once(1000, sub {&ag_initserver;} , []);} -	else {Irssi::timeout_add_once(5000, sub {&ag_run;} , []);} +	Irssi::signal_remove("server connected", "ag_server"); +	$server = $_[0]; +	if ($initflag and !$runningflag) {push(@totags, Irssi::timeout_add_once(5000, sub { &ag_run; }, []));}  }  sub ag_help @@ -159,12 +158,6 @@ sub ag_help  	Irssi::print "ag_folder                : Location for data files. ~/.irssi/ reccomended";  } -sub ag_server	#sets the current server -{ -	$server = Irssi::active_server();	#keep trying to get server until it works -	if (ref $server && $server->isa("Irssi::Irc::Server=HASH")) {Irssi::timeout_add_once(1000, sub {&ag_server;} , []);}	 -} -  sub ag_getbots		#reads in bot list  {  	open(BOTS, "<", $botsfilename); @@ -476,7 +469,6 @@ sub ag_closedcc  sub ag_message  {  	(my $message) = $_[0]; -	if (!(ref $server) || !($server->isa(Irssi::active_server()))) {&ag_server;}  	$server->command("$message");  } @@ -620,11 +612,10 @@ sub ag_botrem	#remove bots  sub ag_run	#main loop  { +	if (!$initflag) {ag_server(Irssi::active_server());}  	if($runningflag == 0)  	{  		$runningflag = 1; -		&ag_getbots; -		&ag_getterms;  		if($#bots < 0 or $#terms < 0) {Irssi::print "AG | No bots or no search terms added. Halting"; &ag_stop;}  		else   		{ @@ -708,7 +699,8 @@ close(SEARCHES);  open(FINISHED, ">>", $cachefilename);  close(FINISHED); -if ($initflag) {&ag_init;} +&ag_init; +Irssi::signal_add("server connected", "ag_server");  Irssi::signal_add("dcc closed", "ag_closedcc");  Irssi::signal_add("setup changed", "ag_setsettings"); @@ -724,4 +716,3 @@ Irssi::command_bind("ag_botadd", "ag_botadd");  Irssi::command_bind("ag_botrem", "ag_botrem");  Irssi::command_bind("ag_clearcache", "ag_clearcache"); - | 
