BitchX

BitchX
BitchX - http://www.bitchx.org/

Installation
From RPMForge: yum install BitchX --enablerepo=rpmforge

Execution
Start BitchX: Usage: BitchX [switches] [nickname] [server list] BitchX BitchX irc.freenode.net BitchX kiloforce irc.freenode.net BitchX -b kiloforce irc.freenode.net # load .bitchxrc or .ircrc after connection

Command Line Options: -b          load .bitchxrc  or .ircrc after connecting to a server -N          do not auto-connect to the first server -A          do not display the startup ansi

NOTE: if you do not specify a server, BitchX will automatically connect to irc.foxlink.net:6667.

NOTE: if a .bitchxrc is found the .ircrc will not be processed.

NOTE: if you do not specify the -b, BitchX still tries to load .bitchxrc/.ircrc before joining server, which can causes issues

Starting using environment variables: export IRCSERVER=irc.freenode.net # server export IRCPORT=6667      # server port export IRCHOST=kiloforce # virtual hostname (if supported) export IRCNICK=kiloforce # nickname export IRCUSER=kiloforce # username export IRCNAME=kiloforce # real name BitchX

/who kiloforce kilonic (~kilouser@c-67-182-244-34.hsd1.ut.comcast.net) (Network) ircname : kiloircname

Files
~/.bitchxrc Loaded by BitchX when it is started.

~/.ircrc If ~/.bitchxrc is not there, this file is loaded on startup instead.

~/.ircservers Contains a list of IRC servers to cycle through.

~/.BitchX/BitchX.sav Personal configuration file.

~/.BitchX/BitchX.quit Default random quit messages. NOTE: Must be copied from /usr/local/lib/bx/ # or use: /set default_reason 

/usr/local/lib/bx/BitchX.help BitchX help file.

BitchX.quit - provides random quit messages, for doing /quit without an argument. 

.bitchxrc or .ircrc
/set realname kiloforce /ircnick kiloforce /ircuser kiloforce /ircname kiloforce /nick kiloforce

/set LOGFILE ~/.BitchX/chat.log /set LOG on

/server irc.freenode.net

/alias nwin window new double on;join $0;window hide /set auto_away off /set flood_protection off

/set default_reason Leaving

/set timestamp on /fset public %B[%n$0%B|%n$1%B>%n $3- /fset send_public %P[%n$0%P|%n$2%P>%n $3- /fset msg %B[%n$0%B|%G$1%B<%n $3- /fset send_msg %P[%n$0%P|%n%R$1%P> %n$3- /fset public_ar %B[%n$0%B|%Y$1%B>%n $3- /fset action %B[%n$0%B|%W$1%n $4- /fset action_ar %B[%n$0%B|%W$1%n $4- /fset action_channel %B[%n$0%B|%W$1/$3%n $4- /fset send_action %B[%n$0%B|%W$1%n $3- /fset send_action_other %B[%n$0%B|%W$2%n->%W$1%n $3- /fset channel_signoff %G[%n$0%G|%n$1%n%G|%n%CQUIT%n%G|%n$3%G>%n $4- /fset join %G[%n$0%G|%n$1%n%G|%n%CJOIN%n%G|%n$3%G>%n /fset leave %G[%n$0%G|%n$1%n%G|%n%CPART%n%G|%n$3%G>%n $4- /fset nickname %G[%n$0%G|%n$1%n%G|%n%CNICK%n%G>%n $3 /fset nickname_other %G[%n$0%G|%n$1%n%G|%n%CNICK%n%G>%n $3 /fset nickname_user %G[%n$0%G|%n$1%n%G|%n%CNICK%n%G>%n $3

on connect "*freenode.net" { /msg nickserv identify mypassword /nwin kiloforce /nwin utah /msg chanserv recover #kiloforce }

Start with only: BitchX

IRC Commands
Nick Name: /nick kiloforce /msg NickServ register [password] [email] /msg NickServ identify [password]

Join Channel: /join #utah /j [channel]

Switch channels (if in same window) [ctrl]+[x]

Set channel topic: /topic /topic [topic]

Show users in channel: /scan /scan [#channel] /who ?? F2 - operators ?? ?? F3 - non operators ??

User info: /whois [user] /ctcp [user] version

Directed chatting: (has user tab completion) [user]: [message]       # nothing special, but polite /me [message]           # says: * [user] [message] /notice [user] [message] # says: [notice([user]) [message] /msg [user] [message]   # private message /m [user] [message]     # private message

/query [user]           # create private chat channel /query                  # end private chat channel /msg [channel] [message] # message channel, if you are in query

Leave Channel: /part /part [channel] /pa

Clear window: /clear /c /clear -all  # clear all windows

Whois: /wi [NICK] /whois [NICK]

Quit: /quit /quit [message]

List aliases: (like nwin) /alias /al

Create alias: /alias [NAME] [COMMAND]

/alias hipeople /me waves to $0 $1 $2 ** /hipeople jon mary jane

/alias uptime /exec -o uptime # the -o says to tell the world the output

Save Aliases: /save

References:
 * http://linuxreviews.org/software/irc/irssi/ (works very similar to BitchX)

Windows
/window new double on hide

/alias nwin window new double on;join $0;window hide /nwin [channel]

Note: All windowing commands start with /window. 'new' means a new window will be created. 'double on' means that the command prompt will be the same as the first window (a 2 lined command prompt which shows information about you and the current channel). 'hide' means the new window should be fullscreen (according to the size of the terminal emulator window of working under X) and should not be visible immediately. If you do not specify 'hide', the current screen will be split, and the new 'window' will be on the same screen as the current one.

Window management: /window next /window prev [ctrl]-w n [alt]-[#] /window kill /window create /window del /window goto [#]

Close window /part /window kill

Note: make sure to leave the channel, or you will still be connected in the background

LinuxGuruz Main Page - very basic command: /whoois   - Retrieve some information about a user. /nick     - Set your nickname /join      - Join a channel in the active window /part      - Leave a channel. /msg      - Send a private message to somebody /msg =     - Send a DCC message to somebody /me         - Perform an action in the channel. /q        - Dedicate a window to q "query" chat. /q =       - Dedicate a window to a DCC chat. /away       - Let everybody in the channel know you're not - there. /back                      - Let everybody in the channel know you're back.

Other user info: /who         # list users in chat room /who [user]  # list only specified user /whois [user] # info about user /ctcp [user] # info about user's client

Configuration
Set variables: /set   # list variables /set [variable] [value]   # set variable

Kill the auto away: /set auto_away off echo "/set auto_away off" >> ~/.bitchxrc

Help: /help [command]

Save settings: /save

Logging: /set LOGFILE ~/irc/chat.log /set LOG on

Alias: /alias win window new double on hide

Disable Flood Protection: /set flood_protection off

Timestamps
Limited timestamps: /set timestamp on

More advanced timestamps: /fset public %B[%n$0%B|%n$1%B>%n $3- /fset send_public %P[%n$0%P|%n$2%P>%n $3- /fset msg %B[%n$0%B|%G$1%B<%n $3- /fset send_msg %P[%n$0%P|%n%R$1%P> %n$3- /fset public_ar %B[%n$0%B|%Y$1%B>%n $3- /fset action %B[%n$0%B|%W$1%n $4- /fset action_ar %B[%n$0%B|%W$1%n $4- /fset action_channel %B[%n$0%B|%W$1/$3%n $4- /fset send_action %B[%n$0%B|%W$1%n $3- /fset send_action_other %B[%n$0%B|%W$2%n->%W$1%n $3-

/fset channel_signoff %G[%n$0%G|%n$1%n%G|%n%CQUIT%n%G|%n$3%G>%n $4- /fset join %G[%n$0%G|%n$1%n%G|%n%CJOIN%n%G|%n$3%G>%n /fset leave %G[%n$0%G|%n$1%n%G|%n%CPART%n%G|%n$3%G>%n $4- /fset nickname %G[%n$0%G|%n$1%n%G|%n%CNICK%n%G>%n $3 /fset nickname_other %G[%n$0%G|%n$1%n%G|%n%CNICK%n%G>%n $3 /fset nickname_user %G[%n$0%G|%n$1%n%G|%n%CNICK%n%G>%n $3

Save settings: (doesn't ever seem to work!) /save

Sample .bitchxrc
Safe .bitchxrc: SET AUTO_AWAY_TIME 1800 SET AUTO_AWAY OFF SET BEEP OFF SET DCC_DLDIR ~/bxdownloads SET FLOOD_PROTECTION OFF SET NICK_AUTO $0:$1- SET NICK_COMP $0:$1- SET SWATCH COLLIDE,KILLS,MISMATCH,IDENTD FSET AWAY is away: ($3-) [message log on]
 * 1) Sample ~/.bitchxrc
 * 2) (This file will help your BitchX survive
 * 3) the conservative no bold or anything channels)
 * 1) (This file will help your BitchX survive
 * 2) the conservative no bold or anything channels)

ALIAS US /server us.undernet.org ALIAS ARL /server arlington.va.us.undernet.org ALIAS ATL /server atlanta.ga.us.undernet.org
 * 1) Server aliases

ALIAS WIN /window new hide ALIAS CP /ping $C ALIAS ICMPING /exec ping -c 5 $0
 * 1) User aliases

ALIAS LOG /m x@channels.undernet.org login $C $0 ALIAS OPME /msg x op $C $N
 * 1) Op aliases


 * EOF

Others:
 * http://macnugget.org/stuff/.bitchxrc
 * http://www.supercable.es/~cortijos/.bitchxrc
 * http://www.vivaolinux.com.br/etc/.bitchxrc-ryu

too lame to read
Issue:

/who [user] shows: ... (* I'm too lame to read BitchX.doc *)

Solution:

this is because the variable REALNAME is set:

REALNAME * I'm too lame to read BitchX.doc *

To fix, set the IRCNAME variable export IRCNAME=kiloforce BitchX

Note: during a session, setting realname will not resolve the issue: /set REALNAME kiloforce

Note: this didn't appear to fix it

Tutorials

 * BitchX Tutorial (Linux Reviews)


 * BitchX FAQ


 * LinuxGuruz Main Page