Getting Started Guide for IRC / Basic Help

Note: Improvements are being made continuously to this page. If you have any suggestions for this page, please feel free to mention them in the channel #lizardirc. Registered LizardWiki users may edit the contents of this page using the link at the bottom.

Welcome to LizardIRC! This page will introduce you to IRC and familiarize you with the basics of using IRC, as well as some advanced topics such as creating your own channels. The first section should teach you enough to allow you to chat on IRC, and simply read further down to learn more!

Contents

Basics[edit | edit source]

IRC stands for Internet Relay Chat, and is a text-based protocol allowing real-time communication between users, sometimes thousands of them. The fundamental unit of IRC is the network, a group of servers that are linked together and send messages to each other. Users connect to these servers to join the network. On each network, there are channels which users can join. Users can send messages directly to other users (and in this case only the other user will see the message), or to channels (and everyone in the channel will see the message). To see the conversation happening in a channel and to send messages to it, a user must join a channel; to stop participating in the channel and stop receiving messages sent to a channel, a user parts it. Users can also be forcibly removed from channels (kicked) by the channel operators (or ops). Ops include the person who created the channel as well as any people he or she has chosen to also hold the position, and are usually identified by an at sign (@) in front of their nickname, the (changeable) name users pick to identify themselves on the network. Ops can also ban users from channels, preventing them from joining it. Each channel maintains its own list of ops, though a user can be an op in an unlimited number of channels.

Similar to channel operators, there are network staff, or simply staff, responsible for maintaining the integrity of the network. They can force users to disconnect from the network (kill), and ban users from connecting in the first place (usually called a g-line, but also referred to as z-lines and k-lines - the distinction is unimportant). Note that staff are sometimes referred to as network operators or opers (note the "er" in "opers"; opers shouldn't be confused with ops). They also have channel operator powers in all channels.

To connect to LizardIRC (or any other IRC network), you'll need a piece of software called an IRC client. There are many different ones, each with different features and designs but supporting the same protocol in the end. Though you'll probably want to experiment with different IRC clients when you become more familiar with IRC, for now, try installing one of these:

Or, if you don't want to try any of these, try using one of these in-browser IRC clients, no installation required:

Finally, before beginning, ensure that you've read the LizardIRC Network Rules.

Connecting to LizardIRC[edit | edit source]

To connect to LizardIRC, you need to enter these details into your IRC client. Unfortunately, they all differ in how this is done, so check your IRC client's documentation for more information. In general, though, you just have to follow the prompts. Note that the in-browser clients listed above are preprogrammed for LizardIRC, so all you need to do is choose a nickname.

Before connecting, you'll also have to choose a nickname, username, and realname. Nickname is how you'll primarily be identified on IRC and is the name that will be shown to other users (it can be changed later). Try not to choose a vulgar or inappropriate nickname, as this can get you kicked from channels. Username and realname are shown in what's called your whois information (this will be discussed later); suffice it to say that this is information shown if a user requests more information about you. Both can only be changed while disconnected from IRC, and despite the names, username doesn't have to be your username, and realname doesn't have to be your real name - they can be anything you want.

(Please note that, in general, web clients like KiwiIRC and webchat don't allow you to pick your username and realname, instead using predefined values.)

IRC client basics[edit | edit source]

Now that you've connected, let's cover the basics of an IRC client. An IRC client window consists usually of at least four distinct things: The nickname list, the text entry box, the channel list, and the main area where messages are shown. In general, the nickname list is on the left or right side of the window, and will probably be blank since you haven't joined any channels. The text entry box is almost always at the bottom of the screen, and allows you to type text into it. This is how you send messages and commands to IRC. The channel list is usually presented as a list of channels you are in/networks you are connected to either on the left or right side or as a list of tabs at the bottom above the text entry box. This is how you switch between viewing different channels, since you can be in many.

Joining a Channel[edit | edit source]

Once you've connected, you'll probably want to join a channel. Channels all start with one or more hash signs (#), and no, they aren't hashtags. If you're new, consider joining the channel #lizardirc which is the network's lobby channel. To join a channel, in the text entry box, type /join #channelName, then press <Enter> on your keyboard. Note the forward slash (/) at the start of the line you entered; this tells your IRC client that you're entering a command, not text to be sent. For example, to join #lizardirc, you'd type /join #lizardirc into your client.

You can see a list of popular channels on the LizardIRC homepage, or you can run the /list command to see a list of all public channels. Feel free to join them to see what they're about! When you join a channel, some text called the channel topic will be shown in the main window as well as at the top of the screen. For example, when you join #lizardirc, you might see something like this:

-!- FastLizard4 [fastlizard4@lizardirc/staff/wikipedia.FastLizard4] has joined #lizardirc
-!- Topic for #lizardirc: (☞゚∀゚)☞ Welcome to LizardIRC | http://youtu.be/qtYWqE55s24 | ...
-!- Topic set by FastLizard4 [] [Mon Apr 21 19:05:51 2014]

Other users in the channel will also see a message indicating that you have joined it.

You can search through the list of public LizardIRC channels by using Mibbit Search or Netsplit.de.

Now, you should be able to see a list of nicknames in the nickname list (if your client doesn't have one, try running the /names command) as well as any messages being sent to the channel. To send a message to the channel, simply type it in the text entry box and press <Enter>. For example, to send the message "Hello, world!" to the channel, you'd just enter Hello, world! and press enter. That's it! Your own message should then appear in the main window to confirm that you sent it:

< User39> Hello, world!

As you can see, every message is annotated with the nickname that sent it, usually in angle brackets (< and >).

Leaving a Channel[edit | edit source]

To leave a channel, also called parting it, simply run the command /part #channelName. All users in the channel you are leaving will be notified that you've left, and you'll no longer be able to send messages to or receive messages from that channel. You can also include a note in your "part message" to the channel by doing /part #channelName note. The note can contain spaces.

Disconnecting from IRC[edit | edit source]

You can disconnect from IRC by simply running the /quit command. This usually also closes your IRC client. All users in all channels you are in will be notified that you have disconnected by what's called a quit message. You can include a note in this quite message by doing /quit note. The note can contain spaces.

Registering Your Nickname[edit | edit source]

If you intend to stay a while on LizardIRC, conside registering your nickname - it will prevent others from impersonating you and allow you to hold channel operator privileges, for example. To register, type the command /msg NickServ REGISTER password email-address. Note that your password cannot contain spaces, and you must supply a valid email address. This will register the nickname you are currently using.

The /msg command allows you to send a private message (or PM) to another user; in this case, we're sending a message to the special user NickServ, who is what's called a "services bot", an automated program that exists on the network as a user.

The system will send you a verification email which will allow you to confirm your email address by executing a command provided in the email. Note that we don't recommend that you use Hotmail/Outlook/Windows Live Mail email accounts with LizardIRC as they may prevent you from receiving the email.

You only need to use this REGISTER command with NickServ once. Once you've registered, your account is created. In the future, to login after each new connection to IRC, run the IDENTIFY command like so: /msg NickServ IDENTIFY password, where password is the same one you set when you REGISTERed. Once logged in, you can change your password using the command /msg NickServ SET PASSWORD new-password. You can see all NickServ commands by doing /msg NickServ HELP.

You are automatically logged out of NickServ when you disconnect from IRC.

Note that you must use IRC at least once every 360 days. If you are logged out of your NickServ account for more than 360 days, your account will be automatically purged and your nickname made available for others to use.

If you forget your NickServ password, please join the channel #help and ask network staff to perform a password reset (remember to provide your NickServ account name); when this is done, you will receive an email with instructions on choosing your new password.

Sending Private Messages[edit | edit source]

If you registered your nickname following the steps in the above section, you're already familiar with sending private messages, or messages that are sent directly to another user and that are only visible to you and them. The general way to send a direct message is with the /msg target message command. Target cannot contain spaces (since nicknames cannot), but the message can. How outgoing and incoming private messages are displayed depends on the IRC client. Some will show them inline with channel messages (but marked differently), others will create new tabs for private messages. Check your IRC client's documentation.

Changing Nickname[edit | edit source]

To change your nickname, run the /nick new-nickname command. This will change you to your new nickname immediately. Note that, by default, new nicknames you use are not protected by NickServ, but you can add your current nickname to your NickServ account by doing /msg NickServ GROUP while logged in (though there is a limit to how many nicks you can "own" in this manner).

When you change your nickname, all users in all channels you are in will be notified that you have changed nicknames, with this nick message containing both your old and new nicknames.

Emoting[edit | edit source]

Once in a while, you'll probably see a user "emote", or perform an action in the third person. Emotes are formatted differently in most IRC clients, looking something like this (the line by "KingArthur" is an emote):

< TheBlackNight> None shall pass.
* KingArthur is Arthur, King of the Britons!
< TheBlackNight> ...None shall pass.

To perform an emote, simply use the /me command, like this: /me is Arthur, King of the Britons. As always, press <Enter> to send your line to IRC.

Setting away[edit | edit source]

If you are going to step away from IRC and want to let people know this, but don't intend on disconnecting, use the /away command to set an "away message" which will appear to other users in various ways. One such way is in WHOIS information (see Whois section below, under Advanced), and some clients will gray out nicknames that are marked away in their nicklists. To set away, run the command /away away message, where away message is the message you want shown to other users. You must specify a message of some sort. To unset your away status (i.e., "return"), run the /back command, or if your client doesn't recognize /back, run /away again, but this time with no arguments.

Conclusion[edit | edit source]

Sorry, that's probably been quite a bit to read. But you should now know all the basics of IRC and should be ready to jump right into the fray! If you'd like to learn more about IRC, though, for example creating and managing channels, please continue reading!

Advanced[edit | edit source]

Now this guide will cover advanced IRC topics. Before reading this section, you should of course read the Basics section above, and maybe use IRC for a couple days so you can get a feel for how it works.

Joining Password-Protected Channels[edit | edit source]

If you get a message that looks like this:

-!- Cannot join channel ##Test (Bad channel key)

It means that the channel is password protected. If you know the correct password, enter it as the second argument to the /join command and the network will allow you to join the channel (e.g., /join ##Test swordfish).

Channel Permissions and Prefixes[edit | edit source]

If you've been on IRC, especially #lizardirc, you've probably noticed that some people have symbols in front of their name, or an icon of some kind. These represent channel permissions, and are reflective of what a user is allowed to do in a channel. On LizardIRC, they work like this, from least privileged to most:

Basic Channel Modes[edit | edit source]

Channel modes are single-letter options that are set and removed on channels, changing various behaviors. Halfops and above can change modes in their channel. A mode change is broadcast to all clients in that channel, and looks like this:

-!- mode/#lizardirc [+m] by TLUL
-!- mode/#lizardirc [-mi+c] by DoctorPain99

In the first line, the user TLUL has set mode m in #lizardirc. In the second line, the user DoctorPain99 removes modes m and i and sets mode c in #lizardirc.

Modes are set using the /mode command. For example, the command DoctorPain99 would have run in the above example is /mode #lizardirc -mi+c. As noted above, each character has a meaning. Some modes take arguments, like the k mode that sets a channel password. For example, to protect a channel with the password "swordfish", you'd do /mode #channel +k swordfish. This, of course, would require anyone who wanted to join the channel to supply the channel key of "swordfish" (/join #channel swordfish).

We'll explain more about what exactly each mode does later. But first....

Basic User Modes[edit | edit source]

Much like channels, users can also have mode flags set on them. Unlike channels, though, users can only change the modes on themselves, and users' mode changes are not broadcast to anyone. Also like channel modes, user modes are set and unset using the /mode command, but instead of specifying a channel name as the second parameter, you specify your own nickname (for example, /mode RAN1 +i-w).

We'll also explain more about what exactly each user mode does later.

Hostmasks[edit | edit source]

Hostmasks are unique identifiers of IRC clients connected to IRC servers. Hostmasks are used by IRC servers, services, and bots to identify and keep track of specific IRC sessions.

IRC hostmasks follow the format nick!user@host. The "nick" portion of a user's portion is simply their current nickname. The "user" portion is the either username reported by the ident server on the user's machine (see below), or when no ident is available, a tilde followed by the username specified by the client when connected. The "host" portion either is the hostname of the computer the client is connecting from, or, if the hostname cannot be resolved by the server, the user's IP address. The "host" portion can also be the user's vHost or "cloak", a consistent string that hides the user's IP address in favor of some information about the user (see network rules, "vHosts/Cloaks" section).

Most IRC clients display a user's hostmask in their WHOIS output (see "Whois" section below) and when a user joins a channel; some also display it when a user parts or quits. For example:

-!- FlightTime|Away [~chatzilla@lizardirc/user/FlightTime] has joined #lizardirc

In this example, the user's full hostmask is FlightTime|Away!~chatzilla@lizardirc/user/FlightTime. Note that this user has a vHost hiding his true IP address, which would normally be after the @ sign. Also note that hostmasks are case-insensitive, meaning that FlightTime|Away!~chatzilla@lizardirc/user/FlightTime is equivalent to FLIGHTTIME|AWAY!~CHATZILLA@LizardIRC/User/fLIGHTtIME.

Finally, note that some channel modes take a hostmask as an argument.

Wildcards[edit | edit source]

In almost all modes and commands that take hostmasks, you can also specify a wildcard, a special character that matches any character or sets of any character.

IRC supports two wildcard characters in hostmasks, * which matches any text (or no text), and ? which matches exactly one character.

Here are some examples:

For the hostmask FastLizard4!fastlizard4@lizardirc/staff/wikipedia.FastLizard4:

If you are familiar with Perl-compatible regular expressions, the wildcard * is equivalent to the regular expression .*, and ? is equivalent to .{1}.

Whois[edit | edit source]

You can find out some information about a user by whoising them. This is accomplished by running the /whois username command with the target user's nickname as the argument. For example, /whois Rav3n|afk. This command in particular might result in this output:

* [Rav3n|afk] (znc@lizardirc/staff/Guncraft.CM.Rav3n): Quoth the Rav3n, Nevermore...
* [Rav3n|afk] &#lizardirc #devops #metroid ~#rav3nznc @#help 
* [Rav3n|afk] phazon.lizardirc.org :phazon.lizardirc.org - LizardIRC - Fremont, California, United States of America, Earth, Sol System, Federation Sector 001, Alpha Quadrant, Milky Way Galaxy
* [Rav3n|afk] is away (Auto away at Tue Jun 10 18:51:11 2014)
* [Rav3n|afk] is a SithLord on LizardIRC
* [Rav3n|afk] is logged in as Rav3n
* [Rav3n|afk] is using a secure connection
* [Rav3n|afk] idle 31:08:02, signon: Tue May 20 18:24:48
* [Rav3n|afk] End of WHOIS list.

As you can see, the command displays quite a bit of information about a user. The first line is the user's hostmask (Rav3n|afk!znc@lizardirc/staff/Guncraft.CM.Rav3n, note again the use of a vHost) and their realname ("Quoth the Rav3n, Nevermore..."), a list of channels they are in (with prefixes indicating their status), the specific server they are connected to, their away message (since they are away), their network staff status (SithLord), who they have logged in as with NickServ, the fact that their network connection is encrypted, and how long they have been idle. Some information that is not applicable may not be displayed (for example, users not using an encrypted connection simply have no "is using a secure connection" line, as opposed to having a "is not using a secure cnnection" line). Every client displays this information in slightly different ways, but it should be easy enough to figure out after running the command a few times.

Note that some clients may not show idle and signon time by default; if this is the case, try running the /wii username command instead of /whois username. If /wii isn't recognized by your client, try running /whois but add the username twice (for example, /whois Rav3n|afk Rav3n|afk).

Invites and Knocking[edit | edit source]

Have a friend on IRC that you'd like to invite to the channel you're in? Simply use the /invite nickname command to invite them to join the channel. The invited user will see a message like this:

* You have been invited to #camelot by KingArthur (irc.lizardirc.org)

Note that you have to be at least a halfop in the channel to invite someone to it, unless the channel has channel mode +A set, which allows all users to send invites.

In addition to sending a request to a user to join a channel, inviting allows the invited user to bypass bans (though they still won't be allowed to speak unless they are given voice or the ban is rescinded) and join the channel without knowing its password (if the channel has mode +k set). In addition, a channel can be made invite-only by a halfop (or greater) setting channel mode +i; in this case, one must be invited to join the channel until the mode is removed.

Aside from being invited, a user can bypass the invite-only restrictions of +i by having an invex, or invitation exception set on them. This is done by a channel operator setting channel mode +I hostmask, where hostmask is the nick!user@host hostmask of the user to be invex'd. Invexes can be removed by channel operators by setting channel mode -I hostmask, and a list of invexes can be seen by channel operators who set mode +I (note the lack of a hostmask argument).

Finally, unless the channel has mode +K set on it, a user can request an invite (knock) by doing the /knock #channel :message command (note that some clients may complain that "knock" isn't a recognized command; in that case, do /quote knock #channel :message). All channel operators will receive a notice that the user is requesting an invite. Banned users cannot knock on a channel. Remember to specify a message to be included with a knock, and be sure to include the colon before the message!

A knock looks like this to channel operators:

!irc.lizardirc.org User LizardSock is KNOCKing on #test (let me in!)

Banning Malcontents[edit | edit source]

Spammer in the channel? Maybe someone making rude comments? If you're a halfop, op, or greater, you can deal with them!

The first command in your arsenal is /kick nickname message. This will forcibly remove the user nickname from the channel with the kick message message. Of course, this won't stop them from rejoining the channel, but it makes for a good warning.

As an alternative to kicking, you can also "remove" or "force-part" a user from a channel. It effectively does the same thing as kicking, but to the target user and others in the channel, it will appear as if the user parted the channel instead of being outright kicked. This is often useful to prevent people from autorejoining after a kick, since most clients won't autorejoin after a part. There are two ways to force-part someone - both commands have the same effect, but take their parameters in different orders: /quote fpart channel nick reason and /quote remove nick channel reason. Note that the part message will include both the reason you specify, as well as "Removed by " and your own nickname.

If kicking doesn't get the message across, it may be time to ban the user. Banning is accomplished by setting channel mode +b hostmask, where hostmask is the nick!user@host hostmask of the user to be banned. Banning prevents a user from both talking in a channel and from joining it, so if you kick a user after banning them, they won't be able to even rejoin the channel (this behavior can be changed, and you can even use a different matching system than a hostmask; see the Extbans section below). In general, when banning someone by hostmask, one will use *!*@host, as this will match anyone connecting from the same host regardless of nickname. Note that bans on nick!*@* (or any ban hostmask that specifies a nickname) should be avoided, as these can be bypassed by simply changing one's nickname.

Unbanning is accomplished by setting channel mode -b hostmask, and anyone can view a channel's ban list by setting mode +b (note no hostmask argument) in that channel.

To make things easier, though, many IRC clients include a /ban nickname command which automatically detects the target user's hostmask and automatically sets the appropriate mode. Many likewise include a similar /unban nickname command that unbans (though this may not work correctly and you'll probably have to manually set -b hostmask anyway), as well as a /kickban nickname message command that automatically issues a ban then kicks the user from the channel.

Finally, a user can be exempted from bans by setting channel mode +e hostmask. These "exempts" are most useful when you have to set a large ban but still want to let some known good users in. Exempts can be removed by setting -e hostmask, and ops can view the list of exempts by setting +e (without a hostmask argument).

Extbans[edit | edit source]

Extbans, short for "extended banmasks" or "extended hostmasks", allow one greater freedom with hostmasks than simple nick!user@host, allowing things like only muting a user instead of banning them from joining, to banning based on account name instead of direct hostmask. Unless otherwise noted, extbans are entirely interchangable with hostmasks.

Extbans are split into two types; matching extbans, which match on users in additional ways, and acting extbans, which restrict users in different ways to a standard ban.

To use an extban, simply set +b ban or +e ban with it as the ban, instead of a normal nick!user@host mask, to ban or exempt matching users. Ban exceptions on acting extbans exempt that user from matching an extban of that type, and from any channel mode corresponding to the restriction. Matching extbans may also be used for invite exceptions by setting +I extban.

Matching Extbans[edit | edit source]

Acting Extbans[edit | edit source]

A ban given to an acting extban may either be a nick!user@host mask, matched against users as for a normal ban, or a matching extban.

CTCPs[edit | edit source]

Using CTCP (Client-To-Client Protocol), you can find out some basic information about other users by using the /ctcp nickname request command. For example, to find out what kind of IRC client Starman uses, one would run /ctcp Starman VERSION. Be aware, though, that many IRC clients will inform their users when they have been CTCP'd, and some users may not appreciate the intrusion! Also, although you can send a CTCP to an entire channel (by replacing nickname with #channel), this is regarded as a rude thing to do and in fact may get you banned! Operators can block CTCPs to a channel by setting channel mode +C in that channel.

Here is a list of commonly supported CTCP requests:

There's also a special CTCP type called "PING" that usually has its own command, /ping nickname. Without going into detail about how this works, this will tell you how much lag exists between you and the other user.

Other Commands[edit | edit source]

To help conclude the Advanced section, here are some other IRC commands you should be aware of. Note that some commands are specific to LizardIRC; if so, it will be noted next to the command. Arguments are italicized, optional arguments are [italicized and in square brackets] (don't include the square brackets when you type the command!).

Notes[edit | edit source]

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 Server-side command. Some clients may include their own version of this command, or simply not recognize it. To ensure that you perform the server-side version of this command, include /quote or /raw before the command, whichever works. For example, for /cycle #channel, to get the server-side version, one might instead type /quote cycle #channel. Finally, note that these commands are very often LizardIRC-specific.

Full Channel Modes List[edit | edit source]

Here is the full list of channel modes supported by LizardIRC. Note that other networks will probably have a different list, and the mode flags may do different things.

For modes that take arguments, the argument will be italicized following the mode flag. Remember that the mode characters are case-sensitive!







Full User Modes List[edit | edit source]

Here is the full list of user modes supported by LizardIRC. As with channel modes, note that other networks will probably have a different list, and the mode flags may do different things.

For modes that take arguments, the argument will be italicized following the mode flag. Remember that the mode characters are case-sensitive!

Starting Your Own Channel[edit | edit source]

Want to create a private chatroom just for you and your friends? Or maybe want to create a public place for people to discuss a favorite topic of yours? It might be time to create your own channel! Before creating your own channel though, you should at least have read the Basics section above, and reading the Advanced section too wouldn't hurt. It's a lot of information, but it will make you ready for creating and managing your very own IRC channel (this section will assume that you've read both Basics and Advanced above).

Before proceeding, make sure that your channel won't break any network rules on the network you want to create your channel on. LizardIRC's network rules can be found here; if you aren't using LizardIRC, make sure to check with the network you are using. Also, be advised that this section is geared towards LizardIRC users, and some of these instructions may not apply on other networks.

Creating a channel is as simple as joining a channel that doesn't exist. We'll assume that you want to create a channel called #myLittleChannel. Channel names are case-insensitive, but the case will be preserved for presentation to users. So, to create your channel, just run the command /join #myLittleChannel. If the channel hasn't been created yet, there should be no one else in the channel, and you should automatically receive channel operator permissions.

For temporary channels, you're done! You will be the only opped user (unless you give it to other people), and you can now invite others to join the channel. This does have some caveats, though:

To make your channel more permanent, you can register it with the Channel Registration Service, or ChanServ. Much like registering your nickname to NickServ, it allows you further access to advanced channel management systems, as well as benefits like access to the Protected and Owner channel permission levels. To register a channel, you must be an operator in the channel (note that you don't have to be the person that created the channel as long as you have operator permissions) and you must be logged in to a NickServ account. Then, run the command /msg ChanServ REGISTER #channel. Your channel is now registered. ChanServ should join the channel, then grant you Owner permissions. The full extent of what ChanServ can do is beyond the scope of this page, but you can see a full list of ChanServ commands by doing /msg ChanServ HELP.

There are still some caveats to using ChanServ, and they are:

On LizardIRC, if you need any help with channel creation or management, feel free to join the #help channel, where our friendly team of LizardIRC Network Staff and helpful users alike will assist you.

Finally, remember that for a channel to be shown in the output of the /list command or to be indexed by Mibbit Search and Netsplit.de, it must not have modes +s or +p set on it. The easiest way to make your channel public is to do /mode #channel -sp.

Staff[edit | edit source]

LizardIRC network staff, and others who are simply interested in how staff do things, should check out the LizardIRC Staff Guide here.

View original page on LizardWiki