IRC/Instructions
This page explains how you connect to the libera.chat 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. Matrix.org can also be used as an IRC client.
Connect to the IRC network
[edit]- On most browsers: https://web.libera.chat/
- Alternative on most browsers: https://kiwiirc.com/nextclient/irc.libera.chat/
- On Mozilla and mIRC: irc://irc.libera.chat
You can also connect by hand:
- Obtain and run an IRC client.
- Connect to irc.libera.chat. Typically, this can be accomplished with the command
/server irc.libera.chat
- If your client has not provided you with the option already, select a nickname. You can typically change your nickname with the command
/nick NewNickname
. - If you have registered this nickname, identify yourself to the Libera servers (see below).
- Join one or more channels: For instance,
/join #wikipedia
– see IRC channels for which channels exist.
Send messages
[edit]Consult your IRC client's documentation for detailed instructions on how to connect to a server and send messages. For Libera.chat basics, see the Libera.chat guide.
Message a channel
[edit]After you join a channel (by typing /join #channel-name
), send a message to the entire channel by typing your message in the text input box.
To mention a user in a channel, type their nickname before your message, for example: nickname that's a great question
.
Direct message another user
[edit]To open a private conversation with another user, use the /query
command. For example: /query nickname your-message-here
. This opens the conversation in a new conversation window.
To send a private message without opening a new conversation window, use /msg
. For example: /msg nickname your-message-here
.
Register your nickname, identify, and enforce
[edit]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 cloak and for obtaining operator access to channels.[1]
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 your@email.address.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 Libera.
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 should provide an option to automatically identify to NickServ when you connect. Consult its documentation for more information, or refer to Libera Chat's guides to authenticate with SASL for common clients. If you do not identify with your account occasionally, your registration might be removed by libera staff if someone else wants the nickname (typically after a period of 20 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). Libera 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). Use /msg nickserv set enforce on
.
Further information: libera guide on Nickname Registration
Forgotten passwords
[edit]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
[edit]Libera channel guidelines suggest that you should hide your operator privileges when you are not using them[2]. 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
[edit]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 libera 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
- Lastly, add the new channel to the listing at IRC/Channels
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 flags #CHANNEL_NAME
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 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 flags #wikipedia nick!user@host +b
- To delete a channel from the ChanServ database
/msg chanserv drop #wikipedia
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 (either)
/kick #wikimedia jwales
/kick jwales
- To ban a user[3]
/mode #wikimedia +b nick!user@host
- To quickly kick and ban a user[4]
/kickban jwales
- Ban a specific hostname of an unregistered nickname, regardless of current nickname
/mode #mychannel +b *!*@*.bar.example.org
/mode #mychannel +b *!*@foo.bar.example.org
- To silence a user
/mode #wikimedia +q nick!user@host
- To lock the topic[5]
/mode #wikimedia +t
- To switch to "moderated" channel mode[6]
/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 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)
NOTE: On Libera.chat the "access" command is not a valid chanserv command. You need to use the "flags" command instead!
/msg chanserv flags #wikimedia-staff NickServAccountName +Aeiotv
- To revoke a user's access to a channel
/msg chanserv flags #wikimedia-staff NickServAccountName -*
- To rename & redirect a channel to a new name[7]
/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 will also be lost if the channel ever becomes empty, but this can be avoided by registering the channel and configuring ChanServ to join the channel. Modes can be un-set by using a – instead of a +, or by using an IRC client command such as /unban
.
Libera Chat also has a guide for new channel operators: https://libera.chat/guides/quickops
Notes
[edit]- ↑ 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 Libera as channel operators.
- ↑ https://libera.chat/guides/catalyst
- ↑ 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