BitchX

From Omnia
Revision as of 20:21, 22 January 2015 by Kenneth (talk | contribs) (→‎Tutorials)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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:

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:

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

Tutorials

keywords