CC'S IRC Guide
This article is a guide written from the perspective of Cap'n Coconuts, the founder of the EsperNet MFGG IRC, to help new users and channel operators learn about the protocol and what they are capable of doing. It has been written to condense multiple IRC help pages into one concise guide tailor-made for using #MFGG.
- 1 New User Guide
- 2 Voiced User Guide
- 3 Channel Operator Guide
- 3.1 Voice Permissions
- 3.2 Mod Permissions
- 3.3 Admin Permissions
- 3.4 Successor/Founder Permissions
- 4 Helpful Resources
New User Guide
Let's start with you guys who have never used IRC before.
Except where noted, <angle brackets> mark required parameters and [square brackets] mark optional parameters. And no, you don't need to enter the brackets when typing a command.
Choosing a Client
This section is incomplete.
Basic Client/Server Commands
Commands to the client or server have a / prefix. For information on CocoBot, read his page.
- /help: this is the most important command, compatible with all good IRC clients. This brings up your client's help text, and can guide you with any commands that are not listed here or are specific to your client.
- /server <server>: has you connect to a <server> (e.g. irc.esper.net).
- /reconnect: reconnects you to a network if you were disconnected.
- /join <channel>: has you join <channel>. You can use this if you're kicked to rejoin #MFGG.
- /part: has you leave the channel you're viewing.
- /msg <nick> <message>: sends a private message to <nick>. /query is similar, but forces opening a new window/tab while /msg does not.
- /whois <nick>: shows information about a nickname. If the person is no longer online or if you want to see some history, use /whowas.
- /nick <newnick>: changes your nickname to <newnick>
- /me <text>: sends a message with you as the subject, e.g. <CapnCoconuts> goes for a walk
- /ignore <nick>: Someone getting under your skin? /ignore will hide any future messages.
- /unignore <nick>---: Removes /ignore.
Registering and Protecting Your Nickname
When you first connected to IRC, you were able to do so with only a nickname--no password or e-mail necessary. However, other people are also able to use the same nickname when you aren't using it. To claim a nickname as your own, you need to register it though the nickname service (known as NickServ). Commands to NickServ must be sent to NickServ via /msg NickServ, or /ns if your client supports it.
First, you must start registration via /ns register <password> <e-mail>. This will send verification instructions to your e-mail address. Don't worry, the instructions are simple and should literally take only a minute after receiving the e-mail. If for some reason you didn't receive the e-mail, you either spelled your e-mail wrong or you should ask for assistance in #help. Once you've been verified, you can login via /ns identify <password>.
If you're invested in IRC enough to register your nick, I highly recommend you use a desktop client if you aren't doing so already. Many of these clients will let you auto-perform commands on connect or will otherwise let you automatically identify with NickServ on connect.
Once registered, people can still use your nick but will be informed that your nick is registered and asked to change nick. If you find someone is using your nick, you can use /ns ghost <nick> <password> to force that user to disconnect.
But if you really don't want people using your nick, you can set an enforcer via /ns set enforce ON. When an enforcer set, NickServ will force a nick change and temporarily lock your nick if your nick is not identified in 30 seconds. To use a nickname that is currently locked, use /ns release [password]'. If you're logged into your account by an alternate nick, you need not provide a password, otherwise you do.
Voiced User Guide
If you've been granted automatic voice, congratulations! You've gotten it either because you're a (former) staff member and/or a model MFGG citizen and you're trusted not to cause any problems in the channel. Besides having a status symbol, you will be able to speak when the channel is moderated and you will be able to invite yourself with /cs invite if the channel is invite-only.
That's it, really. Just enjoy yourself and don't let it go to your head. You might want to read up on some of the channel operator stuff though, just in case.
Channel Operator Guide
Channel operators are the police and managers of the channel. Their permissions depend on their roles, a list of which is provided in the section below. A full explanation of channel permission flags can be viewed by entering /cs help flags.
Voiced users don't really have any power over other users, but can be temporarily opped (mode +o) in case of an emergency. Temporary ops will have most Mod privileges but will lack any ChanServ access, and will lose ops when it is taken from them or if they leave the channel.
All users Mod rank and up can change the topic, change channel modes, kick and ban users.
Changing the Topic and Channel Modes
The topic can be changed by entering /topic <topictext>. To edit the previous topic, copy and paste it into your input and then edit it as necessary. Please be sure to keep the formatting from the previous topic.
Most channel modes can be turned on with /mode #MFGG +<modes> and off with /mode #MFGG -<modes>. For example, /mode #MFGG +nt would switch on both the n and t modes. Some modes, like bans, require additional parameters. Remember that mode letters are case-sensitive; +i is not the same mode as +I.
Some important modes are:
- i: Makes the channel invite-only. For #MFGG, this mode should only be set in emergencies.
- j: Throttles users who join. It takes <count:time> as an parameter. For example, /mode #MFGG +j 5:30 would only allow five users inside the channel in a thirty-second period.
- k: Sets a key or password for entering the channel, taking <key> as a parameter. For example, /mode #MFGG +k SuperWalrus would require everyone joining to send /join #MFGG SuperWalrus to enter #MFGG. This mode should only be used during emergencies.
- m: Moderated; all regular users cannot send messages but voiced users and ops can. Best used for stopping heated arguments and certain emergencies.
- n: No external messages; users cannot /msg to the channel unless they are in it.
- o: Grants ops to a <nickname> (setting this mode won't work on #MFGG, as the SECURE channel setting is turned on).
- p: Private; disables /knock to the channel.
- s: Secret; hides the channel from lists and from /whois
- t: Ops topic; only ops may change the topic.
- v: Voice; lets this <nickname> speak when mode +m is set.
Kicking and Setting Bans, Quiets, and Exceptions
If a user is causing trouble and ignores a verbal warning, the user may be booted from the channel via /kick <nickname>. However, some users will still not get the message after getting forced out of the channel, and will rejoin to cause more trouble. This is what bans and quiets are for. These users can be banned, which blocks messages and prevents these users from rejoining (you'll still need to kick them out).
Channel bans are set via /mode #MFGG +b <nick!ident@host>, where nick is the user's nick, ident is the user's provided username or ident, and host is the user's IP address or hostname. The ban accepts asterisks (*) as wildcard characters, which will substitute for any number of characters.
To get the user's ident and host, use /whois <nick>. You should see something like this:
* [Somebody] (~firstname.lastname@example.org): New Now Know How * [Somebody] #MFGG * [Somebody] anarchy.esper.net :Destroy All White Permanents (Strasbourg, France) * [Somebody] End of WHOIS list.
In this case, the user's <nick!ident@host> would be Somebodyemail@example.com.
You can ban by any combination of these three, putting wildcards in place of whatever doesn't need to match. However, nick bans and ident bans are extremely easy to circumvent, as a user can change nick with /nick and change ident by disconnecting and modifying their client settings. Thus, an IP/hostname ban would be the only effective ban type (e.g. *!*@31-63-127-255.hsd1.ca.comcast.net).
For many people, an IP address or hostname is difficult to change. However, some people have dynamic IP addresses and may continue to cause trouble. This necessitates a more general ban, using a wildcard for part of the address/hostname (e.g. *!*@31-63-*.hsd1.ca.comcast.net). This more general ban would block the entire IP block used by Comcast. Due to the potential for a general ban to block innocent users, such bans should only be used when ordinary host bans fail.
A list of banned nick!ident@hosts can be viewed by simply entering /mode #MFGG +b without any additional parameters. Other channel modes with similar lists are +q (quiet; blocks messages and nick changes), +e (ban exception), and +I (invite exemption), and work with nick!ident@host matches in the same way.
Using Extended Bans
The EsperNet IRCd supports a neat little feature that allows you to set bans (or other modes with lists) with to match things other than nick!ident@host. These are called Extended Bans, extbans, or ban conditionals.
For more information on extended bans, see the
Using AKICK to set temporary bans
One thing great about the Atheme services package is that its ChanServ lets you set temporary bans. The AKICK (or automatic kickban) feature lets you do this. Another advantage of the AKICK list is it persists when the channel is empty. Please note that the AKICK list will not kickban users with the +r permission flag (i.e. all op roles).
Admins are ops with elevated privileges. In addition to all the Mod privileges, they can change the permissions of other users (provided said users do not outrank them with permission flags they don't have) and change channel settings.
Modifying the Access List
Users with the Admin template can modify the access list, letting them give Voice, Mod, and Admin role templates to other users. To do so, enter /cs flags #MFGG <nickname> <template>. One can also set raw flags instead of templates, but I would greatly prefer
Changing Channel Settings
Admins are also able to use ChanServ's SET command, which changes various channel settings. Detailed information is available via /cs help set. Despite having the permission to do so, it would be great if you could discuss changes to channel settings with the founder and other ops first!
Successors have all the Admin priviliges and are granted immunity to bans (and the ability to unban themselves if they are somehow locked out of the channel anyway). They can also use the following ChanServ commands. If the Founder is absent for an extended period of time, a successor will be assigned as a new Founder.
Founders have total control over the channel, including the ability to transfer Founder status and drop channel registration. Cap'n Coconuts is the only Founder.
Recover, Sync, and Clear
RECOVER is intended to counter channel takeovers. While this shouldn't be likely on #MFGG, the command is still helpful in emergencies. RECOVER will remove ops, clear user limit and keys, remove bans matching you, add a ban exception matching you, set the channel to invite-only and moderated (mode +im) and invite you to the channel.
SYNC will force all channel statuses to flags, giving/taking away permissions as necessary. It doesn't seem particularly useful with the secure setup, but whatever.
CLEAR takes USERS, BANS, or FLAGS as a parameter. Clearing users via /cs clear users [reason] kicks all users from the channel. Clearing bans will purge the ban list. Besides the ban list (type b), the command can also be used to purge ban exception (type e), invite exemption (type I), and quiet lists (type q) via /cs clear bans [types]. FLAGS can only be used by those with full founder access, and purges all flags from users who are not founders.
- /msg NickServ help, /msg ChanServ help, etc. will give you lists of NickServ and ChanServ features not provided in this guide.
- EsperNet Modes and Extbans