Results 1 to 2 of 2

Thread: onge xchat script

  1. #1
    Member brandon's Avatar
    Join Date
    May 2009
    Location
    127.0.0.1
    Posts
    35

    Default

    create a new file called onge_init.pl and place it in .xchat2/

    PLEASE NOTE YOU NEED TO BE A IRC Operator for this script to work otherwise it's useless!!!!

    Code:
    #/#############################################################################\
    ## Ongeboren's script collection                                               #
    ## Copyright (C) 2002 - 2005 ongeboren <ongeboren@gmail.com>                   #
    ## Version: 2.1                                                                #
    ## Requires: XChat 2.0.8+                                                      #
    ## Distributed under the GPL license                                           #
    #\#############################################################################/
    
    Xchat::register( "Ongeboren's script collection" , "2.1" ,
                                     "Set of scripts for better messages filtering" );
    
    Xchat::print( "\0033Loading ongeboren's script collection..\003\n" );
    
    my $onge_path = Xchat::get_info("xchatdir") . "/onge/";
    require("$onge_path/onge_settings.pl");
    require("$onge_path/onge_hooks.pl");
    require("$onge_path/onge_single.pl");
    require("$onge_path/onge_misc.pl");
    require("$onge_path/onge_wallops.pl");
    require("$onge_path/onge_basic_operator.pl");
    require("$onge_path/onge_advanced_operator.pl");
    
    Xchat::print( "\0033Script collection : loaded\003\n" );
    *Note .xchat2 is the UNIX/Linux directory hosted in your home directory.

    Now make a directory in .xchat2 called onge and add this file to the directory, call this ong_basic_operator.pl

    Code:
    #/#############################################################################\
    ## Ongeboren's script collection                                               #
    ## Copyright (C) 2002 - 2005 ongeboren <ongeboren@gmail.com>                   #
    ## Version: 2.1                                                                #
    ## Requires: XChat 2.0.8+                                                      #
    ## Distributed under the GPL license                                           #
    #\#############################################################################/
    
    sub onge_oper_connected
    {
      my $me   = Xchat::get_info ( "nick" );
      my $serv = lc( Xchat::get_info ( "server" ) );
      
      Xchat::command("MODE $me +w");
      
      foreach $oserv (@onge_oper_serv)
      {
        if (lc($oserv) eq $serv)
        {
          Xchat::command("OPER $onge_oper_nick $onge_oper_pass");
          last;
        }
      }
      return Xchat::EAT_NONE;
    }
    
    sub onge_oper_opered
    {
      my $me   = Xchat::get_info ( "nick" );
      Xchat::command("MODE $me $onge_oper_mode");
      return Xchat::EAT_NONE;
    }
    
    Xchat::print( "\0033   Basic IRC-operator : loaded\003\n" );
    1;
    now add this into the .xchat2/onge directory and call this one onge_hooks.pl

    Code:
    #/#############################################################################\
    ## Ongeboren's script collection - Hooks                                       #
    ## Copyright (C) 2002 - 2005 ongeboren <ongeboren@gmail.com>                   #
    ## Version: 2.1                                                                #
    ## Requires: XChat 2.0.8+                                                      #
    ## Distributed under the GPL license                                           #
    #\#############################################################################/
    
    
    if ( $onge_set_single )
    {
        Xchat::hook_server( "NOTICE" , onge_single_window );
        Xchat::hook_server( "PRIVMSG" , onge_single_window );
    }
    
    if ( $onge_set_wallops )
    {
        Xchat::hook_server( "WALLOPS", onge_parse_wallops_output );
        Xchat::hook_command( "", onge_parse_wallops_input );
        Xchat::hook_command( "o", onge_comm_o );
        Xchat::hook_command( "l", onge_comm_l );
    }
    
    if ( $onge_set_oper )
    {
        Xchat::hook_server( "001", onge_oper_connected );
        Xchat::hook_server( "381", onge_oper_opered );
    }
    
    if ( $onge_set_snotice )
    {
        Xchat::hook_server( "NOTICE", onge_filter_server_notices );
    }
    
    Xchat::print( "\0033   Hooks : loaded\003\n" );
    1;
    add this one to .xchat2/onge as well and name this one onge_single.pl

    Code:
    #/#############################################################################\
    ## Ongeboren's script collection - Single Window                               #
    ## Copyright (C) 2002 - 2005 ongeboren <ongeboren@gmail.com>                   #
    ## Version: 2.1                                                                #
    ## Requires: XChat 2.0.8+                                                      #
    ## Distributed under the GPL license                                           #
    #\#############################################################################/
    
    sub onge_single_window
    {
      my $me   = Xchat::get_info ( "nick" );
      my $serv = Xchat::get_info ( "server" );
      my $dest = $_[0][2];
      my $srce = $_[0][0];
      $srce =~ /:(\S+)!/;
      my $vict = $1;
      
      return Xchat::EAT_NONE if ( lc($dest) ne lc($me) );
      return Xchat::EAT_NONE if ( $srce !~ /!/ );
      return Xchat::EAT_NONE if ( substr($_[1][3], 0, 5) eq ":\001DCC" );
      
      if ( !Xchat::find_context($vict, $serv) )
      {
          foreach my $nick (@onge_single_bypass)
          {
              if (lc($nick) eq lc($vict))
              {
                  if ( $onge_query_on_bypass )
                  {
                      Xchat::command( "QUERY $nick" , undef, $serv);
                  }
                  return Xchat::EAT_NONE;
              }
          }
          onge_misc_emit_print( $onge_tabs_all, $serv, $vict, substr($_[1][3], 1) );
             if ( $onge_whois_on_private > 1)
             {
                 onge_misc_try_whois  ( $vict, $me, $serv, 1 );
             }
             elsif ( $onge_whois_on_private > 0)
             {
                 onge_misc_try_whois  ( $vict, $me, $serv, 0 );
             }
             return Xchat::EAT_ALL;
      }
      return Xchat::EAT_NONE;
    }
    
    Xchat::print( "\0033   Single Window : loaded\003\n" );
    1;
    same go's with this one you need to put it in .xchat2/onge and name this one onge_misc.pl

    Code:
    #/#############################################################################\
    ## Ongeboren's script collection - Miscelaneous functions                      #
    ## Copyright (C) 2002 - 2005 ongeboren <ongeboren@gmail.com>                   #
    ## Version: 2.1                                                                #
    ## Requires: XChat 2.0.8+                                                      #
    ## Distributed under the GPL license                                           #
    #\#############################################################################/
    
    our $onge_whois_time = time() + 10;
    
    sub onge_misc_can_whois
    {
        if ( $onge_whois_time + $onge_whois_interval < time() )
      {
        $onge_whois_time = time();
        return 1;
      }
      return 0;
    }
    
    sub onge_misc_try_whois
    {
        my ($vict, $me, $serv, $remote) = @_;
        if ( onge_misc_can_whois() && lc($vict) ne lc($me) )
        {
            if ($remote)
            {
                Xchat::command( "WHOIS $vict $vict" , undef, $serv );
            }
            else
            {
                Xchat::command( "WHOIS $vict" , undef, $serv );
            }
        }
    }
    
    # The following function was kindly given to me by Khisanth on #xchat@freenode
    sub onge_nick_color
    {
      my @colors = ( 19, 20, 22, 24, 25, 26, 27, 28, 29 );
      my $sum;
      $sum += ord($_) for split //, shift;
      return $colors[$sum%@colors];
    }
    
    sub onge_misc_emit_print
    {
        my ($tab, $serv, $vict, $txt) = @_;
        
        Xchat::command( "QUERY $tab" , undef, $serv);
      Xchat::set_context( Xchat::find_context($tab, $serv) );
      Xchat::emit_print("Channel Message",
        ("\003". onge_nick_color($vict) . $vict . "\003", $txt, "", "") );
    }
    
    Xchat::print( "\0033   Misc functions : loaded\003\n" );
    1;
    also put this one in .xchat2/onge and call this one onge_wallops.pl

    Code:
    #/#############################################################################\
    ## Ongeboren's script collection - Wallops                                     #
    ## Copyright (C) 2002 - 2005 ongeboren <ongeboren@gmail.com>                   #
    ## Version: 2.1                                                                #
    ## Requires: XChat 2.0.8+                                                      #
    ## Distributed under the GPL license                                           #
    #\#############################################################################/
    
    
    sub onge_comm_o {
      if (length($_[1][1]) > 0)
      {
          Xchat::command( "OPERWALL :$_[1][1]" );
      }
      else
      {
          $onge_use_operwall = 1;
          Xchat::print("Using OPERWALL from now on\n");
      }
      return Xchat::EAT_ALL;
    }
    
    sub onge_comm_l {
      if (length($_[1][1]) > 0)
      {
          Xchat::command( "LOCOPS :$_[1][1]" );
      }
      else
      {
          $onge_use_operwall = 0;
          Xchat::print("Using LOCOPS from now on\n");
      }
      return Xchat::EAT_ALL;
    }
    
    sub onge_parse_wallops_input
    { 
      my $serv = Xchat::get_info ( "server" );
      
      if ( Xchat::find_context() == Xchat::find_context($onge_tabs_wall, $serv) )
      {
        if ($onge_use_operwall)
        {
            Xchat::command("OPERWALL :$_[1][0]");
        }
        else
        {
            Xchat::command("LOCOPS :$_[1][0]");
        }
        return Xchat::EAT_ALL;
      }
    }
    
    sub onge_parse_wallops_output
    {
      my $srce = $_[0][0];
      $srce =~ /:(\S+)!/;
      if ($1)
      {
          $srce = $1;
      }
      my $serv = Xchat::get_info ( "server" );
       
      if ($_[0][2] eq ":LOCOPS")
      {
          onge_misc_emit_print ( $onge_tabs_wall, $serv, $srce,
                                                       "\002\0037LOCOPS\003\002    $_[1][4]" );
      }
      elsif ($_[0][2] eq ":SLOCOPS")
      {
          onge_misc_emit_print ( $onge_tabs_wall, $serv, $srce,
                                                       "\002\0037SLOCOPS\003\002   $_[1][4]" );
      }
      elsif ($_[0][2] eq ":WALLOPS")
      {
          onge_misc_emit_print ( $onge_tabs_wall, $serv, $srce,
                                                       "\002WALLOPS\002   \0034$_[1][4]\003" );
      }
      elsif ($_[0][2] eq ":OPERWALL")
      {
          onge_misc_emit_print ( $onge_tabs_wall, $serv, $srce,
                                                       "\002\0033OPERWALL\003\002  $_[1][4]" );
      }
      else
      {
          my $txt = substr ($_[1][2], 1);
          $srce = substr($srce, 1);
          onge_misc_emit_print ( $onge_tabs_wall, $serv, $srce,
                                                     "\002WALLOPS\002  \0034$txt\003" );
      }
      return Xchat::EAT_ALL;
    }
    
    Xchat::print( "\0033   Wallops : loaded\003\n" );
    1;
    also put this one in .xchat2/onge and call this one onge_advanced_operator.pl

    Code:
    #/#############################################################################\
    ## Ongeboren's script collection                                               #
    ## Copyright (C) 2002 - 2005 ongeboren <ongeboren@gmail.com>                   #
    ## Version: 2.1                                                                #
    ## Requires: XChat 2.0.8+                                                      #
    ## Distributed under the GPL license                                           #
    #\#############################################################################/
    
    
    sub onge_filter_server_notices
    {
      my $me   = Xchat::get_info ( "nick" );
      my $serv = lc( Xchat::get_info ( "server" ) );
      
      return Xchat::EAT_NONE if ( lc($_[0][0]) ne lc(":$serv") );
      
      if ( $_[1][6] =~ /^Client connecting: (\S+) \((\S+)\@(\S+)\) \[(\S+)\]/ )
      {
          return onge_filter_process_conn ($1, $2, $3, $4, $_[1][6], $me, $serv);
      }
      elsif ( $_[1][6]
                 =~ /^Client exiting: (\S+) \((\S+)\@(\S+)\) \[(.*)\] \[(\S+)\]$/ )
      {
          return onge_filter_process_exit ($1, $2, $3, $5, $4, $_[1][6], $me, $serv);
      }
      elsif ( $_[1][6] =~ /^I.line is full for (\S+)\[(\S+)\@(\S+)\] \((\S+)\)/ )
      {
          return onge_filter_process_ifull ($1, $2, $3, $4, $_[1][6], $me, $serv);
      }
      elsif ( $_[1][6] =~ /^User (\S+) \((\S+)\@(\S+)\).*is a possible spambot/ )
      {
          return onge_filter_process_spambot ($1, $2, $3, $_[1][6], $me, $serv);
      }
      elsif ( $_[1][6] =~ /^(\S+) \((\S+)\@(\S+)\) is doing a .whois on you/ )
      {
          return onge_filter_process_whois ($1, $2, $3, $_[1][6], $me, $serv);
      }
      elsif ( $_[1][6] =~
          /(\S+!\S+\@\S+) on (\S+) is requesting gline for \[(\S+)\] \[(.*)\]\s*$/ )
      {
          return onge_filter_gline_requests ($1, $2, $3, $4, $_[1][6], $me, $serv);
      }
      elsif ( $_[1][6] =~
              /(\S+!\S+\@\S+) on (\S+) has triggered gline for \[(\S+)\] \[(.*)\]\s*$/ )
      {
          return onge_filter_gline_trigger ($1, $2, $3, $4, $_[1][6], $me, $serv);
      }
      elsif ( $_[1][6] eq "oper or server has already voted" )
      {
          return onge_filter_already_voted ();
      }
      elsif ( $_[1][6] =~
              /(\S+) added temporary (\d+) min. K-Line for \[(.*)\] \[(.*)\]$/ )
      {
          return onge_filter_klines ($1, $2, $3, $4, $_[1][6], $me, $serv);
      }
    }
    
    sub onge_filter_klines
    {
        my ($n, $t, $h, $r, $mm, $me, $serv) = @_;
        
        onge_print ( $serv, $onge_tabs_kline, "$n\t($t min): $h [$r]", undef );
        return Xchat::EAT_ALL;
    }
    
    sub onge_filter_already_voted
    {
        if ( $onge_hide_voted )
        {
            $onge_hide_voted++;
            return Xchat::EAT_ALL;
        }
        return Xchat::EAT_NONE;
    }
    
    sub onge_print
    {
        my ($serv, $tab, $text, $color) = @_;
        
        if ($tab)
        {
            Xchat::command( "QUERY $tab" , undef, $serv);
          Xchat::set_context( Xchat::find_context($tab, $serv) );
        }
      Xchat::print( "\003$color$text\003\n" );
    }
    
    sub onge_filter_gline_trigger
    {
        my ($who, $wserv, $gline, $greason, $mm, $me, $serv) = @_;
        my $n = "";
        
        if( exists( $gliners_ign{ lc($wserv) } ) )
        {
            $who =~ /(\S+)!/;
            if ($1)
            {
                $n = substr($1, 0, 3);
            }
            onge_print ( $serv, $onge_tabs_gline,
                         "trigger:$n\t$gline \"$greason\"",
                         4 );
        }
        else
        {
            onge_print ( $serv, $onge_tabs_req,
                                     "$who\ttrigger: $gline \"$greason\"",
                                     4 );
        }
        return Xchat::EAT_ALL;
    }
    
    sub onge_filter_gline_requests
    {
        my ($who, $wserv, $gline, $greason, $mm, $me, $serv) = @_;
        my $n = "";
        
        return Xchat::EAT_ALL if ( exists( $gliners_ign{ lc($wserv) } ) );
        
        if( exists( $gliners{ $wserv } ) )
        {
            $who =~ /(\S+)!/;
            if ($1)
            {
                $n = substr($1, 0, 3);
            }
            onge_print ( $serv, $onge_tabs_gline,
                         "req:$n\t$gline \"$greason\"",
                         $gliners{ $wserv } );
        }
        else
        {
            if ($gline =~ /(\S+)\@(\S+)/)
            {
                onge_print ( $serv, $onge_tabs_req,
                                         "$who\t$1\002\@\002$2 \"$greason\" /gline $gline $greason",
                                         undef );
            }
            else
            {
                onge_print ( $serv, $onge_tabs_req,
                                         "$who\t$gline \"$greason\" /gline $gline $greason",
                                         undef );
            }
        }
        return Xchat::EAT_ALL;
    }
    
    sub onge_filter_process_conn
    {
        my ($n, $id, $h, $ip, $mm, $me, $serv) = @_;
        
        onge_print( $serv, $onge_tabs_conn, 
                                "conn\t$n  $id\002\@\002$h ($ip)", $onge_color_conn);
        return Xchat::EAT_ALL;
    }
    
    sub onge_filter_process_exit
    {
        my ($n, $id, $h, $ip, $rr, $mm, $me, $serv) = @_;
        
        if ( $onge_exit_apart )
        {
            onge_print( $serv, $onge_tabs_exit,
                                    "exit\t$n  $id\002\@\002$h ($ip)", $onge_color_exit);
        }
        else
        {
            onge_print( $serv, $onge_tabs_conn,
                                    "exit\t$n  $id\002\@\002$h ($ip) $rr", $onge_color_exit);
        }
        return Xchat::EAT_ALL;
    }
    
    sub onge_filter_process_ifull
    {
        my ($n, $id, $h, $ip, $mm, $me, $serv) = @_;
        
        if ( $onge_kline_ifull )
        {
            Xchat::command ("KLINE $onge_ktime_ifull *\@$h possible flood bots" );
            onge_print( $serv, undef, "info\tk:lined *\002\@\002$h - I-line was full",
                        $onge_color_info );
            return Xchat::EAT_NONE;
        }
        return Xchat::EAT_NONE;
    }
    
    sub onge_filter_process_spambot
    {
        my ($n, $id, $h, $mm, $me, $serv) = @_;
        
        if ( $onge_kline_spam )
        {
            Xchat::command ("KLINE $onge_ktime_spam $id\@$h possible spam bots" );
            onge_print( $serv, undef, "info\tk:lined $id\002\@\002$h - spambot",
                        $onge_color_info );
            return Xchat::EAT_NONE;
        }
        return Xchat::EAT_NONE;
    }
    
    sub onge_filter_process_whois
    {
        my ($n, $id, $h, $mm, $me, $serv) = @_;
        
        if ( $onge_whois_on_whois > 1 )
        {
            onge_misc_try_whois  ( $n, $me, $serv, 1 );
            onge_print( $serv, undef,
                                    "info\treceived a /whois from $n  $id\002\@\002$h",
                        $onge_color_info );
            return Xchat::EAT_ALL;
        }
        elsif ( $onge_whois_on_whois > 0 )
        {
            onge_misc_try_whois  ( $n, $me, $serv, 0 );
            onge_print( $serv, undef,
                                    "info\treceived a /whois from $n  $id\002\@\002$h",
                                    $onge_color_info );
            return Xchat::EAT_ALL;
        }
        return Xchat::EAT_NONE;
    }
    
    sub onge_oper_advanced_init
    {
        foreach my $e ( @gliners_to_ignore )
        {
            $gliners_ign{ lc($e) } = 1;
        }
    }
    
    onge_oper_advanced_init();
    
    Xchat::print( "\0033   Advanced IRC-operator : loaded\003\n" );
    1;

    and lastly put this one in .xchat2/onge and call this one onge_settings.pl

    Code:
    #/#############################################################################\
    ## Ongeboren's script collection - Settings                                    #
    ## Copyright (C) 2002 - 2005 ongeboren <ongeboren@gmail.com>                   #
    ## Version: 2.1                                                                #
    ## Requires: XChat 2.0.8+                                                      #
    ## Distributed under the GPL license                                           #
    #\#############################################################################/
    
    ###
    # This is the configuration part of ongeboren's script collection.
    # Each option is explained, but turned off by default.
    # Failure to read the config, understand it and set it to work for you,
    #  will simply make the whole script collection useless.
    #
    # There is a name convention for the script. All functions and variables
    #  begin with a prepended 'onge_'. This way you are guaranteed to avoid
    #  confusion with any other scripts.
    #
    # The use of other scripts that process and filter inbound privmsg and notices
    #  in case you're going to use the single message window mode or the total
    #  ignorer, can be the cause of confusion and could lead to messages being
    #  wrongly blocked at the wrong time.
    #  
    ###
    
    ################################################################################
    # Single Message Window
    ###
    
    ###
    # Use single message window for personal inbound notices and privmsgs if there
    #  is no window/tab opened for a conversation with the person in question.
    our $onge_set_single = 0;
    
    ###
    # The tab where all private inbound messages will be redirected.
    # This option is only applicable if $onge_set_single is set to non zero value.
    # Note: Always prepend a '-' or other character a nickname may never start with.
    #  If you choose a name for the tab that can coincide with a real nickname,
    #  you will run into confusion if you will ever have to speak to that person!
    our $onge_tabs_all = "-all";
    
    ###
    # Do a /whois nick or /whois nick nick when you receive a private message out
    #  of conversation mode - only triggers if there is no conversation window/tab.
    # This option is only applicable if $onge_set_single is set to non zero value.
    # The possible values are as follows:
    #  1 -> do a /whois nick
    #  2 -> do a /whois nick nick
    our $onge_whois_on_private = 1;
    
    ###
    # How many seconds to wait if you have issued a /whois command, before issueing
    #  a new one? The minimum value is hardcoded to 1 and it is advised to have it
    #  set to about 5. This will prevent /whois floods on multiple lines dumped to
    #  you like for instance the output of help commands originating of irc services
    #  you're querying for help. Keep it reasonable high in order to prevent other
    #  /whois floods in case you receive a multiple clones flood attack or run into
    #  somebody having same or similar script to yours.
    our $onge_whois_interval = 5;
    
    ###
    # You may aswel define a list of nicks that will be allowed to bypass the single
    #  message window. Follow the example syntaxis.
    # This option is only applicable if $onge_set_single is set to non zero value.
    our @onge_single_bypass = ('ns', 'cs', 'gliner', 'seenserv', 'seen');
    
    ###
    # Additionally you may want to explicitely create a query dialogue for the nicks
    #  you specified in @onge_single_bypass. By default XChat displays private
    #  notices in the first common tab you have with a given person. This is quite
    #  annoying if you request information from ChanServ for instance via /msg
    #  ChanServ in the current tab and you have to run through all other tabs in
    #  order to find the reply.
    # This option is only applicable if $onge_set_single is set to non zero value.
    our $onge_query_on_bypass = 1;
    
    ################################################################################
    # Basic Operator Settings
    ###
    
    ###
    # Are you an irc operator? You can define here to auto-/oper on as many servers
    #  as you like. You need to have the same password on each server.
    $onge_set_oper = 0;
    
    ###
    # The operator nickname or username - furst parameter of the /oper command.
    $onge_oper_nick = "opernick";
    
    ###
    # The password.
    # Note that your computer must be secure. It is obviously stored as plain text.
    $onge_oper_pass = "operpass";
    
    ###
    # Specify operator-specific user modes that you would like to set after you get
    #  /oper-ed .
    $onge_oper_mode = "+ybfxcIS";
    
    ###
    # Make a list of all servers where you would like to issue an /oper command when
    #  connecting.
    @onge_oper_serv = ("my.irc.server");
    
    ################################################################################
    # Fancy Wallops Interface
    ###
    
    ###
    # Use fancy wallops input/output?
    our $onge_set_wallops = 0;
    
    ###
    # The name of the wallops tab.
    # Same considerations as the '-all' tab. Prepend a non-valid character like '-'.
    our $onge_tabs_wall = "-wall";
    
    ###
    # Use by default operwall (1) or locops (0) ?
    # Beter keep it local, unless you don't care about saying incidentially or
    #  unwillingly something stupid to a bunch of people.
    our $onge_use_operwall = 0;
    
    ################################################################################
    # Services G:lines Requests Filter
    ###
    
    ################################################################################
    # Normal G:line Requesrs Filter
    ###
    
    ################################################################################
    # Server Warning/Information Notices Filter
    ###
    
    ###
    # Enable advanced server notices filter?
    our $onge_set_snotice = 0;
    
    ###
    # The name of the connecting/disconnecting tab.
    # Same considerations as the "-all' tab. Prepend a non-valid character like '-'.
    our $onge_tabs_conn = "-conn";
    
    ###
    # Use a different tab for disconnecting client notices?
    our $onge_exit_apart = 0;
    
    ###
    # The name of the disconnecting tab.
    # Applicable only if $onge_disconn_apart is non-zero.
    # Same considerations as the "-all' tab. Prepend a non-valid character like '-'.
    our $onge_tabs_disc = "-exit";
    
    ###
    # Color for connecting users' notices.
    our $onge_color_conn = 3;
    
    ###
    # Color for exiting users' notices.
    our $onge_color_exit = 4;
    
    ###
    # K:line hosts, that fill up an I-line ?
    our $onge_kline_ifull = 1;
    
    ###
    # Time for the k:line in minutes if $onge_kline_ifull is defined.
    our $onge_ktime_ifull = 120;
    
    ###
    # K:line ident@host, that trigger a spambot warning ?
    our $onge_kline_spam = 1;
    
    ###
    # Time for the k:line in minutes if $onge_kline_spam id defined.
    our $onge_ktime_spam = 120;
    
    ###
    # Name of the klines tab.
    # Same considerations as the "-all' tab. Prepend a non-valid character like '-'.
    our $onge_tabs_kline = "-kli";
    
    ###
    # Do a /whois nick or /whois nick nick when you receive a /whois.
    # The possible values are as follows:
    #  1 -> do a /whois nick
    #  2 -> do a /whois nick nick
    our $onge_whois_on_whois = 2;
    
    ###
    # The name of the services glines requests tab.
    # Same considerations as the "-all' tab. Prepend a non-valid character like '-'.
    our $onge_tabs_gline = "-gli";
    
    ###
    # List of gliners servers to ignore.
    # Usually there are 3 psuedo servers for a gliner service. Define here the last
    #  2 servers. The third one will not be ignored, or you may choose to ignore
    #  them all, but this is imho a bad choice.
    our @gliners_to_ignore = ( "SAN2.org", "SAN3.org",
                                                         "sockscleaner2.org", "sockscleaner3.org",
                                                         "psuedo2.org", "psuedo3.org" );
    
    ###
    # Define pairs of gliners and mirc colors to display in $onge_tabs_gline
    # This is CAsEsEnSitIVe!
    # This must be the first server in the gliners servers trio.
    our %gliners = ( "SAN1.org" => 10,
                                     "sockscleaner1.org" => 7,
                                     "psuedo1.org" => 8,);
    
    ###
    # The name of the operators glines requests tab.
    # Same considerations as the "-all' tab. Prepend a non-valid character like '-'.
    our $onge_tabs_req = "-req";
    
    ###
    # Hide "operator or server has already voted" messages for gline requests that
    #  do match an existing gline on your server. This happens when another server
    #  on the network rehashes its glines in order to let viruses, drones and
    #  abusers into the network
    # NB: If you intend to hide it, set it's value to just 1; you will be able to
    #     see how many such lines were hidden by issuing /showhiddenvotes .
    our $onge_hide_voted = 1;
    
    ################################################################################
    # Miscelaneous Settings
    ###
    
    ###
    # Color for info lines.
    our $onge_color_info = 8;
    
    Xchat::print( "\0033   Settings : loaded\003\n" );
    1;
    Last edited by Gemini; 10-19-2010 at 05:18 AM.

  2. #2
    Junior Member
    Join Date
    Jun 2015
    Posts
    1

    Default

    Hello brandon ,
    exactly this script I need, but something is not working.
    Step by step I fulfilled as you have described in your post.
    Gives me that everything is fine and all scripts are loaded, but when identified as IRC Operator, use OPERWALL, opens in a new window.

Similar Threads

  1. XChat iRPG Script
    By Ikazuchi in forum IRC client scripts and addons
    Replies: 0
    Last Post: 06-07-2010, 04:16 PM
  2. Bomb script
    By Danfire0 in forum IRC client scripts and addons
    Replies: 3
    Last Post: 08-18-2009, 08:17 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •