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.