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
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
You can also connect by hand:
- Obtain and run an IRC client.
- Connect to chat.freenode.net. Typically, this can be accomplished with the command
- If your client has not provided you with the option already, select a nickname. You can typically change your nickname with the command
- If you have registered this nickname, identify yourself to the Freenode servers (see below).
- 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
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
If you connect frequently, you should register your nickname 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 on how to register, type
/msg nickserv help register. This will inform you that the syntax for registration is
/msg nickserv register YourPassword email@example.com
Choose a hard-to-guess password. Also, it is a bad idea to use a password you regularly used on other sites as your IRC password. For instance, it is easy to accidentally type your password into a channel during nick verification (e.g. if you add a space before
/msg nickserv identify YourPassword the message will be sent out as a regular IRC chat message instead of going to NickServ). If all goes well, check your inbox for a message from freenode.
To take advantage of your registration you must identify yourself with NickServ every time you connect. The syntax for this is
/msg nickserv identify YourPassword
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 10 weeks).
To change your password, use the command (after identifying)
/msg nickserv set password NewPassword
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' (or 'secure'). 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). Use
/msg nickserv set enforce on or
/msg nickserv set secure on
Further information: freenode KB: Nickname Registration
If you forget your nickserv password and need a reminder, use
/msg nickserv sendpass YourNickname
This will email a temporary one-time key to your email address, which you can use with
/msg nickserv setpass Nickname Key NewPassword to set a new password.
Instructions for channel ops
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.
New channel setup
If you create a new public channel, please consult one of the group contacts first then you should do these commands as the channel op:
- To formally register the channel, and set yourself as Founder.
/msg chanserv register #CHANNEL_NAME
- To invite the freenode bot (ChanServ), who will preserve channel settings if everyone else leaves.
/msg chanserv set #CHANNEL_NAME guard on
- To utilize the 'global bans list'. Please also notify an op in #wikimedia-bans of the channel's creation.
/mode #CHANNEL_NAME +b $j:#wikimedia-bans
- These two will enable access to the group contacts and freenode staff, in case of problems whilst you're asleep/away.
/msg chanserv flags #CHANNEL_NAME wmfgc +Afiotvr
/msg chanserv flags #CHANNEL_NAME *!*@freenode/staff/* +Aiotvr
If a channel is having problems, and you are not an op there, do this to get a list of people to contact:
/msg chanserv access #CHANNEL_NAME list
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
/cs instead of
/msg chanserv for these commands.
- To give yourself operator status
/msg chanserv op #wikimedia
- To remove operator status from yourself
/msg chanserv deop #wikimedia
- To give someone else operator status
/msg chanserv op #wikimedia user
- To remove operator status from someone else
/msg chanserv deop #wikimedia user
- To set a user to be automatically removed
/msg chanserv akick #wikipedia add nick!user@host :reason to be kicked
Channel operator commands
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 (either)
/kick #wikimedia jwales
- To ban a user
/mode #wikimedia +b nick!user@host
- To quickly kick and ban a user
- 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
/msg chanserv voice #wikimedia jwales
- To remove operator privileges
/mode #wikimedia -o jwales
/msg chanserv deop #wikimedia YourNickname
- To verify that a user is registered, and determine their account name
/msg nickserv info Nickname
- To permanently invite a user to a private channel (channel mode +i, invite-only)
/mode #wikimedia-staff +I $a:NickServAccountName
- To revoke a permanent invitation in a private channel
/mode #wikimedia-staff -I $a:NickServAccountName
- To add someone to a channel's access list (helps with management of permissions especially in large channels)
/msg chanserv access #wikimedia-staff add NickServAccountName
- To revoke a user's access to a channel
/msg chanserv access #wikimedia-staff del NickServAccountName
- To rename & redirect a channel to a new name
/msg chanserv op #oldchannel
/msg chanserv op #newchannel
/topic #oldchannel We have moved to #newchannel, please type /join #newchannel to get to us
/msg chanserv SET #oldchannel GUARD ON
/msg chanserv SET #oldchannel MLOCK +tnsmif #newchannel
/msg chanserv SET #oldchannel TOPICLOCK ON
/msg chanserv SET #oldchannel PRIVATE ON
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
- 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.
- 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.
- Copied from https://wiki.ubuntu.com/IRC/MovingChannels