scandalz.net
 
 
 
BETA (Google AJAX Search)

BitchX Solutions

BitchX is my favorite client for irc (Internet Relay Chat), it was really cool before 2000 and so many idiots started getting involved in IRC so now it sucks. I run my own private IRC server from ftp.irc.org and only allow connections via localhost. So I restrict access from everyone and only allow people with local user accounts to access it.

~/.bitchxrc

# BitchXrc - scandalized (ripped from David McNett's nuggetized version 
# 					 and Brian Weiss's tab stuff
#
# Operational Variable Settings
set ov off
set always_split_biggest on
set append_log on
set auto_away off
set auto_nslookup on
set auto_reconnect off
set auto_unmark_away off
set auto_whowas on
set beep on
set beep_max 3
set beep_on_msg msg notice wall wallop
set beep_when_away 3
set client_information http://www.distributed.net/  ]:8)
set dcc_dldir ~/dl/
set dcc_uldir ~
set dcc_autoget on
set exec_protection on
set flood_protection off
set kick_ops off
set logfile ~/irc/alltraffic.log
set log on
set send_away_msg off
set server_groups on
set show_away_once on
set show_channel_names off
set underline_video on
set user_information http://members.slacker.com/~nugget/
set verbose_ctcp on
set window split off
set window double on
set window triple on
set msglog off
set nick_completion_len 4
set mangle_logfiles ALL_OFF

mesg off

# Display Format Settings
fset action_channel [$Z]%B<%n$1 $4-%B>%n
fset dcc_chat [$Z]%g[%G$1%g->]%n $3-
fset send_dcc_chat [$Z]%g[%G$1%g<-]%n $2-
fset msg [$Z]%y[%Y$1%y->]%n $3-
fset notice [$Z]%p[%P$1%p->]%n $3-
fset send_msg [$Z]%c[%C$1%c<-]%n $3-
fset send_notice [$Z]%r[%R$1%r<-]%n $3-
fset send_public [$Z]%P<%n$2%P>%n $3-
fset nick_comp $0:$1-
fset nick_auto $0:$1-
fset public [$Z]%B<%n$1%B>%n $3-
fset nick_comp $0:$1-
fset nick_auto $0:$1-

set status_format3 scandalz.net secure chat channel
^wset * status_format3 scandalz.net secure chat channel

eval ignore $LEET modes joins parts quits

# Aliases and macros (gnu talk filter package)
alias austro     exec -out echo "$*" | /usr/local/bin/austro     
alias b1ffiglet  exec -out echo "$*" | /usr/local/bin/figlet -f b1ff -w 64 
alias b1ff       exec -out echo "$*" | /usr/local/bin/b1ff       
alias brooklyn   exec -out echo "$*" | /usr/local/bin/brooklyn   
alias chef       exec -out echo "$*" | /usr/local/bin/chef       
alias cockney    exec -out echo "$*" | /usr/local/bin/cockney    
alias drawl      exec -out echo "$*" | /usr/local/bin/drawl      
alias dubya      exec -out echo "$*" | /usr/local/bin/dubya      
alias figlet 		 exec -out echo "$*" | /usr/local/bin/figlet -w 64
alias fudd       exec -out echo "$*" | /usr/local/bin/fudd       
alias funetak    exec -out echo "$*" | /usr/local/bin/funetak    
alias jethro     exec -out echo "$*" | /usr/local/bin/jethro     
alias jive 			 exec -out echo "$*" | /usr/local/bin/jive
alias jive       exec -out echo "$*" | /usr/local/bin/jive       
alias kraut      exec -out echo "$*" | /usr/local/bin/kraut      
alias pansy      exec -out echo "$*" | /usr/local/bin/pansy      
alias pirate     exec -out echo "$*" | /usr/local/bin/pirate     
alias postmodern exec -out echo "$*" | /usr/local/bin/postmodern 
alias redneck    exec -out echo "$*" | /usr/local/bin/redneck    
alias valspeak   exec -out echo "$*" | /usr/local/bin/valspeak   
alias warez      exec -out echo "$*" | /usr/local/bin/warez     
alias boss	 exec /usr/bin/less /usr/src/sbin/dumpfs/dumpfs.c
alias mail	 exec echo "$*" | /usr/bin/mail 
alias chicken	 exec -out /bin/cat /usr/local/share/chicken/text.txt
alias serverwho	 exec -out /usr/bin/w





# I only chat on one channel on one server so this is easy.
on connect "*" {
  window scandalz channel #scandalz
}

assign TABKEY_NICK_HISTORY 6
assign TABKEY_NICKCOMP_SUFFIX :

bind ^I parse_command tabkey.process_tabkey

alias cleartab (void) 
{
	fe ($aliasctl(assign match TABKEY.NICKS.)) var
	{
		^assign -$var
	}
	fe ($aliasctl(assign match TABKEY.INDEX.)) var
	{
		^assign -$var
	}
	xecho -s -b Tabkey history cleared
}

alias tabkey.process_tabkey (void)
{
	if (L)
	{
		@ :lastw = word(${numwords($L) - 1} $L)

		if (left(1 $lastw) == [#])
		{
			@ tabkey.channel_routine()
		} \
		elsif (index($left(1 $L) $K) > -1)
		{
			switch ($rest(1 $L))
			{
				(%)
				{
					parsekey command_completion
				}

				(channel %) (j %) (join %) (l %) (leave %) (mode %) (part %)
				{
					@ tabkey.channel_routine()
				}			

				(dcc send % %) (exec *) (less %) (load %)
				{
					@ tabkey.file_routine()
				}

				(m % *) (msg % *)
				{
					@ tabkey.msg_routine()
				}

				(*)
				{
					@ tabkey.nick_routine()
				}
			}
		}{
			@ tabkey.nick_routine()
		}
	}{
		@ tabkey.msg_routine()
	}
}	
	
alias tabkey.add_nick (nick, void)
{
	if (match($nick $TABKEY.NICKS[$winserv()]))
	{
		@ TABKEY.NICKS.$winserv() = remw($nick $TABKEY.NICKS[$winserv()])
	}

	if (numwords($TABKEY.NICKS[$winserv()]) == TABKEY_NICK_HISTORY)
	{
		shift TABKEY.NICKS.$winserv()
	}

	@ push(TABKEY.NICKS[$winserv()] $nick)
	@ TABKEY.INDEX.$winserv() = [-1]

	return
}

alias tabkey.channel_routine (void)
{
	@ :lastc = mid(${strlen($L) - 1} 1 $L)
	
	unless (lastc == [ ])
	{
		@ :lastw = word(${#L - 1} $L)
		@ :findchan = pattern($lastw% $mychannels())
		
		if (match($lastw $findchan))
		{
			xecho -b Matches:
			echo $findchan
		}
		
		if (#findchan == 1)
		{
			@ :space = [ ]
			
			parsekey delete_to_previous_space
			xtype -l $findchan$space
		} \
		elsif (#findchan > 1)
		{
			parsekey delete_to_previous_space
			xtype -l $prefix($findchan)
			
			@ :lastw = word(${#L - 1} $L)
			
			if (!match($lastw $findchan))
			{
				xecho -b Matches:
				echo $findchan
			}
		}
	}	
	return
}

alias tabkey.file_routine (void)
{
	@ :lastc = mid(${strlen($L) - 1} 1 $L)

	unless (lastc == [ ])
	{
		@ :lastw = twiddle($word(${#L - 1} $L))
		@ :findfile = pattern($lastw% $glob($lastw*))
		
		if (#findfile == 1)
		{
			@ :lastc = mid(${strlen($findfile) - 1} 1 $findfile)
 			@ :space = [ ]
			
			parsekey delete_to_previous_space
			xtype -l $findfile${lastc == [/] ? [] : [ ]}
		} \
		elsif (#findfile > 1)
		{
			parsekey delete_to_previous_space
			xtype -l $prefix($findfile)

			xecho -b Matches:
			fe ($findfile) file
			{
				echo $file
			}
		}
	}	
	return
}

alias tabkey.msg_routine (void)
{
	@ :nicks = TABKEY.NICKS[$winserv()]
	@ :index = TABKEY.INDEX[$winserv()]
	@ :msg_cmd = CMDCHARS ## [msg]
	@ :trailing = restw(2 $L)

	if (nicks)
	{
		^local nick

		if (index > 0)
		{
			@ nick = word(${index - 1} $nicks)
			@ TABKEY.INDEX.$winserv() = index - 1
		}{
			@ nick = word(${numwords($nicks) - 1} $nicks)
			@ TABKEY.INDEX.$winserv() = numwords($nicks) - 1
		}

		parsekey erase_line
		xtype -l $msg_cmd $nick $trailing
	}{
		@ TABKEY.INDEX.$winserv() = [-1]
	}
	return
}

alias tabkey.nick_routine (void)
{
	@ :lastc = mid(${strlen($L) - 1} 1 $L)
	
	unless (lastc == [ ])
	{
		@ :lastw = word(${#L - 1} $L)
		@ :findnick = pattern($lastw% $onchannel())
		
		if (match($word(1 $L) $findnick))
		{
			xecho -b Matches:
			echo $findnick
		}
		
		if (#findnick == 1)
		{
			^local space

			if (#L == 1)
			{
				@ space = TABKEY_NICKCOMP_SUFFIX ## [ ]
			}{
				@ space = [ ]
			}
		
			parsekey delete_to_previous_space
			xtype -l $findnick$space
		} \
		elsif (#findnick > 1)
		{
			parsekey delete_to_previous_space
			xtype -l $prefix($findnick)

			if (!match($word(1 $L) $findnick))
			{
				xecho -b Matches:
				echo $findnick
			}
		}
	}
	return
} 

fe (msg send_msg) hook
{ 
	on #^$hook 420 "*"
	{
		@ tabkey.add_nick($0)
	}
}

fe (dcc_chat send_dcc_chat) hook
{
	on #^$hook 420 "*"
	{
		@ tabkey.add_nick(=$0)
	}
}

on #^dcc_connect 420 "% CHAT *"
{
	@ tabkey.add_nick(=$0)
}

  
2008 scandalz.net
"Would you tell me, please, which way I ought to go from here?" "That depends a good deal on where you want to get to," said the Cat. -- Lewis Carroll
CountryUS
IP Address38.107.191.95
User AgentCCBot/1.0 (+http://www.commoncrawl.org/bot.html)