IRC/Instructions

From Meta, a Wikimedia project coordination wiki
< IRC
Jump to: navigation, search

This page explains how you connect to the freenode IRC network and join the Wikimedia IRC channels. You'll find some basic and more advanced commands here.

Obtain an IRC client[edit]

IRC clients vary in their features and commands. A list of clients is available in the Wikipedia article about IRC. Most dedicated IRC clients typically have features which are not available on "combination" clients that also perform instant messaging functions.

Connect to the IRC network[edit]

You can also connect by hand:

  1. Obtain and run an IRC client.
  2. Connect to chat.freenode.net. Typically, this can be accomplished with the command /server chat.freenode.net
  3. If your client has not provided you with the option already, select a nickname. You can typically change your nickname with the command /nick [new-nickname-here].
  4. If you have registered this nickname, identify yourself to the Freenode servers (see below).
  5. Join one or more channels: For instance, /join #wikipedia - see IRC channels for which channels exist.

After you've done this, you are able to hold conversations with the people in the channels or open private conversations, using the command /query [nickname].

For details, consult your IRC client's documentation for detailed instructions on how to connect to a server. You can usually set up your client to perform many of these tasks automatically when you launch it.

Register your nickname, identify, and enforce[edit]

If you connect frequently, you should register your nick with the NickServ service. This helps you establish "ownership" over a nickname: you can remove other users who are using the nickname, and it also provides a small amount of protection against people impersonating you using the nickname. Registration is also a prerequisite for obtaining an IRC channel cloak and for obtaining operator access to channels.*

For instructions how to register, type /msg nickserv help register. This will inform you that the syntax for registration is

/msg nickserv register [password] [your@email.address.com]

You should substitute an actual password for [password]. It is a bad idea to use something easily guessed (for example, "wiki" or "wikipedia"). It is also a bad idea to use your Wikipedia password: IRC passwords should not be considered "secure", and it is easy to accidentally type your password into a channel instead of identifying with it (see below). Of course, you should insert your actual email address where indicated above. Then, check your inbox for a message from freenode. It's worth noting that for all of these commands, you don't need the "["brackets"]".

To take advantage of your registration you must identify yourself with NickServ every time you connect. The syntax for this is

/msg nickserv identify [password]

Your IRC client may provide an option to automatically send this message when you connect. Consult its documentation for more information. If you do not identify with your account occasionally, your registration might be removed by freenode staff if someone else wants the nickname (typically after a period of 60 days).

To change your password, use the command (after identifying)

/msg nickserv set password [NewPasswordGoesHere]

IRC clients typically have an option to use an 'alternate nickname' to use if the primary nickname is in use when you connect (for example, if someone else is using it, or if you have been abruptly disconnected and a "ghost" of your original connection remains). Freenode recommends that you group this alternate nick (/msg nickserv help group) to your primary nickname. This "alternate" grouping is also required in order to obtain IRC channel cloaks.

Once your nick is registered, you can enable 'enforce'. This will force any user claiming the nick to identify with the password within 30 seconds. This protects you from imposters taking your nick while you're offline. Since you configured your client to automatically identify, nothing changes for you (except being protected).

/msg nickserv set enforce on

See also: freenode FAQ: Registration

* It is theoretically possible to be a channel op without registration; however, this is potentially insecure and a minor hassle to set up. All Wikimedia-related channels should accept only users registered with freenode as channel operators.

Instructions for channel ops[edit]

See also w:en:Wikipedia:IRC/Channel access and configuration guide

Freenode channel guidelines suggest that you should hide your operator privileges when you are not using them. As such, the channel services interface Chanserv can be used to grant yourself operator privileges for a brief period of time. You should relinquish these privileges when you are done with them.

Some commands use a hostmask to identify a user. This consists of three portions: nick!username@address. The 'nick' refers to the user's current nickname (which can be changed by the /nick command), the 'username' refers to the user's currently set IRC username (a parameter which the user gives the IRC server when the user connects), and the 'address' portion is the person's IP address, hostname, or cloak, as determined by the IRC server. Any one of these sections may use an asterisk (*) as a "wild card" character: for example, jwales!*@* matches any nickname 'jwales' at any host, while *!*@wikipedia/* matches any user with a wikipedia IRC cloak.

In general, bans should be set by hostname unless you have a reason to do otherwise. It is trivial to change nicknames while remaining online. Changing a username is more tedious, but to change a hostname the user typically needs to connect from another machine or IP address (users who do this generally are on a dial-up connection, which must be reset, or abusing some sort of proxy). If it is really necessary, you may wish to use a wildcard in the domain name as well.

ChanServ commands[edit]

To use these commands, you need to be identified to nickserv, and be granted access to the channel. See how to register your nickname and identify. Additionally, in some IRC clients you can use /chanserv or /cs instead of /msg chanserv for these commands.

To give yourself operator status
/msg chanserv op #wikimedia
To give someone else operator status
/msg chanserv op #wikimedia user
To set a user to be automatically removed
/msg chanserv akick #wikipedia add nick!user@host reason to be kicked (use :reason to be kicked (note the additional ":") instead to have spaces in the reason)

Channel operator commands[edit]

Various IRC clients have different commands. Most of the commands in this list should work on all popular IRC clients, but there may be additional commands available or alternate syntax for these commands. If there are multiple commands listed and one command fails to work, try using another to accomplish the same result. Consult your IRC client's manuals, help files, or a general IRC reference for more information about these commands and other command interfaces.

To kick a user
/kick #wikimedia jwales
/kick jwales
To ban a user*
/mode #wikimedia +b nick!user@host
To quickly kick and ban a user **
/kickban jwales
To silence a user
/mode #wikimedia +q nick!user@host
To lock the topic***
/mode #wikimedia +t
To switch to "moderated" channel mode****
/mode #wikimedia +m
To voice a user in moderated channel mode
/mode #wikimedia +v jwales
/voice jwales
/msg chanserv voice #wikimedia jwales
To remove operator privileges
/mode #wikimedia -o jwales
/deop jwales
/msg chanserv op #wikimedia -yournick

*Banning a user only prevents their entry. They must be kicked separately.
** Depending on your client, the ban may be set on the user's nickname, host, or username+host combination. You may be able to adjust this. (For example, in irssi, /set ban_type host.) Consult your IRC client's documentation.
***Locking the topic prevent non-ops from changing it (useful if a topic war is ongoing)
****In a moderated channel, no one can talk unless they are an operator or are voiced (mode +v). This is usually an extreme measure, since it prevents people from using the channel. Use with discretion.

All channel modes will remain set until removed, with the exception of voice status and operator privileges, which will also be removed if the user in question leaves the channel. Modes can be un-set by using a - instead of a +, or by using an IRC client command such as /unban.