Joining Channels

Once Snak is connected to a server, and the server has
accepted your nickname, it is possible to join channels. The
connection status is visible in the server message panel and
the profile list.

A channel is a virtual meeting room on the Internet where
people from all over the world can meet and chat in
real-time. You can join as many as you want (some servers
limit you to 10 or so). In Snak, multiple channels share a
window, which can save a lot of screen space, but they can
also be arranged with one channel per window.

When the connection is online you can send a command to the
server to join a particular channel. Snak will then open the
channel panel while it waits for the server to respond.

Normally you will be let into the channel in a few seconds,
but sometimes the server may not be able to let you in. The
other participants may have set a limit on how many people
they want in the channel, the channel may be protected by a
password or several other things can prevent you from joining
a channel.

You can’t send messages into a channel before the server has
successfully let you in. If you type text before that, you
will see a message saying "Please join the channel before
sending text".

As you become proficient with IRC you will learn that you can
easily and quickly control the program through typed
commands. Commands are text strings, typed into the input
field that start with the forward-slash "/". Snak supports
the /join and /channel commands, but it also provides more
user-friendly ways of joining channels.

The rest of the chapter explains the various ways of joining
channels. To leave a channel, simply close its panel with
Cmd-W, click the red close dot or type /part into the input
field of the window.

If there are multiple channel panels in a window, then Cmd-W
will only close the active panel and the window itself will
not go away until the last one is closed. To close all panels
in a window at once, click in the close box of the window.

IRC channels don't really exist anywhere in the physical
sense of the word. They are just digital records on the
servers on the network that describes how to route messages.
Channels come and go at all times. A channel is created when
the first user types /join and disappears when the last user
leaves it.

That means that you can create channels yourself easily. You
just have to type /join MyCoolNewChannel to make the server
create it for you. Then you join it, but you will be the sole
occupant and you may not be able to get other people to join
you because no one knows about the new channel or see a
reason to go there. That's the reason for those thousands of
one-person channels you see if you do a full channel list.

Using the Profile list

When you first run the program it will display a window with
three list panels. The active panel is the Profile list.

The Profile list contains a number of predefined channels
that you can join with a doubleclick. Press the Join button
with nothing selected to get the Join dialog where you can
enter the name of a channel or channels to join. The new
channels are added to the list so that you don't need to type
the name next time. To join multiple new channels at one time
just separate the names with a comma and don't use spaces.

Some channels require a password to gain access. To edit a
channel record, select it in the list and press the Edit
button. This will bring up a dialog where you can enter a
password to use when joining the channel and provide a
description.

In the above picture you will join the channels macintosh and
Beginner on Undernet when you press the Join button. To
simply open a connection without initially joining any
channels, select the profile name for the network, for
example Undernet, and use Open Connection from the file menu,
or press Cmd-O.

To edit the profile records (Chatnet, DALNet, EFNet, IRCNet,
MacNN and Undernet), select the profile and press the Edit
button. Add new profiles by pressing the Add button. Delete
channels or profiles by selecting them before pressing the
Delete button.

The window has an attached input field so you can actually
use the Profile list to send a message to multiple channels
at once. In the above picture two channels are selected, so
if you were to enter something in the input field and press
enter it would be sent to both channels.
You can also select one or more of the profile items, like
DALNet and Undernet and issue a command like /join macintosh,
in order to join a channel called macintosh on both networks
at once.

The DCC List

The first item in the Profile list is the DCC list. In order
to access the DCC functionality (send and receive files, and
open DCC chats) select the DCC item. The panel buttons will
then change titles and function to provide access to the DCC
functionality.

Using the Channel List

When you have successfully connected to a server you can
request that the server send you a list of all the available
channels. On large networks there can be 15-20.000 channels
so it may take a while to get the whole list.

Snak remembers the channel list that you get from the server,
and once you have managed to get a list from the server you
can open the Channel List from the windows menu to see it
again. It will come up with the last results being displayed
again.

To request a channel list from the server, use the List
Channels… menu item under the File menu, or press the Refresh
button in the Channel List window. This will open a dialog
where you can tell Snak what criteria to use in the request.

The List Channels dialog allows you to specify what you want
to see in the Channel List in terms of minimum and maximum
number of members and words to include or exclude.

In this example you are looking for channels with names that
contain "mp3" and has a population of 25 or more.
When you press OK Snak will send the list command to the
server which will then return the channels that match the
criteria you entered. At that point the Channel List window
will appear and begin to fill up with the matching channels.
Since there may be many, many channels it can take a while
before the server is done. Sometimes the server is too busy
to respond properly and it may sometimes stop sending you
data. There is nothing to do about that, except try another
server or try later.

Most large networks contain thousands of channels that are
very small or only contain a single person. As a beginner you
are not advised to visit a small channel like that unless you
know who the other member of the channel is. Stick to medium
sized channels (15-50 members) until you are comfortable with
the process.

To join a channel from the Channel List you can select it and
press the Join button or double click on the channel name.

In this picture Snak is done receiving channels from the
server. While the list is still being received it will
display a spinning arrows in the upper right corner of the
window. For performance reasons Snak will only sort the list
once all the channels have been received.

If you want to see a new channel list with different criteria
you can press the Refresh button to bring up the List
Channels… dialog again.

Most channels in the list starts with the # character but
some starts with the & character. This indicates that the
channel is local – accessible only to users connected to your
server.
If you are puzzled by channels called #[$%%SJ@ or #[#!!@#@%^
or something similar they are not nonsense channels. People
with many different alphabets use IRC and these strings of
characters have meaning in Cantonese or one of the many other
script systems in use on this Earth.

Snak will remember the list of channels and you can close and
reopen the Channel List window later from the Windows menu.

Joining manually

In addition to the methods described on the previous pages
you can also use typed commands to join channels. To join a
channel, type /join or /channel followed by the channel name
in the input field in the server message panel, the profile
list, or an existing channel panel. Snak supports many
command shortcuts, so you can also type /j instead of /join.

If the channel requires a password to enter, you will have to
type in the command "/join " with a space between the channel
name and the password.

A channel name can only be one word. If you type more than
one word Snak will interpret it as a channel name and
password. You can however join multiple channels in one
command if you separate the channels with a comma. There must
be no spaces in the list. For example: "/join
macintosh,beginner,linux" will make you join those three
channels.

If you know other IRC clients you may know that channel names
always start with a '#' character. In Snak you may omit that
character, since the program is smart enough to add it when
necessary.

Joining automatically

If you find yourself joining the same channels every time you
log onto IRC, it may save you some time to have Snak
automatically join the channels when it connects. There are
several ways to automatically join channels in Snak.

Leave channel windows open:

Snak will remember what channel windows you had open when you
quit the program. When you launch it next time these windows
will be re-opened, and when you open the associated
connection the program will join the channels again. You open
the connection with Cmd-O or by selecting the command in the
File menu.

Specify a startup action:

Open the profile list (Cmd-K) and open the profile record.
Then type /join (without the brackets) in the startup actions
field. There can only be one command per line, but the field
can accept multiple lines. See the chapter on IRC commands
for more information on how to give commands to the program.
When the connection goes online the program will execute the
commands that you have entered in the field and you will join
the channel.