BitchX FAQ

        .sssSS$$s.s$$$$$$ $$sss..   s$$$^`$ss.   $$$$$s s$$$$  .s$$$$$s   s$s
     .$$$$$'  `$$$ $$$$$$ $$$$$$$$$s $$'   `$$$$s $$$'   `$$$  $$$$$$$'  s$$'
    s$$$$'      `$s $$$$ $$' $$$ $$$ $      d$$$$s $$     $$$   `$$$$'  s$$'
    $$$$$sss..ssS$'s$$$'s$' .$$' `$$ $     d$$$$$'s$$sssss$$$ $$$s`$$  s$'
    $$$$$$$^^^^$$s $$$$     $$$  s  s$           s$$$     $$$ $$$$s`$$s' by
    $$$$'       `$$s $$     $$$s $$$$$       ..sSb $$     $$$      s$`$s panasync
    $$$'         $$$s $    .$$$$ `$$$$     d$$$$$$ $$$    $$$    .$'  `$s.
    $$$s.      .s$$$$ $$  .$$$$$  `$$$$s.   $$$$$$ $$$s   $$$   s$     `$$$$s
    `$$$$Xavier$$$$$'s$$s $$$$$$s   `S$$sss$$$$$'s$$$$$  s$$$ s$$s      `$$$'

[BitchX FAQ v3.0.1 by NovaHak <novahak@bitchx.org>............................]
[...................and power <power@power.zepa.net>..........................]
[BitchX by panasync...........................................................]
_______________________________________________________________________________
[Foreword..................................................................0.0]
*******************************************************************************
The latest BitchX version at the time of writing this FAQ is BitchX-1.0,
and If you have ideas or comments, read the section 7.1 about how to contact
the authors.

_______________________________________________________________________________
[Table of Contents.........................................................0.0]
*******************************************************************************

    1.0     BitchX - General Stuff
            1.1     What is BitchX?
            1.2     Where can I get it?
            1.3     What are the system requirements to run BitchX?
            1.4     What OS's does BitchX work on

            1.5     Installing BitchX with source
            1.6     Installing BitchX with binaries
            1.7     BitchX and TCL
            1.8     Other files
            1.9     BitchX scripts

    2.0     Useful Features
            2.1     ircII Windowing - hidden windows
            2.2     ircII Windowing - multiple visible windows
            2.3     CDCC/XDCC
            2.4     Using BitchX XWindows
            2.5     BitchX toggles

    3.0     Help for Windows 95/98/NT users
            3.1     Where can I get BitchX for Windows 95/98/NT?
            3.2     How do I set basic environment variables in BitchX?
            3.3     Can I still use .bitchxrc in Windows?
            3.4     How can I set my own quit messages in Windows?
            3.5     How do I load a script?
            3.6     What are some basic commands I could use?
            3.7     If I write my own script, how do I promote it?
            3.8     Is there a file I can make that contains a list of servers that
                    I would like to use as default?

    4.0     PMBitchX
            4.1     What is PMBitchX, and where do I get it?
            4.2     How do I change my default irc nickname and username?
            4.3     How do I load the nick list?
            4.4     There are no menus, what do I do?
            4.5     How can I load a script and/or plugins at startup?
            4.6     The UNIX filenames don't work in PMBitchX, what is wrong?

    5.0     gtkBitchX
            5.1     What is gtkBitchX, and where do I get it?
            5.2     What is needed to compile gtkBitchX from scratch?
            5.3     It looks like normal BitchX, shouldn't it have menus?
            5.4     Characters look strange.  How do I fix it?
            5.5     How do I paste?
            5.6     I am writing a script and want to use the gtk features, where
                    do I look for information?
            5.7     After installing gtkBitchX I run console BitchX and some keys
                    don't work, what's going on?

    6.0     Common questions asked in #BitchX
            6.1     What is bxglobal, and where do I get it?
            6.2     What is .bitchxrc and .ircrc, and how are they different?
            6.3     What are the color codes in BitchX?  How do I use them?
            6.4     How do I script in BitchX?  How do I find out what arguments
                    should go to which function or command?
            6.5     I've heard rumors that BitchX has backdoors!
            6.6     What are the environment variables I can set before starting
                    BitchX?
            6.7     Can I spoof my host with BitchX?  I've seen people use
                    BitchX to change their hostname before!
            6.8     Explaining the status bar.
            6.9     How can I add a user to my auto-op userlist?
            6.10    How can I change the version reply?
            6.11    How can I turn on timestamping?
            6.12    Can I play audio CD's in BitchX?

    7.0     Miscellaneous
            7.1     Contacting
            7.2     Revisions of this document
            7.3     Top ten ways to get banned in #BitchX

    8.0     Credits

    _______________________________________________________________________________
    [General Information.......................................................1.0]
    *******************************************************************************

1.1 What is BitchX?

BitchX is a VERY heavily modified ircII client. It includes many
things such as built in CDCC (XDCC) offering, built in flood
protection, etc. It is easier to script things in BitchX because
unlike plain, vanilla ircII, half the script does not have to be
devoted to changing the appearance of ircII.

1.2 Where can I get it?

The main ftp site is ftp.BitchX.org

The source file name is called ircii-pana-xx.tar.gz and the binary is
BitchX-xxxx.gz . If the ftp or www site are not working, you best
chance is to go on irc and join #BitchX on EFNet, and do /ctcp
#BitchX cdcc list.

1.3 What are the system requirements to run BitchX?

You need about 1 megabyte free on a system with a UNIX OS. Your
terminal program should support ANSI if you want BitchX to show
color and high ascii if you want the display to work exactly
right. If you run Linux or Win95/98/NT, don't bother. For Linux,
you should only worry about disk space and configuring your
external devices (/dev/audio, etc) and network
stuff. For Win95/98/NT, BitchX will probably crash at times no
matter what you do, since it's Windows ;) Don't worry about it.

1.4 What OS's does BitchX work on?

BitchX now works with almost all UNIX OS's and Windows 32-bit.

Here is the list of OS's that BitchX is reported to work on:
Windows 95/98/NT
BSDI 2.0/2.1/3.0/3.1/4.0
SunOS 4.1.4, 5.3, 5.4, 5.5, 5.5.1
Linux (All)
IRIX
HP-UX 9.x/10.x
OSF/1 (DEC Alpha)
FreeBSD 2.x/3.x/4.x
DEC UNIX
Ultrix
AIX
IRIX

If you need binaries for those OS's, just go to the FTP sites, or
ask in #BitchX for them. If your operating system is not listed,
chances are that the source will compile, or that some person has
a binary avilable. Usually get your binary from people that have
ops in #BitchX.

1.5 Installing BitchX with source

Download the source file, ircii-pana-xx-xx.tar.gz, and do this:
gzip -d ircii-pana-xx-xx.tar.gz
tar xvf ircii-pana-xx-xx.tar
cd BitchX
more INSTALLATION (Specific OS problems, etc...)
make
make install (only if you are root - to install for system)

1.6 Installing BitchX binaries.

All you really need is the BitchX binary, you might want some of
the files in Section 1.8, though.

1.7 BitchX and TCL

Yes! BitchX supports TCL scripts. To use TCL with BitchX, you will
have to enable it when you run the GNU configure script. To do this
you will have to type "--with-tcl" after "./configure"

EXAMPLE: ./configure --with-tcl

Most TCL scripts will run out-of-the-box in BitchX, although some will
need modifications to work.

1.8 Other files

Here is a list of other files that BitchX has:

BitchX.reasons Random kick messages, for /kick without a reason.
BitchX.quit Random quit messages, for doing /quit without an
argument.
BitchX.help The help file for BitchX (/bhelp).

you may also put the ircII help files, then /set HELP_PATH to
their directory. all the BitchX files go to the ~/.BitchX
directory. ircii-x.xhelp.tar.gz - ircII base help files.

1.9 BitchX scripts

If you want the latest version of a script, come to #BitchX, and
do /ctcp #BitchX cdcc list, most of the script authors will
usually be offering theirs. Another good resource for script
reviews is fudd's page at http://we.got.net/~brian/ or openfaces
official BitchX scripts site at http://scripts.bitchx.com/
_______________________________________________________________________________
[Useful Featuress..........................................................2.0]
*******************************************************************************

    2.1 ircII Windowing - hidden windows

            Okay, first of all, I personally do not know anything about the
            split windowing functions in BitchX/ircII.  I think (notice this is
            my opinion) that split screens are somewhat pointless and
            uncomfortable, although there are a few real life situations that
            may warrant it.

            Instead, I use hidden windows, which are really neat if I do say
            so myself.  To get started, let's try something easy.  Go to #BitchX
            on EFNet.  Type /window new hide and you should not really notice
            anything.  BitchX has created a new window for you, and that
            window, hereafter referred to as (2) is hidden.  To switch to it,
            press ALT+2.  It's that simple.  You will notice that it only has
            one status bar, but this can be corrected by executing the
            following in window 2:

            /window double on split on

            "double on" turns on the second status bar, while "split on"
            turns on the topic bar.

            Now you are ready to go, it's as easy as that.  There are somewhat
            unlimited options with this type of windowing.  I will go through
            them one by one:

            Multiple Channels, Same Server: Simply type /j #channel in window
            2. To switch back to #BitchX in window 1, press ALT+1

            A one-line way to join a channel in a hidden window:
            /window new hide wap last double on split on channel #channel
            I alias this to /wnc, for "window new channel" like:
            /alias WNC {window new hide swap last double on split on channel $0}
            now you can just type /wnc #channel!

            Besides doing multiple channels and keeping them separate, you
            can also use these multiple hidden windows, your new friends, to
            organize your IRC life in these ways:

            /q <nick> in a window will make that window a dedicated query window
                      to <nick>

            /q =<nick> in a window will make that window a dedicated dcc chat
                      window to <nick>

            If you simply create a new window and dont do anything, it will
            automatically show things like /whois info and other normal /msg's
            in that window.

            You can even do multiple server connections to different IRC servers
            in one BitchX session.  To do this,
            type /server +irc.server.name in the window you want it to be in.

            Note: If for example, you have window 1 and 2 on EFNet, and window 3
            on Undernet, and you create window 4 and join a channel, it will
            join that channel on Undernet.

            Now you know the basics of ircII windowing.  More work will be
            done on BitchX's windowing, hopefully.  Only one more thing you
            need to know, how do I get rid of them?

            To kill a window, use /window kill.
            To kill a window on a different server,
            use /server -server.name.here and then /window kill.

    2.2 ircII Windowing - multiple visible windows

            Tired of the single-window approach to IRCing? Well then, master
            the windowing commands built into BitchX (and trusty ol' ircII,
            as well).

            With the windowing commands, you can create as many windows as
            will fit on your screen, and assign each to a channel, assign one
            to receive all  your /msg's (or even script something to create
            auto-query-windows when someone /msg's you, like in mIRC, or some
            such).

            Here are the standard ircII windowing commands available (/help window)

            ADD            BACK           BALANCE        BIND
            CHANNEL        CREATE         DELETE         GOTO
            GROW           HIDE           HIDE_OTHERS    HOLD_MODE
            KILL           KILL_OTHERS    LASTLOG_LEVEL  LEVEL
            LIST           LOG            LOGFILE        MOVE
            NAME           NEW            NEXT           NOTIFY
            NOTIFY_LEVEL   NUMBER         POP            PREVIOUS
            PROMPT         PUSH           REFNUM         REMOVE
            SCROLL         SERVER         SHOW           SHRINK
            STACK          SWAP           UNBIND         WINDOW

            The way to use these are to bind them to particular keys.. I like
            to make ^W a meta character (/bind ^W meta2_character), and then
            use the NEW, SHRINK, GROW, with 2 key strokes, like ^W n for a new
            window, ^W s to do a SHRINK, etc.

            BitchX already has some of these binds built in. (/bhelp window)

                    [window shortcuts]:
                         ^W- - Shrinks current window 1 line
                         ^W+ - Grows current window 1 line
                         ^Wm - Moves current window down 1 line
                         ^Wl - Lists current windows
                         ^Wk - Kills current window
                         ^Wh - Hides current window
                         ^Wb - Balances window sizes
                         ^Wn - Swaps to next window
                         ^Wp - Swaps to previous window
                          /# - Shows window number (1-4)

            Of course, there doesn't appear to be one to actually create the
            windows, so what I'd do is a "/bind meta2-c window new".

            So, you're up with one window going.

            hit ^W-c, and bingo, your screen is chopped in half... You can
            tell which window is the "current" window by the ^^^^^^^ in
            regular BitchX.  With  some scripts, it may be harder to tell which
            one is current (usually can be determined by which window the
            usermode appears on, or on your input  prompt, which may be the
            channel name).

            Ok, now you're ready to /join in the new window... The next most
            valuable command is the NEXT_WINDOW, which I have bound to ^O, of
            course, its personal preference... Make it an easy to hit key
            because you'll be toggling like a bitch, once you have several
            windows up...

            To Shrink, or Grow, ^W- or ^W+... It's really quite simple once
            you got it down.

            Another handy feature, is to actually have each window connect to
            a different server! The way to do this is get into an empty
            window, and do "/window server irc.blah.com"... This way, you can
            be on EFNet, Undernet, Dalnet, etc., etc., all with the same
            client.

    2.3 CDCC/XDCC

            BitchX offers built in support for public file offering called
            CDCC.  As this is not what is normally used by mIRC & ircII
            scripts, which for the most part use XDCC, BitchX will recognize
            XDCC requests as CDCC requests.  /CDCC <command> will give you a
            list of options.  In BitchX, /CDCC without an argument will give
            you a list of arguments/commands you can use.

    2.4 Using BitchX with XWindows

            Lately, there have been a lot of requests for help with getting
            color and function keys working in XWindows in the channel.
            Before you ask for help in the channel, please make sure that you
            have obtained the xterm variant called rxvt, and the font
            vga11x19.  These should be readily obtainable from sunsite.unc.edu
            or one of its mirrors.  If you fail to find it there, try
            http://torgo.ml.org/las, the Linux Archive Search.  When you start
            rxvt, run it with the options "-bg black -fg white -fn vga11x19".
            If you do not have vga11x19, get it! Meanwhile, use the font vga
            as a substitute.  If function keys don't work, you may need to add
            this to ~/.bitchxrc:

                    /bind meta3-1 chelp
                    /bind meta3-2 CHANNEL_CHOPS
                    /bind meta3-3 CHANNEL_NONOPS
                    /bind meta3-4 CDCC_PLIST
                    /bind meta3-5 DCC_PLIST
                    /bind meta3-6 DCC_STATS

            Those are the default BitchX function key bindings and should work
            as such.

    2.5 BitchX toggles

            BitchX has a built-in toggle menu to turn on and off commonly
            used features of the client.  To see this menu, type /toggle.
            To turn something off or on, type /toggle <name>.

                    auto_nslookup
                            Automatically lookup numerical IPs
                    flood_protection
                            Turn on/off flood protection
                    ctcp_flood_protection
                            Turn on/off CTCP flood protection
                    pubflood
                            Kick people from the channel for public floods
                    kickflood
                            Ban people from the channel for kick floods
                    deopflood
                            Ban people from the channel for deop floods
                    joinflood
                            Ban people from the channel for join floods
                    nickflood
                            Ban people from the channel for nick floods
                    beep
                            Turn on/off the beep sound
                    dcc_autoget
                            Auto get DCC files that are sent to you
                            Note: This will not autoget 0 byte files
                                  like /dev/null or something
                    msglog
                            Log messages while away
                    llook
                            Automatic link looker
                            Note: Many opers automatically K'line for this
                    auto_whowas
                            Automatically /whowas a nick if they aren't on IRC
                    verbose_ctcp
                            Show verbose CTCP requests
                    cloak
                            Hide CTCP information so people can't, for example,
                            /ctcp you VERSION.
                    operview
                            Split a window for server messages
                    shitlist
                            Turn on/off your shitlist
                    kick_ops
                            Weather or not to kick ops in the channel
                    annoy_kick
                            Kicks users who use annoying text.  This includes
                            bold/inverse/underlined text.
                    userlist
                            Turn on/off your userlist
                    hacking
                            Protect against nethacks (servermodes)
                    nick_completion
                            Turn on/off nick completion
                    auto_rejoin
                            Auto rejoin a channel when kicked
                    aop
                            Turn on/off your autoop
                    auto_away
                            Turn on/off your auto away
                    auto_reconn
                            Automatically reconnect to the server if disconnected
                    bitch
                            Only allow ops in the channel if you have then on
                            your userlist.
                    dcc_fast
                            Fast DCC transfers
                    kick_if_ban
                            Kick a user if they have an active ban for them.
                    ftp_grab
                            Automatic FTP URL grabber.
                    http_grab
                            Automatic HTTP URL grabber.
                    display_ansi
                            Display ansi
                    log
                            Log channel activity

_______________________________________________________________________________
[Help for Windows /95/98/NT users..........................................3.0]
*******************************************************************************

    3.1 Where can I get BitchX for Windows 95/98/NT?

            To get BitchX for Windows, you need to goto
            http://www.BitchX.org/download.html and look for the Precompiled i386
            Win95/98/NT version.  Alternitivley you could try ftp.BitchX.org.
            You could also join #BitchX on EFNet and type "/ctcp #BitchX cdcc list"
            to see if anyone is offering it.

           *NOTE: http://www.BitchX.com just points to http://www.BitchX.org,
                  there is the same thing's on whichever URL you point your browser
            too.  However, the BitchX.net domain is not yet official, but that is a
            different matter.  There is a difference in the ftp address,
            ftp.BitchX.com is different from ftp.BitchX.org (they're still the
            official ftp sites however, they're just maintained by different
            people).

    3.2 How do I set basic environment variables in BitchX?

            To set most basic environment variables under Windows 95/98 you use the
            autoexec.bat under NT you use the WinNT Registry.  To help things work
            properly it helps if you have a $HOME directory.  This is where the ~
            (tilde) point's to in a UNIX environment.  Below is how to set a few
            'basic' environment variables:

            HOME:           Set's the $HOME directory where script's etc are loaded
                            from
            EXAMPLE:        set HOME=/novahak

            IRCNICK:        Set's the default nickname to use, otherwise "Unknown"
                            is used
            EXAMPLE:        set IRCNICK=NovaHak

            IRCUSER:        Set's the default username to use, otherwise "Unknown"
                            is used again
            EXAMPLE:        set IRCUSER=novahak

            IRC_HOST:       Set's the virtual hostname to use.  See Section 4.7 for
                            more details
            EXAMPLE:        set IRC_HOST=check.out.my.cool.domain.name.org

            IRCNAME:        Set's the "ircname".  When doing a /whois <nick> it is
                            displayed next to the nick. also known as the realname.
                            The default is: * I'm to lame to read BitchX.doc *
            EXAMPLE:        set IRCNAME=* I have read BitchX.faq *

            IRCSERVER       Set's the default server to use.  If not set then a
                            list of default servers is loaded by BitchX
            EXAMPLE:        set IRCSERVER=irc.mindspring.com

            IRCPORT:        Set's the default port to use, usually between 6665 and
                            6668
            EXAMPLE:        set IRCPORT=6667

            IRCUMODE:       Set's the default user mode
            EXAMPLE:        set IRCUMODE=+i

            IRCRC:          Sets the filename to use instead of irc-rc
            EXAMPLE:        set IRCRC=~/novahak-irc-rc

    3.3 Can I still use ~/.bitchxrc in Windows?

            NO! The Windows equivilant to UNIX's "~/.bitchxrc" is "bx-rc" placed
            in the $HOME directory.  You can still use the same commands in here
            though.  There is an example .bitchxrc by power called
            "example-.bitchxrc" located in the 'doc' directory in your BitchX
            folder.

    3.4 How can I set my own quit messages in Windows?

            In the ~/bx-conf directory there is a file called "BitchX.quit" with a
            huge list of quit messages, I think they were created by BlackJac.
            Delete all these and put a few or just one of your own in.  Or, if you
            don't have that, go into BitchX and type
            "/set default_reason <quit msg>" or just create the "BitchX.quit" file.
            *NOTE: There is also a file called "BitchX.kck" this contains random
                   kick messages.

    3.5 How do I load a script?

            In BitchX type "/load <path to script>" if the script is in your $HOME
            directory then just type "/load ~/<scriptname.bx>" or if you want the
            script to load everytime you start BitchX then type this in your
            "bx-rc"

            ## this command loads the osiris script by shiftee
            ^load ~/osiris/os.bx

    3.6 What are some basic commands I could use?

            There are loads of 'basic' commands you could use, I am just going to
            mention the most useful ones.

            /about Gives you some info from panasync about the client itself
            /addforward <nick>/<channel> forwards all messages received to another
                                         nick or channel
            /addshit <nick> <channel> add's a person to your shitlist
            /ajoin <channel> auto join's a channel when BitchX starts up
            /away <reason> set's you as being away, and turn's BX msg log on
            /ban <nick> ban's a nick from the current channel.  Shortened way of
                        doing /mode <channel> <nick> +b
            /ctcp A command with alot of various parts to it. Only one command
                  at a time can be done. /cdcc by itself will display this list
                  however.
            CHANNEL   - public timer channel. Channels can be a comma separated
                        list of channels.
            DESCRIBE  - change description of pack
            DOFFER    - remove pack from the offer list
            LIST      - list the packs you have offered
            LOAD      - load packs saved to .cdcc.save or specified name
            MINSPEED  - minspeed for cdcc ( #.##)
            NOTICE    - notify the channel of offered packs
            OFFER     - add a pack to the offer list
            PLIST     - publicly list your offered packs
            QUEUE     - view entries in the send queue
            SAVE      - save your offerlist to .cdcc.save or specified name
            SEND      - send a pack to user
            RESEND    - re-send a pack to user
            TSEND     - tdcc send a pack to user
            TRESEND   - tdcc resend a pack to user
            RESUME    - mirc resume
            TIMER     - public list timer in minutes
            NOTE      - add note to pack number
            TYPE      - toggle between public and notice
            ECHO      - toggle echo on/off
            STATS     - display cdcc statistics
            SECURE    - adds a password to a pack

            /channel Uses the current channel as default and runs up a huge list of
                     who is in the channel, basically a huge /whois without the
                     channels and server that the people are on.
            /chat <nick> Opens up a dcc chat window so you can chat to someone.
            /ctcp <nick> <argument> Basically an information service, to find out
                                    more open BitchX and type /bhelp ctcp
            /cset is a command used to set many differant options related to
                  channels.
            /dcc Another 'sortof' information service.  Go into BitchX and type
                 "/dcc help" for more
            /deop <nick> Removes operator status from <nick>
            /devoice <nick> Removes voiced status from <nick>
            /disconnect Disconnect's you from the server
            /dns <hostname> give's the DNS address of the given hostname
            /exit Same as disconnect only it closes BitchX too
            /fset <variable> set's various format's in BitchX
            /ftp <hostname> [login] [password] [-p port] An actual ftp client
                            itself built into BitchX, downloads files via dcc
            /ignore <nick> <channel> Ignores a specific nickname from a specific
                                     channel
            /join <channel> Joins a channel, alias= /j <channel>
            /k <nick> Kicks the <nick> off the channel (they *can* rejoin)
            /kb <nick> Kickban's the <nick> off the channel (they *can't* rejoin)
                       usually the ban is removed automatically after 600 secs.
            /leave <channel> Leaves the specified channel, if no channel is given
                             you leave the current one.  Alias= /l <channel> /part
                             <channel>
            /msg <nick> <message> Send a message to the <nick>
            /nick <newnick> Changes your nickname
            /op <nick> Gives someone Operator Status
            /quit Quit's IRC, disconnect's you from your server and closes BitchX
            /save Saves any changes you have made to BitchX
            /server <address> Changes servers
            /set Set variables in BitchX
            /shitlist View your shitlist
            /topic <topic> Changes the topic for a channel (usually only ops can do
                           this)
            /version Shows BitchX's internal version
            /whois <nick> Shows the stats for a <nick> what channel's there on etc.
                          ALIAS= /wi <nick>
            /whowas <nick> See who was on IRC with your <nick>
            /window <argument> Has many different outcomes, type /window help for
                               more

    3.7 If I write my own script, how do I promote it?

            If you write your own script then send an e-mail to brian@got.net
            or openface@puckrock.com with your script attached, give a description
            about what it does etc. and give him your e-mail address, your web page
            address (if you have one).  Oh yeah, and give as much information as
            possible.  You can also submit your script at this address:
            http://scripts.bitchx.com/contrib.php3

    3.8 Is there a file I can make that contains a list of servers that
        I would like to use as default?

            Yes there is, if you make a file in your home directory called
            "irc-serv" you then type the address of each server on it's own
            individual line.

            EXAMPLE:   irc.mindspring.com
                       irc.cs.cmu.edu
                       irc.core.com

            and you could go on and on, the above are EFNet servers, there are
            other servers such as: Ircnet, Dalnet and Undernet but you will find
            that most the action resides with EFNet.  If you like, you may also
            specify which port's to use by doing this:

            irc.mindspring.com:<portnumber>
            irc.cs.cmu.edu:<portnumber>
            irc.core.com:<portnumber>

            One more thing, for those of you who haven't got a clue what I mean by
            the term 'IRC' it means 'Internet Relay Chat' if you didn't know that
            then I suggest BitchX isn't for you!

_______________________________________________________________________________
[PMBitchX..................................................................4.0]
*******************************************************************************

    4.1 What is PMBitchX, and where do I get it?

            PMBitchX is an OS/2 Graphical User Interface (GUI) version of the
            original BitchX by panasync.  Many of the GUI enhancements are based
            on the OS/2 client OpenChat.  The current features are: multiwindows,
            resizeable windows, font's configurable, scriptable pulldown menus,
            full BitchX script compatibility, floatable nicklist window, properties
            notebook, file font and popup dialogs, and multimedia enhancements
            (sound).

            You can obtain the latest version (BETA 1) from
            ftp.BitchX.org/pub/BitchX/binaries/PMBitchX-75p3-OS2-i386.zip

    4.2 How do I change my default irc nickname and username?

            These are set by environment variables, the four most important
            variables are IRCNICK, IRCNAME, USER and HOME.  If you are using BETA 3
            and up the installation program should have set these for you.
            Otherwise you will have to put these variables in your CONFIG.SYS, or
            edit the PMBITCHX.CMD file and use that to start your IRC session.

    4.3 How do I load the nick list?

            At the input prompt type /loaddll nicklist, and then type /nl to
            activate the nicklist window.  In the current version of the nicklist
            plugin, run /nl only once, because the second time you run /nl it
            should close the window, but it does not do it correctly so you won't
            be able to get the nicklist back.

    4.4 There are no menus, what do I do?

            At the input prompt type /load bxmenu.bx, this will load the default
            PMBitchX script adding all the functionality most users desire.

    4.5 How can I load a script and/or plugins at startup?

            Go to the HOME directory pointed to by the HOME environment variable,
            and create a file called bx-rc, this is the equivilant to .bitchxrc in
            UNIX. In that file enter the commands to load the dll's and scripts you
            desire.

    4.6 The UNIX filenames don't work in PMBitchX, what is wrong?

            Due to filename restrictions on FAT systems the BitchX filenames have
            been shortened for OS/2.

_______________________________________________________________________________
[gtkBitchX.................................................................5.0]
*******************************************************************************

    5.1 What is gtkBitchX, and where do I get it?

            gtkBitchX is a port of PMBitchX to XWindows using the gtk
            (Gimp Toolkit) windowing library.  It includes all the features of
            PMBitchX, except in a UNIX environment.

            You can get gtkBitchX from ftp.bitchx.com or on #BitchX EFNet, do this:
            /ctcp NuKe cdcc list

    5.2 What is needed to compile gtkBitchX from scratch?

            To compile gtkBitchX from scratch you will need the following:
            GTK 1.2.0, ZVT from gnome-libs 1.0.12, imlib 1.9.4 and pthreads.
            glibc 2.1 or higher is recommended if on Linux.

    5.3 It looks like normal BitchX, shouldn't it have menus?

            The GUI features are scripted.  There is a file called menu.bx in the
            doc directory in the package (~/BitchX/doc).  To get the menus copy
            menu.bx into your home directory and type /load ~/menu.bx in BitchX.

    5.4 Characters look strange.  How do I fix it?

            Install a vga compatible font such as vga.pcf and then do this:
            /set DEFAULT_FONT vga | /save | /window font vga

    5.5 How do I paste?

            When menu.bx is loaded there are paste options on the BitchX pulldown
            menu and also on the popup menu.  Or you use the command /pmpaste.

    5.6 I am writing a script and want to use the gtk features, where do I look for
        information?

            There are doc's in the BitchX-docs project (~/BitchX/bitchx-docs) which
            will give you the info needed, to view them in gtkBitchX type /ehelp.

    5.7 After installing gtkBitchX I run console BitchX and some keys don't work,
        what's going on?

            You are probably loading menu.bx in your .bitchxrc.  Since gtkBitchX
            (and menu.bx) make use of keybindings that don't exist in console
            BitchX problems can occur.  Remove the ^load menu.bx from your
            .bitchxrc when using console BitchX.

_______________________________________________________________________________
[Common questions asked in #BitchX.........................................6.0]
*******************************************************************************

    6.1 What is bxglobal, and where do I get it?

            Unless you are root, you won't have to worry about bxglobal.
            BitchX runs fine without it.  What is it?  Nothing more than a
            global .bitchxrc

    6.2 What is .bitchxrc and .ircrc, and how are they different?

            .bitchxrc and .ircrc are both variants of the same thing, a file
            loaded up by BitchX automatically.  What are the differences?

            .ircrc          this is loaded by all ircII clients, only put stuff
                            that will work with base ircII scripting here.  Also,
                            this is loaded upon connecting to a server.
            .bitchxrc       this file is loaded as soon as BitchX starts.
                            Put all BitchX-specific scripting here.

    6.3 What are the color codes in BitchX?  How do I use them?

            %K - Dark Gray                          %k - black
            %G - bold green                         %g - dark green
            %Y - yellow                             %y - brown
            %C - bold cyan                          %c - cyan
            %B - bold blue                          %b - blue
            %P and %M - bold purple/magenta         %p and %m - and purple/magenta
            %R - bold red                           %r - red

            %n - null color (will nullify colors before it)
            %0 %1 %2 %3 %4 %5 %6 %7 %8 %9   - background colors
            %F flashing foreground
            %U underline text.

            To set color in formatting and status (/set FORMAT_* and /set
            STATUS_*), you don't need to do anything special.  To use colors
            in echo, say, etc., try using /eval echo $cparse("%Bblue%n") and
            so forth.

    6.4  How do I script in BitchX?  How do I find out what arguments
         should go to which function or command?

            To script, you should have at least some experience using the
            client so you know how things SHOULD react, etc, etc.  There is no
            designated  "guide" to scripting, just look at the scripts that
            come with the BitchX source, or ircII scripts that you already
            have/can get.

            On the second question. First of all, try looking in BitchX.help
            (/bhelp). If it's not in there, try the base ircII help file.
            Also, look in scripts and see if you can try figure out the
            syntax/arguments a particular command  should have. Check and see
            whether it is a script defined function.  Try reading the script
            to see whether it is defined in there.  If you're too lazy to do that
            you might try /load'ing the script and comparing the /load'ed
            scripts output with that of typing it in at the command prompt.
            (/eval echo $func(args) and /command).  If it's definitely an
            "undocumented feature", e.g. you can't find out what its' use is,
            ask in the channel, someone may be able to help.

    6.5  I've heard rumors that BitchX has backdoors!

            The person who started that rumor was some idiot Undernet ircop
            who didn't know what he was talking about posting on bugtraq.

            First off, he is talking about something which he has no
            knowledge  of.  BitchX is a program, not a script, and there are
            no bugs/backdoors in it other than the accidental bugs a normal
            program that is under development would have.

            Secondly, I doubt greatly that it's safe to trust the judgement of
            someone who gives programs a snap judgement on the name of it
            alone.  It's obvious from the phrasing of the article that he
            thinks BitchX is a script, not a program, and from that we can
            surmise that he has not even tried it. The only "backdoors" in
            BitchX are those of a program under constant development and
            revision -- bugs may turn up, but they are fixed as soon as they
            are discovered.

    6.6 What are the environment variables I can set before starting BitchX?

            Assuming you are using the bash shell, this is how you would do it:

            bash:~$ export VARIABLE="value"

            Variable        Value
            IRCSERVERS      "server:port server2:port2 server3:port3"
            IRCNICK         "nickname"
            IRCNAME         "* I have read BitchX.faq *"
            IRC_HOST        "virtual hostname here" (see sec. 3.7 for details)

    6.7 Can I spoof my host with BitchX?  I've seen people use
        BitchX to change their hostname before!

            No!@#  BitchX is NOT a spoofer.  To spoof your hostname, you need
            external programs.  Please don't ask how to do this in #BitchX,
            you will at the very least be ignored, as spoofing is illegal as
            well as lame.

            BitchX can be used to utilize virtual hosts (multiple hostnames
            registered to the same machine), so that you can decide what
            hostname you would like to use.  This is not spoofing, because the
            virtual host is already  registered to your machine.  The way to
            do this would be to set an environment variable called IRC_HOST
            before you start BitchX.  For example, if I were using the bash
            shell on computer.com, which also had an alias called data.org, I
            would do this:

            bash:~$ export IRC_HOST="data.org"
            bash:~$ BitchX MyNick irc.server.com

            Note, if you are using tcsh, use  `setenv IRC_HOST "data.org"`

            When I connect to the server, I would then /WHOIS MyNick, I
            should then show up as user@data.org, instead of
            user@computer.com.

            If you do not know if your shell has virtual hosts on it, ask your
            shell admin, DO NOT ASK IN #BitchX.  If you are your own shell
            admin and still do not know if you can use virtual hosts, might
            I suggest that you read some books, or hire someone that knows
            something. :)

    6.8 Explaning the status bar.

            On the right-hand side, you see: [U:a:S:b:h], this gives you a quick
            look at some of the options that are turned ON and off in BitchX.
            An uppercase letter means the option is on, while a lowercase
            letter means the option is off.
            U=userlist, a=autoop S=shitlist b=bitch h=hacking.

            When you join a channel, you see something like:
            [O/35 N/128 I/4 V/0 F/0], this gives you a quick overview of
            the status of the people in the channel.
            O = number of ops in the channel
            N = number of non-ops in the channel
            I = number of IRCOps in the channel
            V = number of voiced users in the channel
            F = number of people on your friend's list in the channel

    6.9 How can I add a user to my autoop userlist?

            /adduser nick #channel friend,i_ops
            /cset * aop on
            /set aop on
            /save

            i_ops will op the user instantly on join, for a delayed autoop,
            dont use the i_ops flag.

            more than one #channel may be specified by seperating each
            channel by a comma: /adduser nick #channel1,#channel2,#etc
            friend,i_ops - To add a user for all channels, use a * for the
            channel.

            For a complete list of available user flags, /bhelp userlevels

    6.10 How can I change the version reply?

            /fset format_version Hi, this is my new version reply.

            You can change nearly all the responses that BitchX gives. Type
            /fset for a complete list of format's that you can change. You can use
            the % color codes covered in section 3.3 in most of the formats.

    6.11 How can I turn on timestamping?

            To turn on timestamping, add a $0 to the format.
            Example, to turn timestamps on for public channel messages, you
            would type:

            /fset format_public [$0] %b<%n$1%b>%n $3-

            This would make public messages look something like:

            [2:32am] <Venoma> *lix*

    6.12 Can I play audio CD's in BitchX?

            Yes, you can.  Before you compile BitchX, modify the Makefile
            and turn on the CDROM features.

            Use the following commands in BitchX to control the cdplayer:

            /cdplay   /cdpause   /cdstop   /cdvol   /cdlist   /cdeject

            *Note: There is also a plugin available which can be dynamically
                   loaded. /loaddll /path/to/module.so. Several plugins are
                   available like blowfish, cdrom, amp etc.

_______________________________________________________________________________
[Miscellaneous.............................................................7.0]
*******************************************************************************

7.1 Contacting

            For more information about this FAQ, and for comments, you can
            talk to NovaHak(novahak@bitchx.org) or power(power@power.zepa.net) on
            EFNet IRC.

            If you have any further questions on PMBitchX, or gtkBitchX you can
            contact the author, NuKe@EFNet, or [NuKe]@EFNet on #BitchX and if you
            have a bug report for him, then e-mail (dbsoft@technologist.com)

            Join the BitchX user mailing list to ask questions or discuss
            BitchX's newest features.  Most of the BitchX development team are
            subscribed to this list.  Send an email to
            majordomo@lists.bitchx.com with "subscribe bitchx" in the body of
            the message (without the quotes).

            If you want information about BitchX, you can talk to the author
            panasync (edwards@bitchx.dimension6.com) on IRC, or join #BitchX on
            EFNet, and ask your question,. please do not ask him questions that you
            can ask in the #BitchX channel, or learn from reading this FAQ,
            the BitchX.help, or other help sources, as he is a busy man.

7.2 Revisions

10/22/99 :BitchX FAQ v3.0.1 by NovaHak <novahak@bitchx.org>
and power <power@power.zepa.net>
:Received a few 'bug reports' on the FAQ, just fixed
it up a bit.

            9/18/99         :BitchX FAQ v3.0.0 by NovaHak <novahak@bitchx.org>
                             and power <power@power.zepa.net>
                            :Added PMBitchX and gtkBitchX section (requested by NuKe)

            8/9/99          :BitchX FAQ v2.0.2 by NovaHak <novahak@bitchx.org>
                             and power <power@power.zepa.net>
                            :Added section for Windows NT/95/98.  Basic commands,
                             misc stuff etc.  Found a few spelling errors which have
                             been taken care of =]

            1/1/99          :BitchX FAQ v2.0.1 by power <power@power.zepa.net>
                            :Added new features/information.  Changed the look
                             of the FAQ.

            6/11/97         :Fixed grammar & punctuation.  Fixed spelling errors.
                            :Added Yngve's section on ircII window manipulation.
                            :Added questions asked on #BitchX section. v1.5.4.
                            :Changed the look of the FAQ again.

            6/8/97          :v1.5.0 came out.  Rush job, quickly formatted and
                             checked for errors.  Some overlooked.  Changed
                             the "look" of the FAQ.

            ??/??/??        :BitchX FAQ v1.0.0 by IceBreak and sh00p came out.

7.3 Top ten ways to get banned in #BitchX

            We've compiled this little list of the top 10 ways to get banned
            in #BitchX EFNet.  These are in no particular order.

            10.     Using excessive caps/puncuation/colors
                            Asking your question in a humane way will get
                            your point across, you do not need to CAPS it
                            or use colors/bold/underline/inverse.  You also
                            need not use excessive puncuation.  OK?!??!????

             9.     Repeating your questions often
                            This is extremely annoying.  Ask your question
                            once. This is extermemly annoying.  Ask your
                            question once.  We will get around to you and
                            give you an answer.  If we don't answer your
                            question, ask again in 5 or 10 minutes. This
                            is extremely annoying.  Ask your question once.

             8.     Asking to ask a question
                            This is is beyond lame.  Why ask if you can ask
                            a question? Anyway, just ask in the channel and
                            we'll try to answer the best we can.

             7.     Asking for ops/voice
                            No, we will not op you.  This is the sure way to
                            earn yourself a ban.  Only cool people get voiced
                            so if an op doesn't know you, don't ask to be
                            voiced.  If you know an op and want a voice,
                            send them a private /MSG and see if they will.

             6.     Making any reference to mIRC
                            mIRC is not to be mentioned.  We can't stand
                            Windows or Khaled.  The only time mIRC can be
                            brought up in the channel is if you're planning
                            to takeover #mIRC or something.

             5.     Asking questions not related to BitchX
                            This is why there are channels like #linux,
                            #linuxhelp, #linuxos, #lamers, #imoncrack, etc.
                            Only ask questions that relate to BitchX.

             4.     Making derogatory statements about females
                            We all love females.  Lately there have been
                            quite a few that have been hanging out in #BitchX...
                            (no this is not an offer for netsex, god!) We
                            respect our lady-friends.

             3.     IRC'ing as root
                            Oh my god, they hacked your box, those bastards!

             2.     Asking about/for scripts that we disown (ICE/BX,crackrock)
                            These scripts are not supported by #BitchX, and will
                            NOT be distributed in the channel.  If you ask for
                            these scripts, bewm.

             1.     Not speaking english in the channel or being stupid/lame
                            Speak english.  That's what we speak in #BitchX...
                            (with the occasional ebonix), if we can't understand
                            your question because your speaking Iraqie, please
                            don't bother to join the channel.
                            Act decent, no being excessively lame or stupid...of
                            course, panasync is exempt from this rule. =)

_______________________________________________________________________________
[Credits...................................................................8.0]
*******************************************************************************
Contributors to this FAQ:

            panasync        (edwards@bitchx.dimension6.com) <- kick ass client, man
            NovaHak         (novahak@bitchx.org) <- yowsa!
            power           (power@power.zepa.net) <- eep!
            Xavier          (jak@numb.org) <- the new guy
            IceBreak        (ice_break@hotmail.com) <- original FAQ and new one
            sh00p           (shupijr5@wfu.edu) <- where the hell are you man?
            Yngve           (yngwie@glock.triax.com) <- ircII windowing
            #BitchX EFNet   <- keep being a great place to chill in, guys

_______________________________________________________________________________
[EOF.......................................................................EOF]
*******************************************************************************