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 <quit_msg>
/usr/local/lib/bx/BitchX.help BitchX help file.
BitchX.quit - provides random quit messages, for doing /quit without an argument. [1]
.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 <nickname> - Retrieve some information about a user. /nick <nickname> - Set your nickname /join <channel> - Join a channel in the active window /part <channel> - Leave a channel. /msg <nickname> - Send a private message to somebody /msg =<nickname> - Send a DCC message to somebody /me <action> - Perform an action in the channel. /q <nickname> - Dedicate a window to q "query" chat. /q =<nickname> - Dedicate a window to a DCC chat. /away <reason> - 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: [2]
/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: [3]
/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: [4]
################################################### ## ##Sample ~/.bitchxrc ## (This file will help your BitchX survive ## the conservative no bold or anything channels) ## ################################################### 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] # Server aliases ALIAS US /server us.undernet.org ALIAS ARL /server arlington.va.us.undernet.org ALIAS ATL /server atlanta.ga.us.undernet.org # User aliases ALIAS WIN /window new hide ALIAS CP /ping $C ALIAS ICMPING /exec ping -c 5 $0 # Op aliases ALIAS LOG /m x@channels.undernet.org login $C $0 ALIAS OPME /msg x op $C $N #EOF
Others:
- http://macnugget.org/stuff/.bitchxrc
- http://www.supercable.es/~cortijos/.bitchxrc
- http://www.vivaolinux.com.br/etc/.bitchxrc-ryu
Issues
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