Jump to content

IRC/Instructions

From Meta, a Wikimedia project coordination wiki
< IRC
Communication
Wikimedia Social Suite
Meetup
Babel
Distribution list
ComCom
Mailing lists
Overview
Administration
Standardization
List info template
Unsubscribing
Wikimedia IRC
Channels listing
#wikidata-admin
#wikimedia-admin
#wikipedia-en-admins
Channel operators
#wikimedia-admin
#wikipedia-en-admins
#wikipedia and #wikipedia-en
Instructions
Guidelines
#wikipedia
Group Contacts
Noticeboard & Log
Cloaks
Bots
FAQ
Stalkwords
Quotes (en)
archives
Quotes (fr)
Other chat networks
Telegram
Discord
Matrix.org
Signal
Steam

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]

You can also connect by hand:

  1. Obtain and run an IRC client.
  2. Connect to irc.libera.chat. Typically, this can be accomplished with the command /server irc.libera.chat
  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 NewNickname.
  4. If you have registered this nickname, identify yourself to the Libera 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 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]
See also w:en:Wikipedia:IRC/Channel access and configuration guide

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]
  1. 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.
  2. https://libera.chat/guides/catalyst
  3. Banning a user only prevents their entry. They must be kicked separately.
  4. 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.
  5. Locking the topic prevent non-ops from changing it (useful if a topic war is ongoing)
  6. 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.
  7. Copied from https://wiki.ubuntu.com/IRC/MovingChannels