----------------------------oOo----------------------------

                    IRC Protocol Plugin 

  Implementation of IRC RFC-1459, RFC-2812 for Miranda IM

	      Released 2003-03-03, last updated 2003-03-16

-----------------------------------------------------------



About
-----
The IRC Protocol plugin for Miranda IM provides support for connecting
to Internet Relay Chat (IRC) servers. The idea of creating the plugin 
was born around christmas time 2002 when I got tired of starting 
a separate IRC client just to be able to idle in the channel of my Q3A
clan. The goal of this plugin is to integrate a feature packed IRC-
client with Miranda IM, while still adhering to the Miranda way of 
thinking; it should be smaller, faster and easier. 



The Author
----------
My name is Jrgen Persson, also known as Matrix, and I am a 26 years old
Swedish student at 'Stockholm School of Economics'. I have no background 
in coding apart from a few courses I took while studying 'Engineering 
Physics' at 'Chalmers' in Gothenburg. I have been using Miranda IM now 
for over a year and so far I have mostly contributed with graphics to 
various other plugins or for Miranda IM itself. Most well known is probably 
my 'Original Gangsta Icons' collection which also has been updated with 
icons for IRC ofcourse. If you wish to contact me you can e-mail me at: 
i_am_matrix@users.sourceforge.net If you join #miranda on QuakeNet you can 
talk to me there and talk to other fans of Miranda IM.



Installation
------------
You should have received a .zip file containing all files necessary. 
These files are:
 IRC.dll               - the plugin
 IRC_servers.ini       - a list of public servers
 IRC_Readme.txt        - this file
 IRC_ToDo.txt          - the list of planned updates
 IRC_license.txt       - a copy of the GNU GPL

To install it use a unzipper of choice (I use WinZip, which can be found
at http://www.winzip.com) and extract the files to the 'Plugins' directory
of your Miranda IM installation. Note that you must restart Miranda IM for 
the installation to complete. If you are upgrading to another version you
will have to shut down Miranda before extracting the files or the process
will fail.



Features
--------
 - Send/Receive messages, notices etc
 - Participate in channels
 - Ident server
 - Customizable message/channel window
   - Choose where you want information messages
   - Formatting
   - Colors
   - Customizable timestamp and nick
   - URL catching
   - Flashing
   - Smilies (requires the SmileyAdd plugin by Peacow)
 - Highlighting
 - Support for popups (Requires the Popup plugin by hrk)
 - Sounds
 - Perform buffer
 - Logging
 - Aliases
 - Nicktracking
 - Name auto completion
 - Textsplit
 - Right click menu
 - mIRC like commands
 + more ... 



Usage
-----
If you have ever used an IRC client before you will be right at home. 
After installation you will notice a new icon in your Miranda IM statusbar
and that is the representation of your presence on the IRC network. Before 
you can connect to a network though you will have to setup a few things:
open the options panel and you will notice three new pages containing 
options for the IRC plugin; Connect, message and other preferences. The 
defaults will work in most situations but it is essential that you select
a network and fill in username etc in the 'Connect preferences' dialog. 
After you have set a default network and entered your user detail then you 
can connect to the network and once you are online you can use the menu 
options in the system menu to join a channel for instance. You can also do
'Quick connects' from here but that requires that you have entered the 
user details in the options dialog correctly also. By design it is meant 
that you should enter your 'default' network (the one where you spend most 
time) in the options dialog and connect to other networks through the 
'Quick connect' option in the menu. One thing worthy of mentioning in the 
'message options' dialog are the message headers. I know they are not self-
explanatory. If you have filled something in the time header box then you
will get a timestamp on your messages. Use the following variables (case
sensitive)
 
 %Y - Year
 %M - Month
 %D - Day
 %h - Hour
 %m - Minute
 %s - Second

In the other two (Incoming and outgoing) you should use the variable 

 %n - to display nicknames of the (incoming or outgoing) messages. 

You can also use:

  - Set a color in standard mIRC fashion. eg 5 is red text
 $ - Set/disable bold 
 & - Set/disable underlined.

NOTE. These characters does not work in regular messaging. 
Use the keyboard commands in the below section instead.



Keyboard commands
-----------------
TAB          autocomplete names in channels
CTRL-TAB     Switch between open windows
CTRL-K       Set/disable colors in messages. Works like in mIRC.
CTRL-U       Enable/disable underlined text. Works like in mIRC
CTRL-B       Enable/disable bold text. Works like in mIRC.
ARROW UP     Go to previous in the command buffer
ARROW DOWN   Go to next command in the command buffer
PAGE UP      Scroll the history window up
PAGE DOWN    Scroll the history window down
ENTER        Send message/command
CTRL-ENTER   Go to a new line in the edit area



Menus
-----
On the system menu are:

 Join channel     - use this to join a channel
 Quick connect    - use this to quickly switch network. This
                    will not change your 'default' network in
					the options dialog.
 Change nickname  - use this to change your nickname
 Show/hide server - use this to show or hide the server window
                    The server window is where you can see the
                    commuinication with the server, but my aim
                    is that you should never have to look at 
                    this window. Traditionally there has always 
                    been a server window though.

There is also a right click menu in the nicklist:

 Query            - Opens a new message window.
 Whois            - Shows user details
 Op, deop etc etc - Use these to set user statuses



Commands
--------
This plugin will aim to have all IRC commands available for the 
user, but there are also a few that is included in other irc clients
that are nice to have around... an example is /amsg which will send 
the message to all channels you are on. The commands that are specific
to this plugin are:

/LOG <On|Off|Buffer> <All|#Channelname|Nickname|Filename>
 eg /LOG ON #miranda    will log channel miranda
    /LOG OFF Foobar     will stop logging user Foobar
    /LOG Buffer Kate    will log the entire history window to a file
                        named kate.<network>.txt. The logs are generally 
                        stored in the format user.channel.network.txt Also
                        see the aliases /LOGON and /LOGOFF which will en-
                        able or disable loggin on the current window.



FAQ
---

Q: I get weird crashes when i go into options or on startup. 
A: - Try restarting, and if that does not help:
   - Remove all IRC files in the plugins and root folder.
   - Use the database editor to delete the entire IRC entry
   - Reinstall it and make sure you extract all files to the folder named
     'Plugins'

Q: I can't connect to my network and when I look in the server window it says
   something about ERROR and USER.
A: Make sure that the field 'UserId' is filled in Options->Network->IRC and if
   if it is, make sure it is somethoing unique as some networks demand this. 



History
-------
0.1.1.0 (03-03-16)

- Feature: Supports InstallScripts for MirInst.

- Bugfix:  fixed so the messagewindows always scroll to the bottom when they 
           should.

- Bugfix:  fixed various problems with the log window in win 98/95 (colors, 
           newlines and other) 

- Bugfix:  the aliases now works correctly.

- Bugfix:  the right-click menu will now work even if help.dll is installed.

- Bugfix:  the 'Rejoin channels on connect' would not work in some occasions

- Bugfix:  Crash when closing a channel/user window when the name contains 
           letters which are not allowed in windows filenames.

- Design:  Changed the layout of buttons to comply with windows standards


          
0.1.0.0 (03-03-03)

- initial release



Credits
------
- Adi Degaini. Source code is built on a modified version of Adi Deganis 
               IRC class library. Thank you!
- Tornado      This could not have been without you holding my 
               hand initially. Thanks! ;-) Phear the monkeys!
- Rainwater    Coding guru. Thanks!
- hrk          1337 haXXor. Thanks!
- Peacow       The smiley man =) Thanks!
- Strickz      ICQ/Core dev that is the ultimate reference book
               Thanks!
- Egodust      For working on the Session manager. :-) Thanks!
- keh, 
  beti, 
  nikoladd, 
  bid, 
  insanitee 
  and  bumpert for general suggestions. Thanks!



Miranda IM
----------
Miranda IM is an open source instant messenger framework that 
support plugins for many different networks; ICQ, MSN, YAHOO
AIM to mention a few (but not all). Get it at:

http://miranda-icq.sourceforge.net



Base adress
-----------
0x1B0 10000 



Copyright and license
---------------------
Copyright (C) 2003  Jrgen Persson

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.