You need a registered channel to use most of this. If you haven't registered yet, start with /msg ChanServ REGISTER #yourchannel while you have ops in it.

1. Lock your channel modes

Without a mode lock, your modes reset every time the channel empties and ChanServ recreates it. MLOCK makes sure your baseline modes are always set.

A reasonable starting point for most channels:

/msg ChanServ SET #channel MLOCK +nt

+n blocks messages from outside the channel. +t restricts topic changes to ops only. Add +m if you want a moderated channel where only voiced users can speak.

For a private channel, add +i to lock it to invited users only, or +s to hide it from /list.

2. Keep the channel alive when empty

By default, channels disappear when the last user leaves and all modes reset on recreate. PERSIST keeps the channel registered and open with no users in it.

/msg ChanServ SET #channel PERSIST ON

3. Control who can get ops

Without these, someone could give themselves ops if they have channel operator status through other means.

SECUREOPS prevents anyone not on the FLAGS access list from holding op status:

/msg ChanServ SET #channel SECUREOPS ON

SECURE goes further. Even users on the access list must be identified to NickServ before ChanServ gives them their status:

/msg ChanServ SET #channel SECURE ON

4. Set up your access list properly

The FLAGS system controls who can do what. Be careful with what you hand out. You can't take back founder-level flags from someone without founder access yourself.

Give a trusted user auto-op:

/msg ChanServ FLAGS #channel nick +Oo

+O gives them auto-op on join. +o lets them use OP/DEOP commands. See ChanServ FLAGS for the full flag list.

Don't give out +F (full founder access) unless you fully trust someone with ownership of the channel. It can't easily be revoked if things go wrong.

5. Set a successor

If your account expires, the channel can go unregistered. A successor takes over founder access if that happens.

/msg ChanServ SET #channel SUCCESSOR nick

Pick someone you trust. They only inherit ownership if your account actually expires, not just because you're away.

6. Ban troublemakers automatically

AKICK bans and kicks matching users on join, so you don't have to be around to enforce it.

/msg ChanServ AKICK #channel ADD nick reason

You can also match by hostmask: *!*@their.host. To remove everyone already in the channel who matches an AKICK entry:

/msg ChanServ AKICK #channel ENFORCE

7. Restrict to known users only (optional)

For private or invite-only channels, RESTRICTED blocks anyone not on the FLAGS list from joining at all, even if they know the channel name.

/msg ChanServ SET #channel RESTRICTED ON

Combined with MLOCK +is, the channel won't appear in /list and only your approved users can get in.

  • MLOCK set to at least +nt
  • PERSIST ON so the channel stays open when empty
  • SECUREOPS ON and SECURE ON
  • FLAGS set for trusted users only
  • SUCCESSOR set to a trusted nick
  • AKICK entries for known bad actors
  • RESTRICTED ON if the channel is private