Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > b18cfe3238d7eaea0bdcd5e1336d6792 > files > 2

jircii-44-0.0.1mdv2009.0.src.rpm

# first stab at a BitchX look for jIRCii
# lots of work needs to be done here yet, particuarly with the dcc related messages.
#
# Usage: /load BitchX.irc
#
# Updated: 09.27.04
# - fixed oversight of not properly timestamping certain events i.e. /whois replies
# - fixed a problem causing statusbar to not turn blue for some people...
#

$nnn = "\c4*\c16o\c4*\c15"; 
$rrr = "\c14>\c15>\c16>";

#
# Setup initial properties on load...
#
setProperty("ui.sbarlines", 2);
setProperty("statusbar.color", "-16777114");

if (getProperty("statusbar.bgtype", 0) == 0)
{
   setProperty("statusbar.bgtype", 1); # make the statusbar solid, if default type is set
}

setProperty("statusbar", -1);  # force jIRCii to refresh statusbar settings right away

on unload { setProperty("ui.sbarlines", 1); }

#
# a bunch of sets redefining each of jIRCii's built in echos...
# set names beginning with XX_ apply only to this script.
#
set CHANNEL_MODE_IS        { return "$nnn mode\c14/\c10 $+ $0 \c14[\c16 $+ $parms $+ \c14]\c15 by\c16 $source"; }
set CHANNEL_TOPIC_IS       { return "$nnn Topic \c14(\c10 $+ $0 $+ \c14):\c15 $parms"; }
set CHANNEL_TOPIC_SETBY    { return "$nnn Topic \c14(\c10 $+ $1 $+ \c14):\c15 set by\c10 $nick \c15at\c10 $seton"; }
set CHANNEL_CREATED        { return "$nnn Channel $1 was created at $created"; }
set JOIN_SYNC              { return "$nnn \c16BitchX\c15: Join to $1 was synched in $sync secs!!"; }
set CHANNEL_MODE           { return "$nnn mode\c14/\c10 $+ $target \c14[\c16 $+ $parms $+ \c14]\c15 by\c16 $source"; }
set USER_MODE              { return "$nnn Mode change \c14[\c16 $+ $parms $+ \c14]\c15 for user\c10 $target"; } 
set USER_QUIT              { return "$nnn SignOff\c16 $nick \c14(\c15 $+ $parms $+ \c14)"; }
set CHANNEL_PART           { return "$nnn $nick \c14[\c15 $+ $address $+ \c14]\c15 has left $target \c14[\c14]"; } # part messages not supported yet
set CHANNEL_JOIN           { return "$nnn \c11 $+ $nick \c14[\c10 $+ $address $+ \c14]\c15 has joined $target"; }
set SEND_TEXT              { return "\C06<\c15 $+ $me $+ \c06>\C15 $parms"; }
set SEND_TEXT_INACTIVE     { return "\C06<\c15 $+ $me $+ \c14:\c15 $+ $target $+ \c06>\C15 $parms"; }
set XX_MY_NICK             { return "$rrr You\c14(\c15 $+ $0 $+ \c14)\c15 are now known as\c10 $1"; }
set XX_USER_NICK           { return "$nnn \c16 $+ $0 $+ \c15 is now known as\c10 $1"; }
set XX_CH_TEXT_IN_HI       { return "\C12<\c08 $+ $1 $+ \c14:\c15 $+ $0 $+ \c12>\C15 $2-"; }
set XX_CH_TEXT_IN          { return "\C12<\c15 $+ $1 $+ \c14:\c15 $+ $0 $+ \c12>\C15 $2-"; }
set XX_CH_TEXT_HI          { return "\C12<\c08 $+ $0 $+ \c12>\C15 $1-"; }
set XX_CH_TEXT             { return "\C12<\c15 $+ $0 $+ \c12>\C15 $1-"; }
set CHANNEL_TOPIC_CHANGED  { return "$nnn Topic \c14(\c10 $+ $0 $+ \c14):\c15 changed by\c10 $nick $+ \c14:\c15 $parms"; }
set XX_CH_KICK_HI          { return "$rrr You\c15 have been kicked off\c10 $0 \c15by\c10 $1 \c14(\c15 $+ $3- $+ \c14)"; }
set XX_CH_KICK             { return "$nnn $2 was kicked off $0 by\c10 $1 \c14(\c15 $+ $3- $+ \c14)"; }
set ACTION                 { return "\c14*\c08 $nick $+ / $+ $0 \c15 $+ $1-"; } 
set PRIVACTION             { return "\c14*\c16 $nick \c15 $+ $1-"; }
set ACTION_INACTIVE        { return "\c14*\c15 >\c10 $+ $nick $+ \c15 $0 $1-"; }
set PRIVACTION             { return "\c14*\c16 $nick \c15 $+ $1-"; }
set SEND_ACTION            { return "\c14*\c16 $me \c15 $+ $parms"; }
set SEND_ACTION_INACTIVE   { return "\c14*\c15 ->\c16 $me $+ \c15/\c10 $+ $0 \c15 $+ $parms"; }
set SEND_ACTION_PRIV       { return "\c14*\c15 ->\c16 $me $+ \c15/\c10 $+ $0 \c15 $+ $parms"; }
set REPL_372               { return "$nnn $parms"; }
set REPL_324               { return; }
set FORMATTED_NAMES_HEADER { return "$nnn \c14[\c09Users\c14(\c3 $+ $2 $+ \c14:\c03 $+ $total $+ \c14)]"; }
set FORMATTED_NAMES        { return "\c14[" . formatNick($nick, $2, left("$[10]nick", 10)) . " \c14] "; }
set TIMESTAMP              { return "\c14 $time $+ \c15.\c16. "; }
set XX_CTCP_REPLY          { return "$nnn CTCP\c16 $1 \c15reply from $0 $+ \c14:\c15 $2-"; } 
set XX_SEND_DCC_SEND       { return "\c14[\c05dcc\c14(\c04SEND\c14)]\c15 $0"; }
set XX_SEND_DCC            { return "\c14[\c05dcc\c14(\c04 $+ $1 $+ \c14)]\c15 $0"; }
set XX_SEND_CTCP_PARMS     { return "\c14[\c05ctcp\c14(\c04 $+ $0 $+ \c14)]\c15 $1"; }
set XX_SEND_CTCP           { return "\c14[\c05ctcp\c14(\c04 $+ $0 $+ \c14)]\c15 $1"; }
set SEND_NOTICE            { return "\c14[\c05notice\c14(\c04 $+ $0 $+ \c14)]\c15 $parms"; }
set SEND_WALL              { return "\c15[\c16BX-Wall\c15/\c16 $+ $0 $+ \c15] $1-"; }
set SEND_WALLEX            { return "\c15[\c16BX-Exclude\c15/\c16 $+ $0 $+ \c15] $1-"; }
set XX_EMPTY_NOTICE        { return "\c9[ $+ $0 $+ ]\c15 $1-"; }
set XX_NOTICE              { return "\c14-\c13 $+ $0 $+ \c14(\c6 $+ $1 $+ \c14)-\c15 $2-"; }
set XX_PRIVMSG_WINDOW      { return "\c14[\c13 $+ $0 $+ \c14(\c6msg\c14)\c14]\c15 $2-"; }
set XX_PRIVMSG             { return "\c14[\c13 $+ $0 $+ \c14(\c6 $+ $1 $+ \c14)]-\c15 $2-"; }
set SEND_MSG               { return "\c14[\c05msg\c14(\c04 $+ $0 $+ \c14)]\c15 $parms"; }
set NOTIFY_SIGNON          { return "$nnn \c09Signon\c15 by\c4 $nick $+ \c14!\c4 $+ $address \c15at $time"; }
set NOTIFY_SIGNOFF         { return "$nnn \c09Signoff\c15 by\c5 $nick $+ \c14!\c5 $+ $address \c15at $time"; }
set REPL_366               { return; } # hide REPL_END_OF_NAMES
set REPL_401               { return "\c16 $+ $1 $+ \c14:\c15 $2-"; } # no such nick/channel
set REPL_406               { return "\c16 $+ $1 $+ \c14:\c15 $2-"; } # was no such nick/channel
set XX_WHOIS_HEADER        { return "\c9+--------\c3-\c9--\c3--\c9-\c3---------\c14-\c3--\c14--\c3-\c14------------ --  -"; }
set XX_REPL_311_1          { return "\c9|\c16 $0 \c14(\c15 $+ $1 $+ @ $+ $2 $+ \c14)"; }
set XX_REPL_314_1          { return "\c9|\c16 $0 \c15was \c14(\c15 $+ $1 $+ @ $+ $2 $+ \c14)"; }
set XX_REPL_311_2          { return formatWhoisBX("\c09|", "ircname" , $3-); } 
set XX_REPL_314_2          { return formatWhoisBX("\c09|", "ircname" , $3-); } 
set REPL_319               { return formatWhoisBX("\c03|", "channels", $2-); }
set REPL_312               { return formatWhoisBX("\c14|", "server"  , "$2 \c14(\c15 $+ $3- $+ \c14)"); }
set REPL_301               { return formatWhoisBX("\c14|", "away"    , "$1 - $2-"); }
set REPL_307               { return formatWhoisBX("\c14:", "register", "$1 $2-"); }
set REPL_313               { return formatWhoisBX("\c14:", "ircop"   , "$1 (is \c16NOT\c15 an irc warrior)"); }
set REPL_317               { return formatWhoisBX("\c14:", "idle"    , formatTime($2)); }
set REPL_330               { return formatWhoisBX("\c14:", "register", "$1 $3- $2"); }
set REPL_320               { return formatWhoisBX("\c14:", "info"    , "$1 $2-"); }
set REPL_338               { return formatWhoisBX("\c14:", "host"    , "$2"); }
set REPL_318               { return ""; } # hide END of /WHOIS 
set REPL_369               { return ""; } # hide END of /WHOWAS 
set REPL_403               { return formatNumeric($1, $2-); } # no such channel
set REPL_442               { return formatNumeric($1, $2-); } # you're not on that channel
set REPL_473               { return formatNumeric($1, $2-); } # banned
set REPL_474               { return formatNumeric($1, $2-); } # invite
set REPL_475               { return formatNumeric($1, $2-); } # key
set REPL_433               { return formatNumeric($1, $2-); } # nick in use
set REPL_352               { return "\c08 $+ $[12]1 \c16 $+ $[11]5 \c10 $+ $[2]6 \c15 $+ $2 $+ \c4@\c15 $+ $3 ( $+ $8- $+ ) "; }
set XX_CTCP_REQUEST        { return "$rrr \c9 $+ $0 \c14[\c3 $+ $1 $+ \c14]\c3 requested $3 from $2"; }
set XX_CTCP_REQUEST_P      { return "$rrr \c9 $+ $0 \c14[\c3 $+ $1 $+ \c14]\c3 requested $3 $4- from $2"; }
set REPL_364               { return "\C15 $+ $[20]1 -> $[20]2 ( $+ $3 hops): $4-"; }
set REPL_365               { return; }
set REPL_321               { return "\c33\bC\bhannel              \bU\bsers   \bT\bopic"; }
set REPL_322               { return "\c35\b $+ $[20]1 $+ \b\c33 $[-5]2   $3-"; }
set REPL_323               { return; }
set NUMERIC                { return "$nnn $parms"; }
set XX_SBAR_TIME           { return "\c10[\c16 $+ $0 $+ \c10]"; }
set XX_SBAR_MYNICK         { return "\c10[\c15 $+ $0 \c10(\c15 $+ $mymode $+ \c10)]"; }
set XX_SBAR_QUERY_CHAN     { return " \c10[\c15 $+ $0 \c10(\c15" . getMode($0) . "\c10)]"; }
set XX_SBAR_QUERY_OTHER    { return " \c10[\c15Query: \c16 $+ $0 $+ \c10]"; }
set XX_SBAR_QUERY_NONE     { return ""; }
set XX_SBAR_LAG            { return " \c10[\c15Lag\c16 $[-2]lag $+ \c10]"; }
set XX_SBAR_CHAN_INFO      { return " \c10[\c15Ops\c10/\c16" . size(getOps($0))  . " \c15Non\c10/\c16" . size(getNormal($0)) . " \c15Voice\c10/\c16" . size(getVoiced($0))  . "\c10]"; }
set XX_SBAR_NO_INFO        { return " \c10[\c15Ops\c10/\c16. \c15Non\c10/\c16. \c15Voice\c10/\c16.\c10]"; }
set XX_SBAR_DCC_STATUS     { return "\c10[\c15 $+ $0 $+ \c10:\c15 $+ $pc $+ \c10]"; }
set PROCESS_DATA           { return "\c15[ $+ $pid $+ ] $parms"; }
set OPEN_URL               { return "$nnn Opening $0"; }
set RESOLVED_LOCALINFO     { return "$nnn Resolved local host to $0"; }
set XX_RESOLVE_SUCCESS     { return "$nnn Resolved $0 to $2 $+ [ $+ $1 $+ ]"; }
set XX_RESOLVE_FAILED      { return "$nnn Unable to resolve $0 $+ : host not found"; }
set IDENT_REQUEST          { return "$nnn \c4Ident\c15 request from $0"; }
set SERVER_ERROR           { return "$nnn Server error: $parms"; }
set IRC_ATTEMPT_CONNECT    { return "$nnn Attempting to connect to " . $0; }
set IRC_DISCONNECT         { return "$nnn Disconnected from " . getServerHost() . ": $parms"; }
set IRC_CONNECT            { return "$nnn Connected to " . getServerHost(); }
set IRC_RECONNECT          { return "$nnn Attempting to reconnect to " . getServerHost(); }
set INVITE                 { return "$nnn \b $+ $nick $+ \b invites you to join\r:\r $1"; }
set REPL_341               { return "$nnn $1 has been invited to\r:\r $2"; }
set CHATMSG                { return "\c14[\c9 $+ $0 $+ \c14(\c3dcc\c14)]\c15 $1-"; }
set SEND_CHAT_ERROR        { return "$nnn there is no open chat with $0"; }
set SEND_CHAT              { return "\c14[\c5dcc\c14(\c4 $+ $0 $+ \c14)]\c15 $1-"; }
set CHAT_OPEN              { return "$nnn \c4DCC\c15 CHAT with\c16 $nick \c15established"; }
set CHAT_CLOSE             { return "$nnn DCC Chat with\c16 $nick \c15lost\c14:\c15 $1-"; }
set XX_RECEIVE_COMPLETE    { return "$nnn Receive of $1 from $0 complete at $2"; }
set SEND_COMPLETE          { return "$nnn Send to $nick complete"; }
set XX_RECEIVE_START       { return "$nnn Receive of $1 from $0 has started"; }
set SEND_START             { return "$nnn Send to $nick has started"; }
set RECEIVE_FAILED         { return "$nnn Receive from $nick has failed: $1-"; }
set SEND_FAILED            { return "$nnn Send to $nick has failed: $1-"; }
set RESUME_SUCCEEDED       { return "$nnn Resume request to $nick successful"; }
set RESUME_FAILED          { return "$nnn Resume request to $nick \bfailed\b"; }
set RESUME_REQUEST_ERROR   { return "$nnn $nick has made a jacked up resume request"; }
set RESUME_REQUEST         { return "$nnn $nick has requested to resume the dcc transfer"; }

set PRIVMSG                
{
   if (-iswindow $nick) { return parseSet("XX_PRIVMSG_WINDOW", $nick, "$address $parms"); }
   else { return parseSet("XX_PRIVMSG", $nick, "$address $parms"); }
}

set SEND_DCC
{
   if ($1 eq "SEND")
   {
      return parseSet("XX_SEND_DCC_SEND", $0, formatBytes($3) . " " . getFileName($4-));
   }

   return parseSet("XX_SEND_DCC", $0, uc($1));
}

set SEND_CTCP 
{
   if ($1 eq "PING")
   {
      return parseSet("XX_SEND_CTCP", $0, "PING");
   }
   else if ($2- eq "")
   {
      return parseSet("XX_SEND_CTCP", $0, $1);
   } 
   else
   {
     return parseSet("XX_SEND_CTCP", $0, "$1 $2-");
   }
}

set USER_NICK           
{ 
   if ($nick eq $me) { return parseSet("XX_MY_NICK", $nick, $1); }
   else { return parseSet("XX_USER_NICK", $nick, $1); }
}

set CHANNEL_TEXT_INACTIVE 
{ 
   if ($me isin $parms) { return parseSet("XX_CH_TEXT_IN_HI", $target, "$nick $parms"); }
   return parseSet("XX_CH_TEXT_IN", $target, "$nick $parms");
}

set CHANNEL_TEXT
{ 
   if ($me isin $parms) { return parseSet("XX_CH_TEXT_HI", $nick, $parms); }
   else { return parseSet("XX_CH_TEXT", $nick, $parms); }
}

set CHANNEL_KICK        
{ 
   if ($1 eq $me) { return parseSet("XX_CH_KICK_HI", $target, "$nick $1 $2-"); }
   else { return parseSet("XX_CH_KICK", $target, "$nick $1 $2-"); }
}

set CTCP_REPLY 
{ 
   $stuff = $2-;

   if ($pt ne "")
   {
     $stuff = $pt;
   }

   return parseSet("XX_CTCP_REPLY", $nick, "$1 $stuff");
}

set NICKLIST_FORMAT
{
   return formatNick($nick, $channel, $nick);
}

sub formatNick
{
   if ($1 isop $2) 
   {
      return "\c11@\c12 $+ $3";
   }
   else if ($1 isvoice $2) 
   {
      return "\C13+\c12 $+ $3";
   }
   else if ($1 ishalfop $2)
   {
      return "\C09%\C12 $+ $3";
   }
   return "\C12 $3";
}

set NOTICE 
{
   if ($nick eq "")
   {
      return parseSet("XX_EMPTY_NOTICE", getServerNetwork(), "$parms");
   }

   return parseSet("XX_NOTICE", $nick, "$address $parms");
}


#
# Altering the whois reply a little...
#
set REPL_311 { return; }
set REPL_314 { return; }

on REPL_314
{
   if (-isSetT "active.whois") 
   {
      echo(timeStampCh(parseSet("XX_WHOIS_HEADER")));      
      echo(timeStampCh(parseSet("XX_REPL_314_1", $1, "$2 $3 $5-")));      
      echo(timeStampCh(parseSet("XX_REPL_314_2", $1, "$2 $3 $5-")));      
   }
   else
   {
      echoStatus(timeStampCh(parseSet("XX_WHOIS_HEADER")));      
      echoStatus(timeStampCh(parseSet("XX_REPL_314_1", $1, "$2 $3 $5-")));      
      echoStatus(timeStampCh(parseSet("XX_REPL_314_2", $1, "$2 $3 $5-")));      
   }
}

on REPL_311
{
   if (-isSetT "active.whois") 
   {
      echo(timeStampCh(parseSet("XX_WHOIS_HEADER")));      
      echo(timeStampCh(parseSet("XX_REPL_311_1", $1, "$2 $3 $5-")));      
      echo(timeStampCh(parseSet("XX_REPL_311_2", $1, "$2 $3 $5-")));      
   }
   else
   {
      echoStatus(timeStampCh(parseSet("XX_WHOIS_HEADER")));      
      echoStatus(timeStampCh(parseSet("XX_REPL_311_1", $1, "$2 $3 $5-")));      
      echoStatus(timeStampCh(parseSet("XX_REPL_311_2", $1, "$2 $3 $5-")));      
   }
}

sub formatWhoisBX
{
   local('$temp');
   $temp = "$1 \c16" . charAt("$[9]2", 0) . "\c15" . substr("$[9]2", 1, strlen("$[9]2"));
   return "$temp $+ \c14:\c15 $3";
}

#
# formatted numerics
#

sub formatNumeric
{
   if (charAt($1, 0) eq "#")
   {
      return "$nnn [ $+ $1 $+ ] $2"; 
   }
   return "$nnn \c16 $+ $1 $+ \c15 $2";
}

#
# Formatted Server Output Type Stuff
#

# /who reply

set REPL_315 { return; }

# /mode #channel +b reply
$_bancount = 0;

set CHANNEL_BANLIST
{
   local('@info');
   @info = split('!', $3);

   $_bancount++;

   return "\c15 $+ $1 $2 set by: " . @info[0];
}

set CHANNEL_BANLIST_END
{ 
   if ($_bancount == 0)
   {
      return formatNumeric($1, "no bans set"); 
   }

   $_bancount = 0;
   return; 
}  # hide end of banlist reply...


set CTCP_REQUEST 
{
   if ($2- eq ""  || ($1 eq "PING" && -isnumber $2) )
   {
      return parseSet("XX_CTCP_REQUEST", $nick, "$address $target $1");
   }
   else
   {
      return parseSet("XX_CTCP_REQUEST_P", $nick, "$address $target $1 $2-");
   }
}

set SBAR_LEFT 
{
   local('$ime $iset');

   if ($me isop $query) 
   {
      $ime = "\B@\B $+ $me";
   }
   else if ($me ishalfop $query) 
   {
      $ime = "\B%\B $+ $me";
   }
   else if ($me isvoice $query) 
   {
      $ime = "\B+\B $+ $me";
   }
   else
   {
      $ime = "$me";
   }

   if ($line == 0)
   {
     if ($me ison $query)
     {
        $iset = "XX_SBAR_QUERY_CHAN";
     }
     else if ($query ne "")
     {
        $iset = "XX_SBAR_QUERY_OTHER"; 
     }
     else
     {
        $iset = "XX_SBAR_QUERY_NONE";
     }

     return parseSet("XX_SBAR_TIME", right("0 $+ $time", 7)) . parseSet("XX_SBAR_MYNICK", $ime) . parseSet($iset, $query);
  }
  else
  {
     if ($me ison $query) { $iset = "XX_SBAR_CHAN_INFO"; }
     else { $iset = "XX_SBAR_NO_INFO"; }

     return parseSet("XX_SBAR_LAG") . parseSet($iset, $query);
  }

  return;
}

set SBAR_RIGHT
{
  if ($line > 0) { return; }

  if ($me ison $query)
  {
     setWindowPrompt($window, "[ $+ $query $+ ] ");
  }
  else if (getWindowState($window) eq "NORMAL" && !-isspecial $window) # make sure the window is open and not a oddball window
  {
     setWindowPrompt($window, "[0] ");
  }

  if (size(getActiveConnections()) > 0)
  {
     foreach $var (getActiveConnections())
     {
        if (getConnectionType($var) eq "RECEIVE")
        {
           $pc = getDCCPercentage($var);

           if ($DCC_WATCH_TIMER eq "")
           {
              sub timertemp
              {
                 refreshWindow(getActiveWindow());
              }
              $DCC_WATCH_TIMER = addTimer(&timertemp, 2000);
           }

           return parseSet("XX_SBAR_DCC_STATUS", left(getDCCFileName($var), 25), $pc);
        } 
     }
  }  

  if ($DCC_WATCH_TIMER ne "")
  {
     stopTimer($DCC_WATCH_TIMER);
     $DCC_WATCH_TIMER = "";
  }

  return;
}

#
# DCC Chat Related
#

set DCC_REQUEST 
{
   if ($2 eq "SEND")
   {
      return "\c42$nnn DCC SEND request from $nick $+ \r:\r $3 (" . formatBytes($6) . ")";
   }

   return "\c42$nnn DCC $2 request from $nick";
}

#
# /dcc command...  don't want anyone feeling to left out :)
#

alias dcc
{
   if ($1 ne "")
   {
      call("/ $+ $0-", "use-built-in-command-only");
      return;
   }

   echo("\c3\bT\bype  \c16|\c3 \bN\bick      \c16|\c3 \bP\bercent \bC\bomplete        \c16|\c3 \bK\b/s   \c16|\c3 \bF\bile");
   echo("\c15\r-----\r-\b-\b-\r---------\r-\b-\b-\r-----------------------\r-\b-\b-\r-----\r-\b-\b-\r-----------------------");

   foreach $conn (getActiveConnections())
   {
      $type = getConnectionType($conn);
      $nick = getDCCNickname($conn);

      $info = DCCInformation($conn);

      echo("$[8]type $+ $[11]nick $info");
   }
}

set DCC_LIST_TYPE
{
   $conn = getDCCConnection($this);
   return "\c08" . getConnectionType($conn);
}

set DCC_LIST_NICK
{
   $conn = getDCCConnection($this);
   return "\c15" . getDCCNickname($conn);
}

sub DCCInformation
{
   local('$info $conn');

   $conn = $1;
   $type = getConnectionType($conn);

   if (!-isdccopen $conn)
   {
      return "Waiting...";
   }

   if ($type eq "CHAT")
   {
      $info = "\c15Idle for\r:\r " . formatTime(getDCCIdleTime($conn) / 1000); 
   }
   else
   {
      local('$a $b $c $d $bar');
      $a = getDCCPercentage($conn);
      $b = getDCCFileName($conn);
      $c = formatBytes(getTransferRate($conn)) . "/s";
      $d = formatTime2(getTimeRemaining($conn));   

      $bar  = "\c5,5" . substr("##########", 0, $a / 10) . "\c14,14" . substr("::::::::::", 0, 10 - ($a / 10)) . "\o\c15"; 
      $info = "\c15 $+ $bar $[-2]a $+ %  $[8]d $[7]c  $b";
   }

   return $info;
}

set DCC_LIST_INFORMATION
{
   return DCCInformation(getDCCConnection($this));
}

set RECEIVE_COMPLETE
{
   $dcc  = getDCCConnection($this);
   $file = getDCCFileName($dcc);
   $rate = formatBytes(getTransferRate($dcc)) . "/s";
   return parseSet("XX_RECEIVE_COMPLETE", $nick, "$file $rate");
}

set RECEIVE_START
{
   $dcc  = getDCCConnection($this);
   $file = getDCCFileName($dcc);
   return parseSet("XX_RECEIVE_START", $nick, $file);
}

set RESOLVED_HOST
{
    if ($2- ne "")
    {
       return parseSet("XX_RESOLVE_SUCCESS", $0, "$1 $2");
    }
    else
    {
       return parseSet("XX_RESOLVE_FAILED", $0);
    }
}

sub timeStampCh
{
   if (-isSetF "option.timestamp")
   {
      return parseSet("TIMESTAMP") . $1;
   }

   return $1;
}