

[1mAmIRC[0m
*****

Welcome to [3mAmIRC[0m, the AmigaOS IRC client.

Copyright
*********

Copyright
=========

AmIRC has been designed, developed and written by

         [3mOliver Wagner[0m
     [3mLandsberge 5[0m
     [3m45549 Sprockhövel[0m
     [3mGermany[0m
     [3mE-Mail: (o.wagner@lsd.wupper.de)[0m

All Rights Reserved.

No part of this archive may be redistributed except with the entire
contents of the original archive.

Packing List
************

Packing List
============

     If you do not have all the files listed here, immediately delete your
     AmIRC archive and the files extracted from it, and get the authorized
     archive from ftp://wade1.ab.umd.edu/pub/support/amirc/ or your favorite
     Aminet server.
     
     DO NOT TRUST ANY ARCHIVE THAT YOU DID NOT PERSONALLY GET FROM AMINET
     OR THE OFFICIAL AmIRC SOFTWARE SUPPORT SITE!!!

   [1m[0m xxxxxx  AmIRC The Executable

   [1m[0m xxxx    AmIRC.info Icon for AmIRC

   [1m[0m xxxxx   AmIRC.doc AmIRC Text Document

   [1m[0m xxxx    AmIRC.doc.info

   [1m[0m xxxxx   AmIRC.guide AmIRC Amigaguide Hypertext Document

   [1m[0m xxxx    AmIRC.guide.info

   [1m[0m xxxxx   Install.English English Language Install Script

   [1m[0m xxxx    Install.English.info

What is IRC, by the way?
************************

Introduction
============

IRC stands for Internet Relay Chat, written by Jarkko Oikarinen
(jto@tolsun.oulu.fi).  In a nutshell, IRC consists of a network of
computers, called servers, that are connected to each other via the
internet or a LAN, and allow users with proper client software to
connect and chat with each other.  Within this network, virtual space
is divided up into channels, usualy with a topic of conversation, where
users can talk in groups.

#amiga
======

If you are reading this, you are most likely using one of the
Requirements family of computers (if you are not, BUY ONE! :), and will
likely want to check out #amiga on IRC.  #amiga is one of the most
populated channels of IRC, with an average of 30 to 60 users on at any
given time. #amiga is often visited by amiga hardware and software
developers, and is sometimes a forum for formal discussions held by
dignitaries from software/hardware development companies.

#amiga Ettequete
----------------

There is a sort of an unwritten code of conduct for IRC, and especially
#amiga.  This section is included so that you dont find yourself
/kicked or /banned and dont understand why.

DO's
----

    [1mDO:[0m

     Enjoy your visit to #amiga
     
     Offer to help someone [1mIF[0m you know what your talking about.
     
     Be polite to other users.

DON'T's
-------

    [1mDON'T:[0m

     Ask questions about software/hardware problems without reading the
     manual first (RTFM!).
     
     Ask a question more than once. If someone can help you, they will.
     
     Ask for latest amiga news or info on new software, see newsgroup
     comp.sys.amiga.announce for this.
     
     Ask for OPs.  You won't get it.
     
     Pound or slam Amigas.  If you don't like them, don't /join #amiga.
     
     Pound or slam Amiga Software (the coders might be there :)
     
     Offer to help a user with a problem if you don't understand it
     yourself.
     
     Offer or ask for commercial software or the keys to activate
     demos.
     
     Plug developers who appear from time to time with questions and bug
     reports, use the proper channels for this (i/e, the developer's support
     address).  Note that you might ask first if they are willing to discuss
     problems/bugs with their product.

Things that make AmIRC special!
*******************************

Features
========

   * runs with both AmiTCP and AS225 without additional support
     libraries.

   * builtin high speed DCC drivers for SEND and MOVE.  Highly
     optimized with asynchronous file I/O and threaded network
     handling. Supports Drag&Drop sending of files.

   * transparent implementation of DCC CHAT. All /MSGs are
     automatically routed via DCC CHAT if applicable, to save runtime
     and reduce IRC load. Option to automatically accept DCC CHAT
     connections.

   * full support of the "Undernet" IRC extensions, both reply codes and
     additional IRC commands.

   * intuitive channel display with userlist and channel mode overview.
     Channel modes can easily be changed via gadgets. Configurable user
     action list to perform whatever action you like on users in channel
     by the press of a mousebutton.

   * supports QUERY windows for private chat.

   * versatile AREXX port.

   * easy command line aliasing.

   * builtin IdentD (automatically disabled if another IdentD is already
     installed).

   * supports nick notification, ignoring and kickban.

   * server phonebook.

   * last nick history.  Stores the nicknames of the last nicks you've
     send MSGs to, received MSGs from or addressed publically with
     "nick:".  Reference can be used in all commands which require nick
     names, e.g.  /MSG, /OP, /DEOP. Automatic nick expansion on public
     messages with ":".

   * auto rejoin channel on KICK and auto reconnect server facility.

   * auto away after idle timeout. Auto unaway after sending public
     and/or private msgs.

   * auto update download.  Check for and download new releases with a
     simple click.

What is needed to run AmIRC?
****************************

Hardware
========

AmIRC was written for the Amiga family of computers, and has been
tested on 1200, 2000, 3000, & 4000 computers.

Software
========

AmIRC requires About MUI v.2.3 or later in order to run.

AmIRC requires KickStart & WorkBench 2.x or later, with setpatch 40.16
installed.

Finally, You need to have a tcp/ip protocol stack running, such as
AmiTCP/IP or Amiga Technology's as225r2 tcp/ip protocol stack, With a
slip, cslip, or ppp connection to the internet or an ethernet LAN.

Alternatively, AmIRC will work with Multilink and a shell internet
account.

Getting AmIRC to run
********************

Requirements
============

AmIRC has its own installer script and requires that you have the Amiga
installer utility located in your sys:c directory.  To install, just
click on the install icon, and answer the questions in the installer's
requestors.

If you cannot or prefer not to use the installer utility, a manual
install is very simple, just move the contents of the archive to a
directory of your choice and it's ready to use.

Connecting to a server
**********************

Setup
=====

Once you have Installation AmIRC, run the AmIRC program from WB by
clicking on its icon. After a few moments you will see the server
connect requester appear. First type in a nickname in the first text
gadget at the top of the requester.  If you intend to use a nick that
may be common, try typing in some variations in the next three boxes.
this way, if your nick is in use by another person, the client will
retry with the next nick.

Next, enter your real name and your email address or www home page URL
in the next text gadget. It is probably a good idea to be truthful
here. :)

Then, enter a username that will show as
«username»@machine.network.org.  «username» should be the same as the
login ID for your service provider.

Now you are ready to connect.  Just click on a server from the supplied
list or click new server entry and type the address and port number of
your favorite server and then click connect. Optionally, you can choose
one or a few channels to autojoin, just separate them with a comma.  If
you are already connected, and wish to connect to a second server,
click connect thread to open a second instance of AmIRC. The Delete
Server Entry gadget will remove a server entry that you no longer wish
to use.

How Does AmIRC Work?
********************

Using the Interface
===================

The AmIRC user interface is laid out in a logical, intuitive manner,
making it easy to use.

[1mText Listview[0m
     The main feature of the interface is the text listview, where
     incoming text is displayed.

[1mText Input Gadget[0m
     Directly below this is the text input gadget, labeled with the
     nickname that you have chosen. Any text entered here will be sent
     out to the IRC server.

[1mListview Scroll Gadget[0m
     To the right of the listview is a scroll gadget, which enables you
     to scroll backward through the text in the listview.

[1mChannel Text String[0m
     At the top left of the listview is a text string that reflects the
     channel that you have joined.

[1mTopic Input/Display Gadget[0m
     To the right of the channel text string, is the Topic
     Input/Display gadget, where the topic of a joined channel will be
     displayed.  If you have Channel Operator (Ops) Status, you may
     change the topic of the channel by entering the topic in this
     gadget, and hitting the 'enter' key.

[1mOperator Buttons[0m
     To the right of the topic input gadget are the channel mode
     buttons, which display the current modes for the joined channel.
     Users with Channel Operator (Ops) status may also use these
     buttons to change the current channel modes.

    [1mT - Topic Protection[0m
          Toggles Topic Protecton on/off.  If on, the topic can be
          changed by Channel Operators (Ops) only.

    [1mN - No Messaging[0m
          Toggles Messaging on/off.  If active, a user can only write
          to the channel if they have joined it.

    [1mS - Secret[0m
          Toggles Secret mode on/off.  If active, the channel is
          invisible until it is joined.

    [1mI - Invite Only[0m
          Toggles Invite Only mode on/off.  If active, users can only
          join after they have been invited.

    [1mP - Private[0m
          Toggles Private mode on/off.  If active, the channel will be
          invisible in the global channel list.

    [1mM - Moderated[0m
          Toggles Moderated mode on/off.  If active, only channel
          operators (Ops) and users with 'voice' can type to the
          channel.

    [1mL - Limit[0m
          Sets a limited number of users allowed on the channel

    [1mK - Keyword[0m
          Toggles Keyword mode on/off.  If active, Users can only join
          the channel if they give the correct keyword.

    [1mB - Ban[0m
          Sets/Displays the current Bans active on the channel

[1mUser Listview[0m
     Below the channel mode buttons is the User Listview, which shows a
     current list of users on the joined channel.  Double clicking on a
     users name will perform a /whois on that user.  Clicking once on a
     users name will set that user as the default to perform other
     operations on, such as an operation from the configurable user
     buttons.

[1mUser Buttons[0m
     Directly below the User Listview are the user buttons.  These
     buttons are configurable from the GUI window, accessable by
     selecting 'setup...' from the AmIRC settings menu.

Sending commands to other people
********************************

Introduction
============

CTCP or [3mClient To Client Protocol[0m
---------------------------------

CTCP is a standard for sending commands to other clients on IRC.
Basically, CTCP messages are simply private messages that include a
code to alert the receiving client (not user) to respond to the command.

CTCP commands are typicaly used to get informaton from the receiving
client, such as /CTCP time, or /CTCP version. Even DCC sends a request
via CTCP to the receiving client, asking to initiate a direct
connection.

CTCP Commands
-------------

         [1m

   * ME (CTCP Action)[0m
              [3mTemplate: /ME <action>[0m
     This will mark the message as an action and replace the /ME with
     your nick, for example, '/me hates ice cream' would appear as:
         [1m[Action][0m  |Fred hates ice cream

         [1m

   * Version[0m
              [3mTemplate: /CTCP <user> Version[0m
     Version will ask the client to return information about itsself,
     which will be in the form of a private message.

         [1m

   * Time[0m
              [3mTemplate: /CTCP <user> Time[0m
     Time will return the time of day as it is set on the user's
     machine.

         [1m

   * Ping[0m
              [3mTemplate: /ping <user>[0m
     Ping will send a packet request to the receiving client, which
     will in turn send back the packet with a timestamp, where the
     inititating client will compare the time difference and show the
     result in the listview.

Direct client connections
*************************

What is DCC?
============

DCC or Direct Client Connection is a protocol that IRC clients can use
to communicate directly with each other, bypassing the IRC server.  The
reason for this is to form a faster, more stable and direct connection
thru which users can transfer files, or send private messages.
Note that AmIRC has its own set of Highly Optimized DCC protocols
built-in, and does not require external DCC utilities.

DCC File Transfers
==================

The most common use of DCC is for transferring files between two
clients.  The initiating client will send a message through the IRC
server, telling the receiver that a connecton is requested.  At this
time, the receiver will either accept or reject the offer for the
connection.  If the receiver accepts the connection, the initiating
client will proceed to send the information directly to the receiver.
If the connecton is refused, the initiating client will simply timeout
the attempt to connect.

DCC Send
--------

    [3mTemplate: /DCC send <user> <filespec>[0m
     DCC send will attempt to open a connecton with the specified user's
     client, and if successful, will proceed to send the specified file.

DCC Move
--------

    [3mTemplate: /DCC move <user> <filespec>[0m
     DCC Move is identical to DCC Send, with the exception that DCC move
     is capable of resuming an interrupted or failed transfer.  DCC Move
     will look into the receiving directory for existing files, and upon
     finding a partial file which is the same as the file to be transferred,
     will initiate a /DCC Resume transfer.  [1mWith AmIRC, This process
     is completely transparent[0m.  If no partial or whole file exists, then
     the file will be completely transferred.

DCC Get
-------

    [3mTemplate: /DCC get <user sending file>[0m
     DCC get is a transparent operation with AmIRC, and is only mentioned
     in this document for the sake of being thorough.  AmIRC will notify
     you of an incoming DCC request, and allow you the option to accept
     or reject the connecton with a simple click.

DCC Chat
========

Another use of the DCC standard is DCC chat, which, like DCC Send, will
send a CTCP request to the receiving client to set up a direct link.  In
this case, however, the purpose of the link is for users to send
messages to each other.  Because the mesages are sent through the
direct link, and do not pass through the IRC server, this method of
sending messages is much more private than using the IRC's privmsg
(/msg).
With AmiRC, it must be noted that a DCC Chat request will not open a
dialog window for you, instead, when DCC chat is initiated and accepted,
all privmsg's (/msg) to the receiving user will be sent through the DCC
link.  If you wish to have a dialog box for chatting, the best way to go
about this is to highlight the users's name in the listview by clicking
on it.  then click on the 'Query' gadget below the listview.  this will
open a window that has several options within it. From here, you can
'ping' or 'whois' the other user, or you may inititate a 'DCC Send' or
'DCC chat'.  Starting a 'DCC Chat' from this window will allow you to
carry on a dialog with the remote user through the window.

Commands
********

Overview
========

AmIRC has several builtin commands. Some of this commands are processed
locally, whereas others are send to the IRC server.

Commands generally start with a / to differentiate them from normal
text. If you want to use the / character at the start of normal text,
use [1m//[0m instead.

Many commands require a channel name as a parameter. AmIRC will
automatically fill in the channel name of the current window if you
don't specify a channel name on your own.

For commands which require a nick name (e.g. [1m/MSG[0m or [1m/OP[0m, there
are three special shortcut arguments:

[1m.[0m
     The period is replaced with the nickname of the last person you
     have send a private message to.

[1m,[0m
     The comma is replaced with the nickname of the last person who
     send a message to you. Be careful with this, since you might
     easily address the wrong person if someone sends you a message
     while you are still typing this command!

[1m:[0m
     The colon is replaced with the nickname of the last person which
     you haved a addressed with a [1mnick:[0m prefix inside a channel.

You may easily carry a dialog with a particular user by first clicking
on their username in the user list, then anytime you hit the tab key,
the input string will be set up with '/msg <user> ', after which you
may type in the message and hit return.  This will work after
initiating a DCC Chat request as well.  Please note that if you have
configured the user list as a separate window, you must reactivate the
message window after clicking on a username.

Reference
=========

JOIN
----

Usage: [1m/JOIN channel[,channel[,...]] [key[,key[,...]]][0m
Usage: [1m/CHANNEL channel[,channel[,...]] [key[,key[,...]]][0m

DESCRIPTION:

Join a channel on the IRC.  If the channel doesn't exists, it is
automatically created.

There are two kinds of channels:  Channel names starting with an
[3m#[0m are global channels and available on all IRC servers which
are connected to the net you are currently on.  Channels which begin
with [3m&[0m are local to the chat server you are connected to.

If a channel requires a special keyword to join, you must submit this
after the channel name.

AmIRC will look for a channel window which isn't currently bound to a
channel. If it doesn't find one, a new window will be created and bound
to this channel.

EXAMPLES:

[1m/JOIN #Amigager[0m
     Join channel [3m#AmigaGER[0m

[1m/JOIN #Amigager,#Amiga[0m
     Join channels [3m#AmigaGER[0m and [3m#Amiga[0m

[1m/JOIN #Amigawarez coolstuff[0m
     Join channel [3m#Amigawarez[0m with keyword [3mcoolstuff[0m.

RELATED TOPICS:

See LEAVE.

LEAVE
-----

Usage: [1m/LEAVE [channel[,channel[,...]][0m

DESCRIPTION:

Leaves a channel. If you don't give a channel name as a parameter, the
channel currently bound to the window in which in the command is
entered will be left.

EXAMPLES:

[1m/LEAVE[0m
     Leave the channel currently bound to this window.

[1m/LEAVE #Amigawarez[0m
     Leave channel [3m#Amigawarez[0m.

RELATED TOPICS:

See JOIN.

RAW
---

Usage: [1m/RAW text[0m

DESCRIPTION:

Sends text directly to the IRC server without any further processing.
[3mWarning:[0m Don't even think about using this command without interior
knowledge of the IRC protocol, or you might run into severe trouble.
See `RFC 1459' for a description of the IRC protocol.

EXAMPLES:

[1m/RAW JOIN #IRC-Heros[0m
     Send the string [3mJOIN #IRC-Heros[0m directly to the IRC server.

RELATED TOPICS:

`RFC 1459'.

Customizing your environment
****************************

Overview
========

Now that you have AmIRC running, you may want to get it to operate the
way you want it to, and to look pleasing as well.  This is achieved
thru both MUI preferences and AmIRC's Menu options.

Changing MUI Settings
*********************

MUI Preferences
===============

Most of the configuration dealing with how AmIRC's GUI appears can be
customized with About MUI.  Check the 'MUI Settings...' entry under the
'Settings' menu.  This will pop up MUI's interface, allowing you to
setup AmIRC's MUI Prefs, without disturbing any of your other MUI
configurations. Read the documentation for MUI to Learn more about the
operation of MUI Preferences.

Changing AmIRC Options
**********************

AmIRC Setup
===========

Most of the setup functions appear in the 'Setup' entry under the
'Settings' menu. Here you will get a multi-requestor that will allow
you to access several pages that deal with configuring AmIRC.

Messages Page
*************

Misc Messages
=============

[1mCTCP Userinfo[0m
     The text in this string is what will be returned to a user who
     sends '/CTCP userinfo' to your client.

[1mKICK Reason[0m
     If you are a channel operator and /kick another user from the
     Channel, this test will appear as the reason for the /KICK.

Quit Messages
=============

[1mExit[0m
     This will appear to users in the channel when you exit AmIRC.

[1mNew Server[0m
     This text will appear to users in the channel when you select
     'Select Server' in the 'AmIRC' menu, and pick a new server to
     connect to.

[1mSystem Reset[0m
     This is the text to appear if you reboot your amiga (Crtl-
     amiga-amiga) while connected to a server.

AWAY Messages
=============

[1mDefault[0m
     This is the text that will appear when you are set 'away' by
     selecting the 'Marked Away?' item in the 'User Modes' menu.

[1mAutoAWAY[0m
     text that appears when you are automatically set away due to
     inactivity.

[1mTimeout[0m
     This sets how much time will pass before AmIRC assumes you are
     away from the computer and marks you as 'AWAY'.

[1mUnAWAY[0m
     This cycle gadget allows you to choose the conditions of which
     AmIRC will automatically set you to 'Not AWAY'.

Actions Page
************

Actions
=======

The 12 text gadgets in the 'Label:' column here correspond to the 12
gadgets under the user list on AmIRC's main window.  You may set these
gadgets to be anything, sort of like macros.  AmIRC, however, does
include configurable function keys to act as macros, so these gadgets
are preset for /ctcp, /dcc, and /mode operations.

Below the text gadgets is a quick reference of the placeholders that
can be used in the desired operation.

Events Page
***********

Events
======

Here you may define certain actions to take place upon incoming events.
These actions can be as simple as a warning beep from your amiga, or a
complex and powerful rexx command.  The following text first explains
the functions of the columns of this page, and then goes on to explain
what each event is.

Columns
-------

[1mEvent[0m
     The particular event for the action to take place on.

[1mDeiconify[0m
     If AmIRC is iconified, this will uniconify and bring to front the
     AmIRC window on the occurence of the event.

[1mBeep[0m
     This will perform a system beep on the occurence of the event

[1mSound[0m
     if a sound sample is preferred for the event, you may use the
     requestor gadget to pick a sound to play instead of the system
     beep.

[1mVol[0m
     This sets the volume for the sound sample.  The valid range for
     the volume is 0 - 64.  This is a slider gadget.

[1mRexx Command[0m
     Here you may configure a rexx script to be run on the occurence of
     the event.

Events
------

[1mAny Message[0m
     This Event occurs on any incoming public message.

[1mPrivate Msg[0m
     This event occurs when you receive an incoming private /msg or /dcc
     chat message

[1mNotice[0m
     This event occurs when an operator sends out a /notice

[1mCTCP request[0m
     This event occures when your client receives any /ctcp request (for
     example /ctcp time, or /ctcp version

[1mDCC request[0m
     This event occurs on receiving a /dcc file transfer request or chat
     request.

[1mJoin[0m
     This event occurs when anyone /joins the channel you are currently
     on.

[1mKick[0m
     This event occurs when anyone is /Kicked from the channel you are
     currently on.

[1mMode change[0m
     This event occurs when the channel mode is changed for the channel
     you are currently on, i/e. if someone is /OPed or /DeOPed, or if
     the channel is made private, etc.

[1mISON Notify[0m
     This event occurs when AmIRC 'sees' a user that is configured in
     your 'Notify' list.

[1mConnection[0m
     This event occurs when AmIRC makes a connection to an IRC server.

[1mInvite[0m
     This event occurs when another user invites you to join a channel
     that is currently set to /MODE 'Invite Only'

GUI Configuration
*****************

GUI
===

The GUI configuraton page allows you to control some specific aspects
of AmIRC that arent covered in the MUI configuration.

Userlist:
---------

The userlist cycle gadget allows you to control if the User List is
visible or not visible, and if it is visible, if it is a separate
window, or a part of the AmIRC window.  If the [1mSort Gadget[0m is check
marked, the list will be sorted alphabetically, otherwise, the list
will reflect the order that the users have joined the chat.

The [1mButtons Gadget[0m will toggle on & off the gadgets in the User
Action List, located below the user list.  If the user list is
configured as a separate window, the buttons will also appear in that
window.

Misc
----

Here you may select a different pubscreen for the query window to appear
on.  If no pubscreen is specified, the Query window will open on the
AmIRC default screen.

Text Colors
-----------

In this section, you may configure the colors that certain text will
appear in AmIRC.  These colors are based on the MUI pen colors that you
have configured in MUI.  Just click and hold on the cycle gadget to see
a list of the MUI Pen colors available.

[1mNormal Text[0m
     Text that is a normal message from a user.

[1mPrivate Messages[0m
     Text that is a private message from another user to you.

[1mMode Changes[0m
     Text that shows a mode change for the channel.

[1mHighlighted Text[0m
     Highlighted text is not yet implemented in AmIRC.

[1mServer Messages[0m
     Text that comes from the server, i/e when a user joins or exits the
     channel.

[1mCTCP/DCC Messages[0m
     Text that informs you of an incoming CTCP or DCC request.

CTCP Configuration
******************

Not Yet Implemented :/
======================

User Configuration
******************

Not Yet Implemented :/
======================

ARexx Configuration
*******************

Not Yet Implemented :/
======================

"Lists..." Menu Item
********************

Lists Configuration
===================

Alias Tab
---------

Here you can create aliases, or shortcuts for complex IRC commands.
Some examples have been created for you, and a reference template
appears at the bottom of this page. %p is the place holder for any
arguments you may wish to add when using an alias.

Ignore tab
----------

Not Yet Implemented

Hilite Tab
----------

Here you may set certain text to be highlighted in order to get your
attention if that text appears.  You may set text to match the nick,
Userhost, or any keyword enclosed in double quotes. To add a new
pattern, click on the Button labeled "Add new Hilite pattern", and type
your pattern into the input gadget.  To delete an existing pattern,
Click on the entry yo uwish to delete and then click on the button
labeled "Delete Hilite pattern".  The Hilite patterns will ignore a
pattern it recognizes if it was input by you, but will activate on the
pattern from other users.

Pattern Definitions:
--------------------

[1mNick[0m
     This will watch the AmIRC listview for the nick that you specify,
     and highlight the text for that users message.  The 'Nick' entry
     does not require double quotes.

[1mUserhost[0m
     This will watch for messages that originate from a particular
     Userhost, and highlight the text for that message. Userhost
     entries may contain wildcards.  Examples:

    [1mfred!fdoe@doe1.powernet.edu[0m
          This will highlight only messages from fred at that
          particular address.

    [1mfred!*@*[0m
          This will highlight messages from anyone named fred,
          regardless of address or login name.

    [1mFred!*@*.powernet.edu[0m
          This will highlight messages from anyone named fred on any
          machine on powernet.edu

    [1m*!*@doe1.powernet.edu[0m
          This will highlight any messages from anyone on the doe1
          machine at powernet.edu

    [1m*!*@*[0m
          This will highlight any messages from any user.

[1m"Keyword"[0m
     This will highlight any message that contains the text enclosed in
     double quotes.

Function Key Definitions
************************

Functon Keys
============

Here you may define the Amiga's ten functon keys to insert text into
the input string gadget of AmIRC. By using the keys normally, or with
the 'shift' or 'crtl' modifiers, you may define up to 30 text input
macros that can be used at the press of a key. This is similar to the
functon key macros found on many popular terminal emulation programs.

AmIRC's ARexx Port
******************

Overview
========

AmIRC supports a versatile ARexx Port.

Reference
=========

SAY
---

Usage: [1mSAY TEXT/F[0m

DESCRIPTION:

Treats [3mTEXT[0m just like it has been entered in the string gadget of the
current window.

EXAMPLES:

    [1msay '/JOIN #Amigager'[0m

RELATED TOPICS:

ISCONNECTED
-----------

Usage: [1mISCONNECTED[0m

DESCRIPTION:

Checks whether a connection is currently established. Returns RC 0 if
the link is up, RC 5 otherwise.

EXAMPLES:

    [1mISCONNECTED; say rc[0m

RELATED TOPICS:

GETMYNICK
---------

Usage: [1mGETMYNICK[0m

DESCRIPTION:

Returns your current nickname.

EXAMPLES:

    [1mGETMYNICK; say result[0m

RELATED TOPICS: See RX_GETSERVERNAME.

GETSERVERNAME
-------------

Usage: [1mGETSERVERNAME[0m

DESCRIPTION:

Returns the name of the IRC server you are currently connected to.

EXAMPLES:

    [1mGETSERVERNAME; say result[0m

RELATED TOPICS: See RX_GETMYNICK.

USERHOST
--------

Usage: [1mUSERHOST NICK/A[0m

DESCRIPTION:

Returns the userhost specification belonging to [3mNICK[0m.
AMIRC keeps a internal list of the userhosts of every nick that occured
yet. You can query this database with this command.  Note however that
it is possible that the userhost isn't in the database yet; this
command will [3mnot[0m query the server than, but simply return an error.

EXAMPLES:

    [1mUSERHOST Olli; say result[0m

RELATED TOPICS: See RX_GETMYNICK.

NYI
***

Overview
========

Yet to write

Magic User Interface
********************

About MUI
=========

AmIRC uses the [1mMUI[0m object library,
which is © 1993-95 by Stefan Stuntz.  Without MUI, AmIRC wouldn't
exist.

Why MUI?
========

Why MUI? you ask...

MUI makes it easier for programmers to assemble their code, and at the
same time, attempts to standardize the way programs run under AmigaDOS.
As well, MUI makes it easier for the user to customize the way
programs look and behave to suit the user's own tastes.  Programmers
who use MUI generally understand if users dont like MUI,  but we do
like it, and we use it.

Developments in AmIRC
*********************

Revision History
================

0.70alpha
--------
- changed internal string table layout; internal string access is now
much   faster, even when strings are taken from a catalog file.  - /DCC
LIST now works.  - /WALLOPS was broken.  - Query windows can now be
opened on a different public screen.  - DCC requests are now also
accepted when sent with a "NOTICE" to accomodate   for certain buggy
DCC implementations.  - In non-alphasort mode userlist entries were
added to the top, not to   the bottom of the list.

0.69alpha (quickfix)
-------------------
- subitems for the window sub menu weren't no longer added,   making
closing windows crash badly.

0.68alpha
--------
- CTCP PING didn't work.  - holding down ENTER caused the same text to
be continously send.  - SHIFT-TAB will now insert "Nick: " into the
input line.  - CTRL-UP/DOWN and ALT-UP/DOWN inside a query window
caused instant crash.  - String class was, in cooperation with some MUI
bug, loosing signal bits.    This caused frame gadgets to not work any
longer.  - The bubble help of the userlist action buttons will now
display the   real command assigned to the button.  - Userlist action
buttons now work if no user is selected and no %u   was specified.  -
/ME within dialog windows will now work just like /DESCRIBE.

0.67alpha
--------
- DCC windows now use tiny fonts for the lists.  - optimized TextFit()
wasn't working correctly, cutting of   characters depending on the font.
- enforcer hits with commands which had a single channel name   as a
parameter ("/NAMES #Amigager" for example).  - /RX will now find
commands in PROGDIR:Rexx - Rexx-on-Event didn't work at all - added a
few more sound samples by Robert Wilkens - the event manager now has
"Test sound" buttons - Connect and Autodownload windows shouldn't cause
trouble any more   (recycled MUIMasterBase between tasks :) - the "is
this mail or news" guess in the URL grabber   always assumed mail

0.66alpha
--------
- userlist action button rows which contain no labels will now be
hidden - the first 10 window selector menu items now have shortcuts
from "0" to "9".    Allows to easily switch channel windows with
Amiga-0..9.  - serious bug in DCC-SEND; neither RESUME-ACCEPT nor
MOVE-RESUME did work   since AmIRC didn't actually seeked to the
requested file position.  - added support for TIADCC (SetEnv TIADCC
"tiahost port"). The   variable format is compatible with Tau's DCC
implementation.  - fixed a few quirks in the string input class.  -
list class is now more compatible with fonts which have a "obscure"
tf_XSize value.  - sub processes weren't properly terminated during IPC
if the main application   was forcefully quit.  - fixed drag & drop
list sort for server and alias list (MUI3 only).  - the button/info row
in query windows can now be turned off to save   visual space.  - fixed
activation state of the user list. If the current user   PARTs or gets
KICKed, selection will turn off completely. If   the current user
renames himself, the selection will follow   accordingly.

0.65alpha quick fix :)
---------------------
- String input gadget was dead with MUI 2.3.  - added a kludge to avoid
MUI 3.0's MUIA_String_MaxLen-1-Bug within the   nickname gadgets

0.64alpha
--------
- fixed splitting and rejoining of lines in listview (spaces got
inserted   when a line couldn't be split on a word boundary) - main
listview now properly preserves text style attributes upon line
splits and relayouts - the ban popup list is now a "real" window which
can be dragged and sized - line read buffer pointer wasn't reset when a
server link was forcefully   terminated. Caused nonsense to appear on
next connect.  - added support for "DCC RESUME", a method of resuming
DCC SENDs   originally implemented by the mIRC for Windoze IRC client.
It's not   recommended to use DCC RESUME between AmIRCs, use MOVE
instead.  - OP/VOICE now accept up to four nicks - BAN did work with a
single nick only.  - the command parser assumed that all strings
beginning with "*"   are channel names, effectivly rendering /BAN
useless.  - KICKBAN window now has four buttons to setup "standard"
types   of ban mask (full, userhost, dynamic hostname, dynamic ip) -
CTRL-Cursor-Up/Down now allows to select the current user in   the user
list.  - TAB will now enter "/MSG nick " if the input line is empty
or just "nick" if there is already something entered in the line.  -
ALT-Cursor-Up/Down allows to scroll within the main output list.
ALT-SHIFT allows to page accordingly.  - fixed a few bugs in state
managment of the main list class.    Could cause enforcer hits when
LCM_INSERT was used before   MUIM_Show was called; this mainly occured
with the new   private message log which normally stays closed.  -
"Auto open Dialog Windows" was not functional at all.  - Function key
did only work when changed during the session, not   after loading.  -
Rexx script gathering caused entries with "PROGDIR:" to be   entered in
the list, which didn't work, cause it would   have referenced the Rexx
master process' PROGDIR: if   it would exist :) - several parts of
parsing code failed with characters > 127,   esspecially the notify
option with "strange" nicks.  - messages added to the private message
log now have a time   stamp.  - finally got around adding Troy Davis to
the thanks list   in the about requester.

0.63alpha
--------
- the vertical bar in the main listview was messed up.  - added VBars
on several of the other listviews (MUI3 only) - User list action
buttons didn't used MUIA_Font_Tiny as intended.  - "Save as" with no
config name given could cause erraneous behavior   and even crashes
with some requester patches.  - manually resetting AWAY via menu state
didn't restart the auto away   timeout.  - failure to open
"rexxsyslib.library" wasn't catched and could cause   serious trouble
later on.  - fixed a severe bug in the ioctl() call in AS225 which was
called   with the AmiTCP code for FIONREAD. Caused DCC's to loop dead.
- auto reconnect to server now limited to 10 retries.  - now checks for
duplicates before adding entries to the URL grab window.  - nickname
gadgets now accept all RFC-1459 allowed nickname characters   and even
"_" :) - added help bubbles for the channel mode buttons (MUI3 only)

0.62alpha
--------
- Click-On-Notify still didn't work <blush> - fixed selectwait() call
in the as225 tcp interface. DCCs are now   properly cancelable :) - /RX
did pass parameters, but only the first <blush again> - /NOTIFY did
react on parts of nicknames (e.g. "/NOTIFY OLI" reacted   on an
"OLIVER" being on) - added URL grabber; incoming text is scanned for
URLs and MessageIds,   which are presented in a list window. Double
clicking on a URL will   send them to AMOSAIC.1 via Rexx - Rexx: Using
"Say" with no open window caused terrible crash - added privmsg log
window which stores all private msgs send to you - added a few Undernet
servers to the default server list - added a few useful menu shortcuts

0.61alpha
--------
- incoming/outging DCC chat requests will now no longer open the dcc
chat   list window.  - startup errors (in particular wrong arguments
passed on a shell startup)   caused destructors to be inproperly
called, resulting in dead locks.  - WHOIS-ON-NOTIFY didn't work when
the watched user was logged in   (did send "WHOIS +USER"...) - made an
attempt to fix the as225 code which seems to be crashing   on DCC
(sorry, can't check this for myself) - /RX didn't pass arguments.  -
will now no longer create an empty Rexx menu if no rexx scripts are
found (AmIRC looks into PROGDIR:Rexx/ and Rexx: for files ending with
*.AMIRX).    It's nicer and avoids nasty crashes with certain buggy
Menu hacks :)

0.60alpha
--------
- channel list didn't worked at all.  - double click on an entry in the
notify list will now issue an /WHOIS nick   command.

0.59alpha
--------
- AWAY flag is cleared after connection to a server.  - Autojoin
channels are now bound to the server configs. This allows you to
specify different channels for different servers.  - state of the
"Create Icons" menuitem is now saved correctly.  - "Help" menuitem
works.  - Bug in the string class caused enforcer hits and made MUIKEYS
not   working correctly.  - when the connection was lost during receive
of the channel list,   the channel listview stayed deactived.  - empty
CTCP ACTION requests are no longer displayed.

0.58alpha
--------
- the light bulb's transparent color wasn't set correctly so the
background   got overwritten.  - fixed a few MUI object background
settings.  - program and basename now thoroughly changed from MICROIRC
to AMIRC.  - light bulb is now a page group to avoid MUIA_Bitmap_Bitmap
not being   correctly settable. Should also fix a potential crash.  -
added FKey support.  - String gadget is now constantly activated.  -
added "Invite" event.  - default prefs storage location is now
"PROGDIR:Default.MIRC" to   avoid problems if AmIRC is started from
another dir.  - now deiconifies upon receiving SIGBREAKF_CTRL_F

0.57alpha
--------
(skipped)

0.56alpha
--------
- light bulb/mic icon refresh now fixed.  - fixed QUERY windows to
correctly parse IRC formating codes on output.

0.55alpha (saturday evening release, please don't wonder :-)
-----------------------------------------------------------
- fixed missing CTCP ACTION parsing for private PRIVMSGs - added
missing /DESCRIBE command.  - OP/VOICE status is now displayed with a
nice icon (thanks Morden).    The implementation of the display sucks,
it's gonna fixed in the next   release.

0.54alpha
--------
- fixed a bug in WALLOPS and ERROR parsing, not outputting anything but
 causing an enforcer hit instead.  - userhost database sometimes
caused calls to FreePool() with a mismatched   size (len-1). Could
screw up pool management severly.  - now entering a server name no
longer causes the list to be sorted,   leaving input focus on an
undesired entry.  - added missing /BAN, /BANDEL and /BANLIST commands.

0.53alpha
--------
- just bumped revision to avoid confusion with a "0.52alpha" floating
around.

0.52alpha (not published)
------------------------
- seperated user list now finally works without crashing badly.  - the
seperated user list windows now have a close gadget, and the channel
windows have a pop button to reopen it.  - fixed sorting of user list.
- changes of GUI settings now happen instantly. Note that MUI 2.x
requires closing and reopening of windows for some operations.  -
kludged around the userlist refresh bug by manually forcing redraw   on
every JOIN/PART.  - Auto-Rejoin-After-Kick now defaults to off due to
popular demand.

0.51alpha (not published)
------------------------
- fixed incorrect parsing of 317 extend message (signon time) - fixed a
few quirks in DCC SEND aborted output.

0.50alpha
--------
- fixed a crash with certain MUI versions on SAVE.  - DCC originating
sometimes didn't work since GetHostId() reported   "127.0.0.1"
(localhost). Now falls back to reading ENV:HOSTNAME   and doing
gethostbyname() on this.  - the user list may now be hidden totally or
put to a seperate window.    Note: This isn't implemented correctly
now; i'll change it ASAP.  - the user list sorting can now be turned
off.

0.49alpha
--------
- remote logging of AMIRC usage has been removed completely.

0.48alpha
--------
- added event handling. Allows you to deiconify, beep or play a
(datatypes) sound on certain events.  - some internal stuff.  - added
processing of the "250" extension message.

0.47alpha
--------
- fixed "DCC SEND/MOVE ABORTED" which was screwed in several places.

0.46alpha
--------
- added RAW IRC output window.  - Auto-Update-Get will now
automatically extract AMIRC.ReadMe to T:,   display it and offer to
automatically unpack the gotten archive   to RAM:

Those Deserving Favour
**********************

Thanks to::
===========

The author wishes to thank the following people for their help during
AmIRC development:

[1mKarl 'Phalanx' Bellve[0m
     Who provides space, connectivity and cpu time for running the
     AmIRC support area.  He also helped during development, and did
     alot of encouragement. :-)

[1mMichael 'mlelstv' van Elst[0m
[1mKenneth 'Kenneth' Jennings[0m
[1mDavid Zvekic[0m
     for their help with debugging the as225r2 code.

[1mAndreas M. 'bonzo' Kirchwitz[0m
     for useful advice and showing a good load of humor during the
     //KICKBAN test.

[1mRalph 'rbabel' Babel[0m
     who helped to track down a nasty bug in slink's constructor
     priority ordering.

[1mJason 'morden' Murray[0m
     who drew the OP and VOICE icons

[1mAngela 'Nessy' Schmidt[0m
[1mChristoph 'Pepo' Feck[0m
[1mSascha 'Master' Lentz[0m
     who helped test several AmIRC features in a real-life environment
     (say #AmigaGER ;-)

[1mThe IRC admin at irc.uni-paderborn.de[0m
[1m(Thomas 'Heager' Thissen)[0m
     which served as the primary test site

[1mChristoph 'ChrisDi' Dietz[0m
[1mFionn 'Fionn' Behrens[0m
[1mFrank 'Daddie' Peters[0m
[1mHolger 'Heureka' Jakob[0m
[1mMathias 'Merlin' Mischler[0m
[1mLaurence 'DuRaN' Walton[0m
[1mNicole 'Talyn' Brandt[0m
[1mPeter 'Stoebi' Schulz[0m
[1mRobert 'Ghostrider' Wilkins[0m
[1mRoy 'AK' Millican[0m
[1mThomas 'logo' Butter[0m
[1mTroy 'Doogie' Davis[0m
     for early testing and design suggestions

[1mMarkus 'Ill' Illenseer[0m
[1mMatthias 'DrMabuse' Lühr[0m
[1mRobert 'Devo' Bradman[0m
     who simply bugged me to get on the list :)

This Document Prepared by Laurence Walton

©1995 Oliver Wagner
All Rights Reserved

How to Report Bugs
******************

Bug Reports
===========

Please send bug reports to [1mAmIRC@lsd.wupper.de[0m, not to my standard
mailbox.  Include in the report the OS version of your amiga, The
version of MUI that you have installed, and the version of AmIRC that
you are using.

How to Get Help & Updates
*************************

One Click Updates
=================

You can easily download the latest version of AmIRC from the official
AmIRC support site by choosing the 'About...' Menu item from the
'AmIRC' menu. Here you will Find a gadget Labeled 'Download Latest
version of AmIRC'.  By clicking this gadget, AmIRC will check the
support site for the version of AmIRC there. If it is newer than the
version you are using, it will proceed to download it for you. If it is
the same version, you will be notified of this, and the download will
be aborted.  Once the new archive has been downloaded, You will be
shown the latest 'AmIRC.readme', and you will be given the option of
unarchiving the release to ram. [1mNOTE:[0m You must have LHA in your c:
directory for this functon to operate.  Once you have done this, just
overwrite the old AmIRC files with the new ones. Your configuraton
files will remain unchanged.

Support
=======

    [1mAmIRC Support Mailing List[0m

     To keep up to date on AmIRC improvements or to get answers to AmIRC
     problems, Join the AmIRC support mailing list by sending email to:
     
     AmIRC-Request@lsd.wupper.de

    [1mAmIRC FTP Support Site[0m

     For AmIRC Updates & Patches, ftp to:
     
     wade1.ab.umd.edu/support/amirc/

    [1mAmIRC Support on the World Wide Web[0m

     Or, Alternatively, Visit the AmIRC WWW Support Site at:
     
     http://wade1.ab.umd.edu/support/amirc/

Index
*****


