########################################## ## IRCOPS TOOLS for X-Chat ## ## ## ## (c)2005 mathews_dm ## ## ## ########################################## ## Please read the README! ## ########################################## ########################################## ## Do Not Edit Below This Line ## ########################################## $SCRIPTNAME = "IRCOPS TOOLS"; $VERSION = "1.0"; IRC::register($SCRIPTNAME,$VERSION,"",""); IRC::print("Loaded $SCRIPTNAME $VERSION \n"); IRC::add_command_handler("", "ircops_input"); IRC::add_message_handler("NOTICE", "ircops_handler"); sub ircops_input { my $channel = IRC::get_info(2); $line = shift(@_); if($channel eq ".CHATOPS") { IRC::command("/chatops $line"); return 1; } elsif($channel eq ".HELPOP") { IRC::command("/helpop $line"); return 1; } elsif($channel eq ".LOCOPS") { IRC::command("/locpops $line"); return 1; } elsif($channel eq ".GLOBAL") { IRC::command("/globops $line"); return 1; } return 0; } sub ircops_handler { my $server = IRC::get_info(3); $line = shift(@_); ($blah, $nick, $host, $pm, $chan, $msg) = split (/ |!|:/, $line, 6); if($msg =~ /^\*\*\* ChatOps/) { IRC::command("/query .CHATOPS"); IRC::print_with_channel($msg,".CHATOPS",$server); return 1; } elsif($msg =~ /^\*\*\* HelpOp/) { IRC::command("/query .HELPOP"); IRC::print_with_channel($msg,".HELPOP",$server); return 1; } elsif($msg =~ /^\*\*\* LocOps/) { IRC::command("/query .LOCOPS"); IRC::print_with_channel($msg,".LOCOPS",$server); return 1; } elsif($msg =~ /^\*\*\* Global/) { IRC::command("/query .GLOBAL"); IRC::print_with_channel($msg,".GLOBAL",$server); return 1; } elsif($msg =~ /^\*\*\* Connecting to/) { IRC::command("/query .ROUTING"); IRC::print_with_channel($msg,".ROUTING",$server); return 1; } elsif($msg =~ /^Server /) { IRC::command("/query .ROUTING"); IRC::print_with_channel($msg,".ROUTING",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Link/) { IRC::command("/query .ROUTING"); IRC::print_with_channel($msg,".ROUTING",$server); return 1; } elsif($msg =~ /^\*\*\* Could/) { IRC::command("/query .ROUTING"); IRC::print_with_channel($msg,".ROUTING",$server); return 1; } elsif($msg =~ /^\*\*\* Routing/) { IRC::command("/query .ROUTING"); IRC::print_with_channel($msg,".ROUTING",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- * is now operator/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Hacked ops/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- TS/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- HTM/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Resuming standard operation/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Entering high-traffic mode/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- * set new HTM rate/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^NEW Max rate/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^HTM/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Rejecting possible Spambot/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- User * \(*@*.*\) trying to join \\#* is a possible spambot/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Failed OPER attempt by/) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Floo/) { IRC::command("/query .FLOOD"); IRC::print_with_channel($msg,".FLOOD",$server); return 1; } elsif($msg =~ /^\*\*\* Flood --/) { IRC::command("/query .FLOOD"); IRC::print_with_channel($msg,".FLOOD",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- * sending forbidden filetyped/) { IRC::command("/query .EXPLOITES"); IRC::print_with_channel($msg,".EXPLOITES",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Client connecting/) { IRC::command("/query .CLIENTS"); IRC::print_with_channel($msg,".CLIENTS",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Client exiting/) { IRC::command("/query .CLIENTS"); IRC::print_with_channel($msg,".CLIENTS",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Received KILL message for/) { IRC::command("/query .KILLS"); IRC::print_with_channel($msg,".KILLS",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- K-line active for/) { IRC::command("/query .KILLS"); IRC::print_with_channel($msg,".KILLS",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Autokill active for/) { IRC::command("/query .KILLS"); IRC::print_with_channel($msg,".KILLS",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- Z-line active for/) { IRC::command("/query .KILLS"); IRC::print_with_channel($msg,".KILLS",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- STATS/) { IRC::command("/query .USER"); IRC::print_with_channel($msg,".USER",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- LINKS/) { IRC::command("/query .USER"); IRC::print_with_channel($msg,".USER",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- * requested by/) { IRC::command("/query .USER"); IRC::print_with_channel($msg,".USER",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- * requested by/) { IRC::command("/query .USER"); IRC::print_with_channel($msg,".USER",$server); return 1; } elsif($msg =~ /^\*\*\* Notice -- /) { IRC::command("/query .NETWORK"); IRC::print_with_channel($msg,".NETWORK",$server); return 1; #} else { # IRC::command("/query .RAW_NETWORK"); # IRC::print_with_channel($msg,".RAW_NETWORK",$server); # return 1; } return 0; } 1; #end