App icon

Help for WinShoe IRC Client


WinShoe is an Internet Relay Chat (IRC) client for the Windows PC that enables you to connect to IRC networks.

Features include multiple IRC network connections, server and channel lists for convenient selection (compatible with existing formats), aliases and popups (compatible with existing formats), scripts with the ability to cross post from one network to another, connection state indicators, searches to highlight matching text with optional filtering of search results to a separate results window, a smut filter, wheel mouse support, an identification server, RFC2811 channel identifier support, browsing from URLs, colour code modes compatible with mIRC, pIRCh, cIRCus, Ircle, and ANSI formats, access to raw IRC messages, channel windows with information panel and adjustable panel dividers, and a comprehensive help file.

WinShoe also supports a finger server, finger client and an ident server.

WinShoe is designed to fit perfectly with a WinSock ;-)

Version 1.34, released July 15, 2001, should run on Windows XP and has been tested on Windows 7 and Windows 10.

Previous versions were a 32-bit version for Windows 95 or later, and a 16-bit version for Windows 3.1, both 16 and 32 bit versions having been tested on Windows 95 and Windows 98. For these versions additional support for Windows Sockets (Version 1.1 or later) may be required. These versions are no longer being made available.

WinShoe is free software for general use.


Main Reference

Getting Started

32 bit version (1.34)

The distribution zip file contains all application files in a flat organisation without subfolders. You would normally install this version into a folder where you have full read/write permissions, e.g. C:\WinShoe, which you must create for this application. Unzip the files to your chosen folder. The installer program INSTALL.EXE can only be used on systems that support 16 bit Windows applications. To install the 32 bit application, please follow the instructions for manual installation which are included in the README.TXT file. The 32 bit executable is named WShoe32.exe (or Wsh32.exe in older versions) for the 32 bit version.

16 bit version

A 16 bit build is included as well in the package. You can install by running the installer program INSTALL.EXE, or following instructions for manual installation which are included in the README.TXT file. The program should be run by clicking on a suitable icon or shortcut to the executable file WinShoe.EXE. You can also use file manager (Winfile.exe) or run WinShoe.EXE (in the directory or folder where it has been installed) by using Start/Run or Program Manager (Progman.exe) File/Run commands.

The program can be run from the Start menu by right clicking on the task bar, selecting Properties, then Start Menu Programs, clicking the Add button, browse to the Winshoe.exe or Wsh32.exe program item, select a folder to place its shortcut in (e.g. Programs), select a name for the shortcut (e.g. WinShoe), then click Finish, and OK to exit Taskbar Properties.

Now you can click Start/Programs/Winshoe to start the program!

Windows 7 or later (V. 1.34)

After installing the files to the chosen folder, you will have the 32 bit executable file available as WShoe32.exe in that folder.

Right-click on the WShoe32.exe file and select Create shortcut. A shortcut file named "WSHOE32.EXE - Shortcut" should appear in the same folder. You can now drag this shortcut to the desktop to be able to launch the application from there.

To add the program to the Start / All Programs menu, click the Start button, enter "%appdata%\Microsoft\Windows\Start Menu\Programs" in the search box, and click on the Programs folder that should appear. Create a shortcut file as before, and move it to this location (make a subfolder for it if you wish), and a shortcut to WSHOE32.EXE should now be available in the Start / All Programs menu. The right click menu for the WShoe32.exe file should also give you options for "Pin to Taskbar", "Pin to Start Menu", and "Sent To ... Desktop (create shortcut)".

Running the program

When you start the program, it should appear as follows:

Not available

There are four pre-defined permanent windows inside the main frame window:

The Status window contains information about status of connections, incoming IDENT queries (e.g. {IDENT query} 1066 , 6667), Winsock initialisation data, incoming Finger queries etc.

The Script window shows the currently loaded script.

The Results window shows the results from text searches, and messages received from remote Finger servers.

The Debug window shows the currently loaded debug file. This can be used to view files (e.g. attribute and colour examples), or to interpret IRC messages off-line (such as those displayed by the raw data panel of Server windows).

The pre-defined windows automatically wrap text and display colours and text attributes.

Other windows are created as necessary to display text relating to IRC servers, channels or nicks. All windows can be controlled and used in a similar manner (see Window Behaviour)

To connect to an IRC server:

Select Tools on the Main Menu, then IRC- a dialog box will appear, to allow you to select a server and start the connection process.

Using the list box under "Network", select the IRC network that you want to connect to (e.g. "ChatNet"). Then select a server from the Server List (e.g. "Detroit.MI.US.ChatNet.Org") The details for this network and server are listed under the Server List (if you want, you can type in a Server name directly under "Server"). Then click on OK and the program will start the connection process.

While the program is connecting, you can monitor progress by watching the Connection State window.

Server information, channel text, and private messages each appear on their own windows (see Channel & Server Windows)

When you are connected to the server, a Server Window appears, titled with "Status:" followed by the network name and connection number (e.g. "Status: Chatnet (1)"). Right click on the Server Window to bring up a popup menu.

To join a channel on this server, left click the "Channels" item on the popup menu. A dialog appears, which includes a Network list box (normally preset to the network you have connected to). Select a channel name using the Channel List, or by typing a channel name under "Channel", then click on OK. You can also join channels by typing the command /join followed by the channel name (e.g. /join #chatzone) in the edit box at the bottom of the Server window.

When you have joined a channel, a Channel Window will appear. You can now chat to anyone in this channel by typing text into the edit box at the bottom of the Channel window. Commands (e.g. /join) can also be entered in the Channel window edit box. However, using the Server window edit box for commands helps to ensure that if you make a mistake entering the command, it won't appear as text in the channel.

If you want to chat to someone in private, you can use the /MSG <nick> <text> command to send them (if their nick name is <nick>) the message <text> ( /MSG and private chat windows can also be used to access services such as NickServ, or similar, for registering your nick name, and other useful things).

If they reply, the reply will appear in a new window. The first /MSG message that you send does not appear in its own window, but will be displayed on the server or channel window where you entered it. It won't be visible to other users in the channel. To be on the safe side, you should make a habit of entering /MSGs in a server or global edit box, so that if you make a mistake and it turns out to be interpreted as plain text, it will not be sent to other users. Alternatively, you can use a user-defined Popup to enter your /MSG.

Text can be highlighted using attributes and/or colours. These are added by using special Control Codes in the edit boxes.

Back to Top

What is IRC?

"IRC" stands for Internet Relay Chat. It enables people anywhere in the world to chat to one another "live" by sending text messages from their computers.

Whenever a major international event occurs, such as the Gulf War, or the OJ Simpson trial, large numbers of people can be found discussing it somewhere on IRC. Topics on IRC channels are as unlimited as those on the WWW. There are channels for discussion of current affairs, software applications and development, computer games, politics, general chit-chat, quizzes hosted in the channel itself, investment, business, sports, music, languages, science etc.

To use IRC, you connect to an IRC server, by running an IRC client program on your local computer. After getting connected, you then join a channel (sometimes called a chat room), which is a group of users who can all see the messages that each one types. Channels are generally based on a particular topic or concept.

IRC was pioneered by Jarkko Oikarinen (, at the University of Oulu in Finland. In 1988, he developed IRC client-server software to improve on the facilities offered by the Unix "Talk" program. In his words: "Internet Relay Chat is text-based Internet-wide multi-user communication system, where discussions are organized into channels". Jarkko Oikarinen was awarded the 1997 Dvorak Award for Personal Achievement for designing IRC.

An IRC network consists of a number of interconnected servers. Users connect to these servers over the internet and when a user sends a text message by typing it into an IRC client program, the server sends it to other users according to the type of message and the channels that each user has joined.

Unfortunately, the IRC architecture has "poor scalability", which means that increasing the number of servers and users progressively leads to a rapidly increasing load on the server processor power, which is one reason why IRC servers tend to be grouped into separate networks rather than one huge IRC network- rather like if you had to connect to a different world wide web to look at different sets of web pages.

User Nick names

Each user on a network has their own unique nickname. This is often limited to 9 characters, but some networks allow more.


IRC operators (IRCops) manage the IRC servers. Channel operators (chanops) manage individual channels on an IRC network.


Users chat to each other through channels in which a number of users are present. Any message sent by one of these users is sent to all the users in the channel. There may be many different channels on the network, and one user may be in multiple channels.

Channel names begin with a channel prefix, which is the character '#', '&', '+' or '!'; the '#' form is the most common and means that the channel is available on all servers in the network - for example: #irchelp.

'&' channels are restricted to the local server.

'+' channels are preset to mode 't' and their modes can not be changed.

'!' channels are "safe channels" (See RFC2811 for details).

Back to Top

Safe Chatting

Here are a few important rules that everyone should be aware of. The links I have given below have more information.

Never tell anyone you meet on the Internet personal details such as home address, telephone number, school's name, passwords, bank or credit card information.

Be very wary of people who want to arrange a face-to-face meeting- people don't always tell the truth online. If you are chatting to a "child", it could be an adult pretending to be a child. But if you really must meet someone, take a friend, or a responsible adult, and meet in a public place, preferably with CCTV coverage.

Never open downloaded files or attachments unless you have had them scanned using good, up to date anti-virus software. They could contain viruses or other malicious software which could destroy data and software on your computer, or read personal information from it.

Apparently safe files can be dangerous- even a trusted person could pass on a file containing a virus accidentally, because they haven't discovered it themselves, or because the virus sent the file automatically without their knowledge. WinShoe does not support the DCC file transfer protocol, therefore you can not receive an infected file that way (see Viruses)

Don't respond to messages that are nasty or worrying. Remember you can always leave. Just click the close button at the top right of the program. Use the /IGNORE and the /SILENCE commands to block annoying messages from specific people.

Remember you can log chats- right click on the channel text, look for "Logging (OFF / ON)", click, and answer the "YES/NO" confirmation dialog box to start logging to a file which will be named after the channel, and stored in the logs directory set up under Miscellaneous Setup.

Ask yourself: "Are people telling the truth?"

Use the /WHOIS <nick> command to check someone's IRC information. Although often there will be nothing much there to really identify someone, there may be something useful, such as a host address, which might be used to trace their ISP.

Useful Links

How to Use Proper Chat Room Etiquette

A wikiHow article: "When you go into a chat room for the first time, it is often hard to access or acquire the chat room rules even after lurking for a bit. These little hints can help..."

How to Be Safe in the Chat Rooms

A wikiHow article including topics such as keeping Your personal information private, interacting with people offline, being aware of predators, and ceasing communication and reporting threats.

Childnet International

"...a non-profit organisation working with others to help make the internet a great and safe place for children..."

US Computer Emergency Readiness Team

Using Instant Messaging and Chat Rooms Safely - security tips regarding instant messaging, chat rooms, and bots.

School of Privacy - How to IRC Safely

Please note that IRC servers and links mentioned elsewhere in this help file or in the default server list may not be suitable for kids. Never assume that any chat service is "safe for kids", or completely free from "Inappropriate chat", even if promoted as such. Ownership of servers and operating policies may change over time.

Back to Top

Channel & Server Windows

When you have connected to a server, and joined a channel, you should see new windows similar to these:

Not available

These windows include several sub-windows, each of which displays text for a different purpose.

The Server window contains two sub-windows, and you can change their relative proportions using a horizontal divider. The top window is for raw server messages. These are the messages as received from the IRC server, without any translation (attributes and colour codes are also shown "raw").

The bottom window is for server status messages. Various sorts of informative messages are displayed here, including the results of many commands, e.g.:

Message of the day (MOTD) (e.g. "Welcome to the Internet Relay Network... Your host is... There are 770 users and 341 invisible on 15 servers..."

Nick Lists (see /NAMES - Server Commands)

Channel and user mode settings, e.g. "#channel +ptn"

Nick name changes
Quit messages
PONG replies
/WHOIS lists
Kick messages
CTCP messages

The Channel window contains three sub-windows, and you can change their relative proportions using a horizontal and vertical divider.

The bottom-right window is normally the largest in size, and contains channel text, which consists of messages from the other channel users, some status messages (e.g. join and kick messages), and copies of any text that you send. Wrapping is done automatically, and attributes and colour codes are translated according to the colour mode (see the Miscellaneous Setup dialog.

The bottom-left window is the nick name list. It is sorted in alphabetical order (with voiced and opped nicks at the top), and nicknames are not wrapped (use the horizontal scroll bar if necessary).

The top window is the channel information window. It contains specific items of information about the channel, if available, i.e.:

Topic: This is the channel topic, which (supposedly) describes the purpose of the channel. (A list of channel topics for each channel on the network can be obtained using the /list command).

Topic updated by: This tells you when the topic was last changed or set, and who did it.

Channel Modes: This is a list of modes for the channel.

Channel created: This tells you when the channel was created.

Channel Key: This gives the keyword associated with the "k" mode, if set.

A Private Message window is very similar to a channel window, with three panes, but the Info panel is not used. Private notices are often sent by channel operators or bots when you join a channel (you can close these windows and continue to watch the main channel). If someone sends you a private message, a Private Message window will open and you can talk privately by typing your replies in its edit box at the bottom. The sender of the message will be identified in the nick list. If you close the private message window, a new one will open if the other user sends you another message.

If you open a chat with a bot or service using /msg <service>, when it replies and opens the private message window, you can then type commands in the window without entering the /msg <service> every time.

Back to Top

Window Behaviour

In any window, press the End key to go to the end of the text, and the Home key to go to the top.

Vertical and horizontal scrolling can be done using mouse left clicks on scrollbars as usual. The up and down arrow keys move through the text one line at a time; the Pg Up and Pg Dn keys move through the text one page (height of window) at a time. The left and right arrow keys can be used to scroll sideways; text normally wraps so this shouldn't be necessary, except in raw text panels in Server windows which are not wrapped by default.

A wheel mouse can be used, where the centre wheel performs a vertical scrolling action. Moving the wheel towards or away from you determines which direction the scroll moves, except for the 16-bit version of the program, where the mouse wheel only scrolls up regardless of which way you move it. However, all is not lost, as you can scroll up using the centre wheel and return to the bottom of the text by clicking the mouse wheel; and the next time you click it the display switches to the top of the text. Alternate mouse wheel clicks will switch between the top and bottom of the text.

You can find text in windows (see Edit / Find) using pop-up menus, and you can use the mouse to select, Cut & Paste text from any text window or edit control.

Standard Layout

At the bottom is a global edit box on the left, and a connection state window on the right.

When you type a command in the global edit box, and hit Enter, you will be asked "Are you sure you want to send to all IRC connections?". This is because any command entered here will be sent to all connected IRC networks (except for /SERVER and /IGNORE commands).

The Connection State window contains several status indicators, which indicate the current state of each internet service supported by the program and include information and control functions.

Back to Top

Main Menu


Open Script File
Open a script file. This is a file that specifies responses to incoming messages that are triggered when certain key conditions are matched.

Open Debug File
Open a debug file. This is a file that can simulate messages from an IRC server or demonstrate display capabilities of the program.

Edit File
Open a file for editing. This is a simple text file editor, convenient for making changes to small files such as script files. After you have opened a file you can edit it in the Editor dialog. Click Undo to undo an action, click Cancel to exit without saving, or click Save As to save the file (changing the file name if you want to create a new version without overwriting the old one) and exit.

Exit the program. If any IRC connections are made, quit messages will be sent using the default quit message (see Miscellaneous Setup).


Edit Popups, Aliases, Ignores
This will bring up a dialog that allows you to edit your custom popup menu items and command aliases. These are automatically saved when you click on OK.

There are a set of radio buttons which select the type of data being edited. Popup items are added to the floating popup window that appears when you right-click on a window text panel; different sets of items are included depending on the context. "Other Lists" do not appear in popup menus, but are referred to for translation of command aliases or to determine whether a nick should be ignored.

Popup menu items and aliases are formatted using a similar alias and popup menu syntax to that used by other IRC programs, so that users can easily transfer their favourite settings between programs.


  • Nick: These are the popup menu items that appear when you right-click on a nick in a nick window or a channel text window.
  • Channel: These are the popup menu items that appear when you right-click on any text panel of a channel window.
  • Server: These are the popup menu items that appear when you right-click on any text panel of a server window or channel window.

Other Lists:

  • Aliases: These items are for translation of command aliases, which allow you to use shortened versions of commands, or even a pre-formatted line of text including colour codes with certain optional parameters.
  • Ignores: Messages (including PRIVMSG, NOTICE, and INVITE messages) from nicks on the ignore list will not be displayed; you can add nicks to this list either by editing the list or entering the /IGNORE <nick> command.

Please note that there is currently a limit of 128 for the number of entries allowed in a server list, channel list, server popup, channel popup, nick popup, alias list, or ignore list.


This causes the program to redraw all its windows. Use this if a window appears garbled- this can occur if a window has not been updated automatically. Since redrawing and receiving network messages both access the program's memory, it is necessary to lock out access to the memory while storing new data (otherwise memory can become corrupted). Occasionally this can result in a display not being updated properly; use the Redraw! command to correct this.


Opens the dialog box for the Finger Client.

Opens the dialog box for the IRC client to select a server and start the connection process.

Opens the dialog box for the Identification Server.

Opens the dialog box for the IRC debugger.


Allows you to select a new font for text on all windows using the standard Windows font dialog.

Opens the dialog box for Miscellaneous Setup.

Opens the dialog box for Initial Setup. The setup .ini file shown here (e.g. C:\<installation dir>\SETUP.INI) contains all your settings for options, font, servers, channels, popups, aliases, and ignores. Click Browse to search directories for an existing file. By changing the file name shown here, you can have alternative settings.


Arranges the preset windows according to a standard tiling pattern, but does not affect server or channel windows.

This will tile all windows on the master window according to normal Windows practice.

This will cascade all windows on the master window according to normal Windows practice.

Arrange Icons
Arrange Icons will tidy up iconised windows.

A further list of windows is automatically added, depending on which server or channel windows have been opened. This allows you to navigate through a set of overlapping windows using a list.


Displays the Help file Contents page.

Displays a search dialog to search the Help file.

"About" brings up a general information box with program identification, version number, serial number, and other information. Under "Client Info", the word length of the executable (i.e. 16 bit, 32 bit, or 64 bit) is given.

Back to Top

Miscellaneous Setup

This dialog box allows you to adjust various settings for files, default messages, options and colour modes.

Default Messages

Quit Message: This is the default quit message that is sent if you quit from an IRC server connection without specifying a quit message explicitly, e.g. closing the program, or issuing a plain "/quit" command.

Part Message: This is the default quit message that is sent if you part from an IRC channel without specifying a part message explicitly, e.g. closing the channel window, or issuing a plain "/part <channel>" command.

Files and Directories

Initial Script: This is a script file that is pre-loaded when you start the program (it is not activated until you change the mode by right-clicking on the Script window and selecting "Scripting ON" or "Debug mode").

Scripts Directory: This is the directory normally used to store the script files, which will be used as a starting point when you use File/Open Script File.

Logs Directory: This is the directory used to store log files.

Debug Directory: This is the directory normally used to store debug files, which will be used as a starting point when you use File/Open Debug File.


Show quits in channel: Check this option checkbox if you want users' quit reports to be displayed in channel windows.

Show parts in channel: Check this option checkbox if you want users' part reports to be displayed in channel windows.

Show joins in channel: Check this option checkbox if you want users' join reports to be displayed in channel windows.

Enable Nick Lists: Uncheck this option checkbox if you don't want nick lists to be updated and displayed. Any nicks joining or leaving the channel will not be recorded while this is unchecked, so if you re-enable it, to get an up to date nick list, you should part from and re-join the channel.

Disable Filter: Check this box to disable the [smut filter:smutfilter].

Ignores in status: If this option is checked, status reports will be displayed on the server status window for each message that is ignored as a result of using the /IGNORE command and Ignore list. For example:

"{Ignored} <nick>!<user>@<host>"

Enable Ident Server: Uncheck this option checkbox if you don't want the Ident Server enabled.

Enable Finger Server: Uncheck this option checkbox if you don't want the Finger Server enabled.

Colour Modes

There are three radio buttons, one of which may be selected to choose the colour mode used for display on windows, and entry using the Control-k colour codes dialog.

mIRC / pIRCh / cIRCus:
Mode compatible with the mIRC, pIRCh, cIRCus, and other IRC clients using the same format of colour code.

Mode compatible with Ircle, and other IRC clients using the same format of colour code.

Mode compatible with the ANSI standard (ISO) 6429 for colour attributes.

See Control Codes for more information on colour codes.

Host Setting

These are radio buttons to determine the way in which the host name is set when you launch the Tools/IRC dialog.

The host name is not changed automatically; it remains set to whatever was last entered manually or by using the "Get Host Name" and "Get Host IP" buttons in the Tools/IRC dialog.

Auto Get Host Name
When you launch the Tools/IRC dialog, the host name will be preset to the local host name that identifies your computer.

Auto Get Host IP
When you launch the Tools/IRC dialog, the host name will be set to the Internet Protocol address number for your computer.

Back to Top

Initialisation Setup

This dialog box contains an edit box labelled "Setup file", a browse button that you can use to find and select a file, which will be entered into the edit box, an OK button to close the dialog if you are happy with the setting, and a Cancel button to close the dialog if you don't want to change from your previous setting.

The setup file is an example of an ".ini" file. A setup .ini file can be given a different name, with a .ini suffix, for example if you want to save different settings for different purposes, or different users.

The setup .ini file contains all your settings for options, font, servers, channels, popups, aliases, and ignores.

On installation, assuming you installed the software in the directory path C:\<installation dir>, a default setup file setting is used, which is C:\<installation dir>\SETUP.INI.

The setting for initialisation setup is kept in a different .ini file called C:\<installation dir>\<app name>.ini.

This .ini file contains the setup .ini file name under the key SetupDirIniFile, and a KeyData entry which records your acceptance of the licence conditions dialog box against the major software version number. If you delete KeyData or change the software to a different major version number the licence conditions dialog box will be displayed again when you start the software.

Back to Top

Connection State

From left to right, these indicate the status of IRC connections (how many depends on the number currently allowed by the program), Finger Client, Finger Server, and Ident Server.

As you move the mouse pointer over each status indicator it will be highlighted with a focus rectangle.

Right clicking on the status indicator will bring up a popup menu. The first item is a title to identify the type of service. If the service is active, there will be an "Abort" item to allow you to abort the service. If an IRC service is active, there will also be a "Quit" item which allows you to quit the IRC connection. "Abort" should only be used if the IRC connection is not responding normally.

When an IRC connection is established, the first item in the status indicator changes to the name of the network, e.g. "Chatnet". Clicking this item will give you a list of network information, including the server name and your nick on this connection.

Clicking on the second item, "Channels", will bring up a Channel selection dialog. This is the same facility also provided as one of the pre-set options on Server window popup menus.

The possible connection states shown in the Connection State window are:

UNCONNECTED (black): Not connected, or disconnected (client), or not running (server).
DISABLED (dark red): Server does not respond to connection requests.
RESOLVING (light blue): Resolving a host domain name or IP.
RESOLVED (orange): Host was resolved, connect initiated.
CONNECTED (dark green): Connected to IRC server, but not registered.
REGISTERED (light green): Connected to IRC server and registered.
LISTENING (dark green): Listening for connections (server).
ACCEPTING (light green): Accepting a connection request (server).

If the connection state sticks on RESOLVING, or RESOLVED, the host may not be responding, or there may be network delays. If it fails, the connection may eventually time out with a WinSock Error, such as WSAETIMEDOUT or WSAENOMORE (no more data available). Check for these errors on the Status window.

If the connection state for IRC sticks on CONNECTED, the host may simply be slow in responding, and the connection may eventually succeed, or time out with a WinSock Error.

When you have connected to an IRC server, the appropriate registration messages are sent automatically to the server. If you are accepted as registered, a sequence of introductory messages are sent by the server and your connection state will change to REGISTERED.

Note that the server may go through an authorisation process of checking hostname, and/or ident, before completing registration.

Back to Top


This dialog enables you to select an IRC server and start the connection process.

Using the list box under "Network", select the IRC network that you want to connect to (e.g. "ChatNet"). Then select a server for this network from the Server List (e.g. "Detroit.MI.US.ChatNet.Org") The details for this network and server are listed under the Server List in edit boxes labelled "Server's Network Name", "Server", "Port", and "Server Description". If you want, you can type in a Server name directly under "Server"). Then click on OK and the program will start the connection process.

While the program is connecting, you can monitor progress by watching the Connection State window.

User Information

When the IRC client connects you to a server, it automatically sends the USER command, which specifies the "username", "hostname" and "realname" of a new user. It also sets your nickname using the NICK command. These parameters are set up in the relevant edit boxes of the Tools/IRC dialog.

Your identity on IRC is expressed in terms of your nick, user ID, and hostname. When messages are sent to you or received from others the user is identified in the message in the form <nick>!<userid>@<host>, although this is usually stripped from messages before they are displayed in a channel.

For example:



<nick> = manfred
<userid> = eswl
<host> =

Sometimes the same information is given without the '!' and '@' separators, e.g. in a WHOIS reply:

manfred eswl


Buttons "Get Host Name" and "Get Host IP" set the Host to the name of your local host, or its Internet Protocol address number which is a set of numbers separated by dots. Alternatively, you can change the Host entry to anything you like. Your local host name identifies your computer, and it may be a single word, or a domain name equivalent to your IP address number.

The remote IRC server may obtain your host name by looking it up, rather than using the host name that you fill in. The IRC server may check your host name entry though and you may have to use your proper host name anyway. It all depends on how the particular IRC server is configured to authenticate logins.

Internet Service Providers (ISPs) usually assign a different (dynamic) IP address every time you connect. You may need to update the host entry if this is the case. If you find you can connect to your IRC server without doing this, there is no point in updating the host entry.

Some ISPs offer you a unique IP Address (static IP); this also is often the case for computers connected to a local area network, where each PC may be assigned a unique IP address by the network IT staff.

The Host setting is stored in your setup .ini file until you choose to change it. Note that, if you move your setup .ini file between computers, a Host Name or IP setting may become incorrect, then you may need to update it.

You can automate the host name setting for convenience when you launch the Tools/IRC dialog, by setting the appropriate Host Setting mode in the Miscellaneous Setup dialog, which allows you to select from either manual setting (default), automatic Host Name setting, or automatic Host IP setting.


On Unix systems, this is normally a login name. On a Windows/PC system, you can choose your User ID. If you click the button labelled "Use Ident user ID", the user ID will be set to match the one currently set in Tools/Ident, and there is a similar button in the Ident dialog that works the other way round. Some IRC servers may require this to be set to the user name that you use with your ISP. For example, if you log in to your ISP as "bloggs", set this to "bloggs" and set the Ident user ID to the same.


Your nick name is the name by which you are primarily identified in channels and addressed by other users. You can choose anything you like, composed of letters, numbers, and some special characters such as ^, -, _, `, \, [, ], {, }. Some networks have a system for registration of nicknames and won't let you use one that is already registered, and you can't use a nickname if that nick is already on the network- each user must have their own unique nickname.

Nicks are often limited to 9 characters, but some networks allow more.

The Random button can be used to generate a random nick (see also the /RNICK client command).

Alternative Nick if Nick exists at login

This nick will automatically be tried if your main choice of nick fails. You should choose something that isn't likely to already exist or be registered, such as a random combination. If this alternative nick fails, you still usually have a chance to try another nick, but you have to enter it manually using the /NICK command.

Real Name

More often than not, this isn't set to anybodys real name (isn't it ironic?).

You can put in a witty comment, an email address, a web page address, or even your real name if you aren't worried about disclosing your identity. Don't assume that filling in fake information will conceal your identity.

If you want to look up someone's "realname", you can use the /WHOIS command.

Modifying the Server Database

The servers listed here are defined in your Miscellaneous setup .ini files. You can modify the list using the dialog, so you don't normally need to modify the .ini file entries. You can also download and import server lists (by editing the setup .ini file) which have been formatted using a syntax that is compatible with other IRC software (there are a lot of existing server databases available on the internet). When editing an .ini file, always make sure that the entry keywords (e.g. "n0=") are listed starting with the numeric digit 0 and increasing by 1 each time.

To modify an existing entry, first enter the correct data into the edit boxes under "Server's Network Name", "Server", "Port", and "Server Description" for a server that you have selected from the list; and then click the "Update" button.

The "normal" port number for IRC is 6667- if in doubt, always use this number. IRC servers frequently listen on other ports, typically between 6665 and 6669, and sometimes 6660 to 6664 and/or one at 7000 are also available. Once you have connected to a server you can find out which other ports it accepts (sometimes given in the MOTD, and sometimes given it associated web pages for the network). Changing the port number may give you quicker connections.

To add to the server list, modify an existing entry as above, but click the "Add" button- the existing entry will not be altered, and the new data will be added as a new entry.

To delete an entry, which has been selected from the server list, click the "Delete" button.

To save a changed server list or user data, click the "Save Settings" button. To start the server connection process to the server listed under "Server", click "OK".

See Server and Channel Lists for web sources that list IRC servers.

An example of the .ini file format where entries for the IRC dialog are stored looks like this:

n0=Radio 1 (IRCstorm)
n1=AT&T WorldNetSERVER:NewBrunswick.NJ.US.Undernet.Org:6667GROUP:Undernet
n4=StLouis' Gateway to the

In this format, the part of the entry string before the "SERVER:" keyword is the "Server Description", the part after "SERVER:" is the server's internet address; then after the server address and a delimiting colon (':') but before the "GROUP:" keyword is the "Port"; then after the "GROUP:" keyword is the "Server's Network Name".

Please note that there is currently a limit of 128 for the number of entries allowed in a server list, channel list, server popup, channel popup, nick popup, alias list, or ignore list.

Back to Top

Server and Channel Lists

The following web resources list IRC servers. You may find others using search engines (e.g. Google). - click on Networks

Eris Free Network (Efnet)

Undernet Servers

DALnet servers

Chatnet home and servers

Starlink-IRC servers

KreyNet Server List (Dutch focus)

IRC Networks (alphabetical list) at

Back to Top

Channel selection

This dialog provides an easy method for connecting to pre-defined channels. It is accessed by either:

Right-clicking on a server window, then left-clicking "Channels..." in the popup menu,

or right-clicking on a highlighted IRC server connection state indicator and then left-clicking "Channels..." in the popup menu.

The channels listed in the channel selection dialog are ones that have been pre-defined in your Miscellaneous setup .ini files. You can modify the list using the dialog, so you don't normally need to modify the .ini file entries.

You can select the network using the "Network" list box (this should be preset to the network for this connection, so normally you wouldn't need to change it). You can select the channel using the "Channel List" box. To add to the channel list, enter the "Server's Network Name" and "Channel" information and click the "Add" button.

To modify an existing entry, change the "Server's Network Name" or "Channel" information and click the "Update" button.

To delete an entry, which has been selected from the channel list, click the "Delete" button.

To save a changed channel list, click the "Save Settings" button. To join a selected channel, click "OK".

An example of the .ini file format where entries for the Channel dialog are stored looks like this:


In this format, the part of the entry string before the delimiting colon (':') is the channel name, then after the colon is the "Server's Network Name" which should match entries with the same name in the server list.

Please note that there is currently a limit of 128 for the number of entries allowed in a server list, channel list, server popup, channel popup, nick popup, alias list, or ignore list.

Back to Top

Cut & Paste

To select text in any of the text windows you use the mouse with the left button in the usual way. When you release the left button, the highlighted text will be copied to the clipboard immediately. There is no need to separately copy the highlighted text - the result is faster, and in a constantly changing display, a block of text highlighted for copying will not then become a permanent block of inverted text in the scrolling text.

You can select text outside the window by holding the left mouse button down and scrolling the window using the arrow keys. You can also select and copy words and nicks by right clicking on the word that you want then left clicking on the popup menu where it says "Copy to Clipboard".

Text can be copied from any of the text windows, including raw status, nick lists, and channel info windows. When you copy from the raw status window panel, attributes and colour codes are included.

Back to Top

Ident Server

The Ident Server handles incoming Identification protocol connection requests (as described in RFC 1413) on port 113. Its purpose is to identify the identity of a user of a particular TCP connection. This is mainly a reflection of the Unix environment and is not particularly meaningful on a PC, as there is no distinction between administration of the user connection and the Ident server. The Ident server is provided with IRC as a means to facilitate or speed up connections.

Many IRC servers send Ident queries, but often a connection can be registered even if your Ident server is blocked by a firewall, depending on the configuration setup of the remote IRC server.

The System setting should normally be "UNIX".

The User ID setting is nominally supposed to be set to the name you normally use in your email address, (the part before the '@'), although it can often be set to whatever you like.

If you click the button labelled "Use IRC user ID", the user ID will be set to match the one currently set in Tools/IRC.

If you click "Save as Defaults", the System and User ID settings are saved in your setup .ini file.

Click OK to close with the settings you specified, or Cancel to leave them unchanged.

If you want to use another Ident server program, simply run it before you run WinShoe.

If you want to disable the Ident Server, uncheck the "Enable Ident Server" checkbox using the Miscellaneous Setup dialog.

If you do /whois <mynick> the first line of the WHOIS reply will indicate if your Ident response has been accepted. A '-' or '~' sign will appear if it has not, for example:

mynick ~myusername * :Realname

Back to Top

Finger Server

If a Finger server request is received, a list of your network connections followed by any text in the file plan.txt (if present in your application directory) is sent to the requesting finger client. If there is no plan.txt file, the line "No Plan" is sent. For example:

   No login information available
   On IRC net DALNet, server, as nick MadCamel
   Connected for 2420 seconds.
    : plan.txt
    : Test file

There is no support for a "project" file.

There is also no support for information about logins or users on your PC, and making this sort of information remotely available is often not desirable, therefore the line "No login information available" always appears. Only information about the IRC network connections that you are using is available.

If you enter the address in your Finger Client dialog, or the word localhost, you will be able to see the Finger Server information for your own machine which will be displayed on the Results window.

You can also send a Finger request to your PC running this software by entering the appropriate Finger command, which may depend on the local machine setup. For example, on a machine running the GNU linux bash shell, assuming that <IP> is your PC's Local Host IP number (displayed on the Status window after you have started IRC or Finger), you could enter (after the Login:~$ prompt):

Login:~$ finger @<IP>

Incoming Finger requests are logged on the Status window, for example:

{Finger query} from
Local server closed Finger connection (query answered).

See also Finger Client.

Finger uses TCP port 79.

For further information, see this web site: Archive

If you want to disable the Finger Server, uncheck the "Enable Finger Server" checkbox using the Miscellaneous Setup dialog. It is recommended that you do this for security reasons unless you actually want to use the Finger Server.

Back to Top

Finger Client

The Finger Client sends "finger" queries to remote Finger Servers, and displays results received on the Results window.

If allowed by the remote administrator, a Finger server will provide a list of online users and possibly optional information such as terminal location, office location, office phone number, job name, or idle time. For security reasons, the finger service or some of this information is often unavailable.

As of 2017, virtually nobody makes the finger service available due to security concerns and obsolescence. None of the servers mentioned below remain available.

The Finger Client is accessed via the main menu option Tools/Finger.

The Finger Client dialog includes an edit box for the host name and an edit box for the login name. If the login name is entered together with the host name in the form <login name>@<host name>, in the host name box, the login name box is ignored and will be set to the <login name> part.

If the "Display long format reply" check box is checked, a finger query with the "-l" option is sent, which requests more detailed information (if available).

If you send a finger query to another PC running this software, you will see a reply formatted as described under Finger Server, which will tell you which IRC networks the other user is on, and list their plan file if they have one.

You can enter the address or the word localhost as host name to query your own finger server, if it is enabled, and the results will be displayed on the Results window.

Sometimes a specialised information service is provided through a Finger Server. For example, earthquake information was made available through several servers, but this is now easily available on a web browser and such finger services are no longer available. (see for earthquake information)

Example of a Finger Server reply (from server

Login name: ctan
Directory: /homes/server/ctan       	Shell: /bin/sync
Never logged in.
No unread mail
In order to reduce network load, it is recommended that you use the
Comprehensive TeX Archive Network (CTAN) host which is located in the
closest network proximity to your site.  Alternatively, you may wish to
obtain a copy of the CTAN via CD-ROM (see help/CTAN.cdrom for details).
Known mirrors of the CTAN reside on (alphabetically, by country): (NSW, Australia)       /tex-archive (QLD, Australia)   /pub/tex-archive
... etc. ...

Example of a Finger Server reply when no login name was given (from server

Login       Name               TTY         Idle    When    Where
denda    Mitsunori Denda       pts/1         3d Mon 18:48  cronos
marcem   Marcelo Mydlarz       pts/4        21: Fri 18:35  norm
cammisa  Heather Cammisa      *pts/37        42 Fri 11:28
... etc. ...

Example of a Finger Server reply including login name "denda" (from server

Login       Name               TTY         Idle    When    Where
denda    Mitsunori Denda       pts/1         3d Mon 18:48  cronos
denda    Mitsunori Denda       pts/101      13d Mon 10:52  cronos

The Finger user information protocol is described in RFC 1288. Finger uses TCP port 79.

Back to Top

Edit / Find

When you right click on a text window and select "Find...", or enter the Control-f key combination, the Find dialog box appears.

There are four main search modes:

AND: This mode requires every word given in the search text to appear for a match to occur. Words are counted as any text not including delimiters.

OR: This mode generates a match if any one of the words specified in the search text appears.

Exact: This mode requires the search text to appear exactly as typed, including delimiters.

Fuzzy: This mode allows text to be found even if it only approximately matches the search text. A threshold figure for the search is also specified. If every letter of the text matches, the search score is 1.0. Therefore, specifying a threshold of 1.0 is equivalent to an Exact match. If you type a word of 10 letters, and you wish any text matching at least 6 out of ten letters, then you specify a threshold of 0.6. This mode allows for mis-spellings. If you specify a low threshold you may find a lot of inaccurate matches.

If you only specify one word to search, the AND and OR modes are equivalent.

Use the AND or OR mode when you want to search using whole word matching only.

There are five checkboxes provided to modify the behaviour of the search dialog.

Case Sensitive: If checked, the case (upper or lower) of the text must match exactly.

Keep Find Dialog Open: Check this if you don't want the dialog box to disappear after you have started a search. This is useful for multiple searches. You may need to move the dialog box out of the way of the other windows to view the results.

Match whole words only: This is disabled for Exact and Fuzzy search modes. When using AND or OR search modes, you can check this box to specify that words must match exactly. When not checked, a word in your search text will match against text in the database even if it is embedded in a larger word.

Case insensitive substring glob mode: Allows the use of wildcards, such as '*', '**', and '&' in the search. See Search Strings.

List finds on results window: This option copies the matching lines to the Results window as well as highlighting them on the source window.

Click on the "Save Settings Now" button if you want to save the optional settings immediately.

Back to Top


Commands are used to control the behaviour of the client program, or the remote server, or to send data.

Server Commands

Client Commands

A special syntax is used to describe commands and parameters (especially in documents such as RFC 2812, or in this help file where necessary). The syntax itself is described by Crocker, D. and P. Overell, in "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, November 1997.

In simplified form:

A syntax element is denoted by a description, usually in angle brackets, e.g. <nick>.

Individual characters are shown in quotes, e.g. ":" although you don't type the quotes in an actual command.

A list of syntax elements made up of any number of elements is shown by: *(<elements>)

Square brackets denote optional syntax elements, e.g. [<option>].

If there are alternative elements, a slash is used to separate them, e.g. <alt 1> / <alt 2>

Back to Top


Bots (short for robot) are IRC clients run by software rather than user input.

Bots are often used to maintain order in channels. If you wanted to do this yourself, as channel operator, you would have to be there all the time, or organise shifts of operators around the clock... not very practical. The bot is also useful while you are there; it keeps your hands free and can respond to malicious behaviour very quickly.

A channel bot can keep a channel alive, by staying in the channel even if every user leaves. It can also automate giving op status to privileged users, de-opping, kicking or banning problem users, and serving up useful information.

Depending on the type of channel, a bot might have different behaviour, for example a cafe or bar type channel might have a bar bot that serves "drinks", and a game channel might have a bot that asks questions and keeps scores.

IRC networks often have their own bots that run common services available to all channels. For example, to register your nickname with a password so that no-one else can use the same nickname, to automate and anonymise channel kicks so that users don't see which particular operator requested the kick, or to serve up information pertinent to the topic of the channel. You might also find help information available on some networks from a HelpServ bot.

Information about network bots is often given in the servers' MOTD message. For example:

  - Current Services On-line:
  - Nickserv: Nickname Registrations
  - Chanserv: Channel Registrations
  - Memoserv: Memo Storage

For more information:

Back to Top


MOTD is short for Message Of The Day: This message is usually sent soon after you log in to an IRC server, and will often contain rules and guidelines specific to a server, and information about special events or changes to the system.

Back to Top


Viruses (or is it Virii?), trojans, or worms, are (contained in) malicious files that can be sent to you over IRC in much the same way as they are sometimes sent as attachments to email messages. On IRC, files can be sent using the DCC protocol, which WinShoe does not support. Therefore you can not receive an infected file. Users may sometimes send you a request to send a file, which may show up in the server status window, or a notice window. You can ignore these, and close the private message window. These viruses, trojans or worms often operate without users' knowledge so do not attack them personally. If the message is repeated, try the /SILENCE command, which suppresses private messages at the server, but won't stop the user's chat in the channel.

An example of a malicious DCC message, requesting to send a common type of infected file, appearing as a notice in a private message window:

  <some_nick> DCC Send LOVE-LETTER-FOR-YOU.HTM (203.135.**.**)

Example of DCC requests to send files carrying viruses appearing in the status window:

Using a NOTICE command:
  :some_nick!~user001@203.135.**.** NOTICE WinShoe_ :DCC Send LOVE-LETTER-FOR-YOU.HTM (203.135.**.**)

Using a PRIVMSG command:
  :some_nick!~user001@203.135.**.** PRIVMSG WinShoe_ :DCC SEND LOVE-LETTER-FOR-YOU.HTM 3414631237 4717 16136

Another ploy is the fake warning, which may be an ordinary notice or channel text, for example:

  <nick> !!!WARNING!!! You attempted to send me file **********************.jpg.vbs Please download ************* from ***************************** to remove this virus from your system.

Ignore messages like this, or go to an advice channel- it may be a trick to get you to download an infected file by opening a URL using your web browser or other software.

For help with advice to IRC users on virus removal, has a web page dedicated to IRC security issues:

You should always ensure that you have anti-malware protection for your computer. For further information, please see the following:

Article on removing malware with links to malware scanners at PC World (IDG, U.S.)

List of anti-malware product removal tools on Microsoft community

Note: "" listed in an earlier version of this help file appears to have been compromised - do not visit.

Back to Top

Smut Filter

The smut filter hides certain prohibited words with asterisks or '#' signs from being displayed or sent. This might help avoid embarrasment when you are using IRC in front of elderly relatives, the press, or small children. It isn't much use for protecting against all forms of offensive language- people are far too inventive and can get round word filters quite easily, and in different cultures words can have quite different levels of offensiveness. The filter only works for [British] English, which is obviously not much use if you are chatting in another language.

To disable the smut filter, you must add the line:

Status=Socrates your setup.ini file, under the section [WinShoe].

You can then use the option "Disable Filter" in the dialog box for Miscellaneous Setup. Check the checkbox to disable the filter, or uncheck it to enable the filter.

Back to Top

Winshoes for Delphi

Q."Whatever happened to Winshoes, the open source internet component suite of popular internet protocols for Delphi?"

A You are looking in the wrong place- WinShoe is completely unrelated to WinShoes (its internet components are based mostly on my reading of "Windows Sockets Network Programming", 1st Edition, by Bob Quinn and Dave Shute, 1996). In fact, the Delphi suite is now known as Indy. Please refer to the following links:

"Winshoes was the predecessor to Indy and was the name until version 8.0 when it was officially changed to Indy. With version 8, Indy began to support Linux and thus the need to remove "Win" from Winshoes."

"The Indy Project is an Open Source group that supports several projects that grew out of the original Indy.Sockets (VCL) project team."

Back to Top

Trademark Policy and Bug Reports

Trademark Policy

Any trademarks mentioned are recognised as being the property of their respective owners. If you notice any trademark cited incorrectly here, please notify me by email as described under "Bug Reports".

Trademarks mentioned here may include (but are not limited to) the following:

  • Linux - a trademark of Linus Torvalds.
  • mIRC - a registered trademark of mIRC Co. Ltd.
  • Windows - a registered trademark of Microsoft Corporation.
  • ANSI - a registered trademark of the American National Standards Institute.

Bug Reports

Feedback about your experience with this application, suggestions for improvements, and bug reports should any problems occur, are always welcome, and can be reported using the contact information form at

Back to Top


WinShoe does not collect any personal information or send anything over the internet other than the Finger, Ident, and IRC services described.

Back to Top