ChanServ
ChanServ allows users to register and manage channels, providing channel administration and persistence services.
Getting Help
Section titled “Getting Help”/msg ChanServ HELP/msg ChanServ HELP <command>REGISTER
Section titled “REGISTER”Register a channel with ChanServ.
Syntax: REGISTER <#channel> <password> [<description>]
Requirements:
- You must be identified with NickServ (
+rmode) - You must be in the channel
- You must be a channel operator (
+o) in the channel - Password must be at least
min_password_lengthcharacters (default: 8) - The channel must not already be registered
- Channel name must not be in
forbidden_channel_names - You cannot exceed
max_registered_channels_per_userregistered channels (default: 10)
Example:
/msg ChanServ REGISTER #mychannel securepass8 "My project channel"After registration:
- The channel gets the
+rmode (Registered) - ChanServ’s guard bot may join if
GUARDsetting is enabled (default: on) - Default settings are applied (see settings below)
Permanently delete a registered channel.
Syntax: DROP <#channel> <password>
Requirements: Must be the channel founder (identified to the founder account)
Example:
/msg ChanServ DROP #mychannel securepass8Display information about a registered channel.
Syntax: INFO <#channel>
Example:
/msg ChanServ INFO #mychannelReturns:
- Channel name
- Founder
- Successor (if set)
- Registration date
- Last activity date
- Description, URL, email (if set and not private)
- Active settings (GUARD, KEEPTOPIC, etc.)
Configure settings for your registered channel.
Syntax: SET <#channel> <option> [<value>]
Requirements: Must be identified as the channel founder
Available Settings
Section titled “Available Settings”Control whether ChanServ stays in the channel as a guard bot.
/msg ChanServ SET #channel GUARD ON # ChanServ stays in channel (default)/msg ChanServ SET #channel GUARD OFF # ChanServ leaves channelWhen GUARD is ON, ChanServ remains in the channel to maintain its existence and apply settings.
KEEPTOPIC
Section titled “KEEPTOPIC”Restore the topic when the channel is re-created after becoming empty.
/msg ChanServ SET #channel KEEPTOPIC ON # Restore topic (default)/msg ChanServ SET #channel KEEPTOPIC OFF # Don't restore topicWhen ON, the last set topic is saved and restored automatically when the channel is re-created.
PRIVATE
Section titled “PRIVATE”Hide the channel from ChanServ’s INFO listing.
/msg ChanServ SET #channel PRIVATE ON/msg ChanServ SET #channel PRIVATE OFFRESTRICTED
Section titled “RESTRICTED”Restrict who can join to those with access.
/msg ChanServ SET #channel RESTRICTED ON/msg ChanServ SET #channel RESTRICTED OFFWhen ON, only users with explicit access can join (similar to invite-only but managed by ChanServ).
FANTASY
Section titled “FANTASY”Enable ChanServ fantasy commands (shortcut commands in the channel).
/msg ChanServ SET #channel FANTASY ON # Enable fantasy (default)/msg ChanServ SET #channel FANTASY OFF # Disable fantasyWhen enabled, users can use !command shortcuts in the channel (e.g., !op, !voice).
DESCRIPTION / DESC
Section titled “DESCRIPTION / DESC”Set a description for the channel.
/msg ChanServ SET #channel DESCRIPTION "My awesome project channel"/msg ChanServ SET #channel DESC "Short desc"/msg ChanServ SET #channel DESCRIPTION # View current descriptionSet a URL associated with the channel.
/msg ChanServ SET #channel URL https://myproject.example.com/msg ChanServ SET #channel URL OFF # Remove URL/msg ChanServ SET #channel URL # View current URLSet a contact email for the channel.
/msg ChanServ SET #channel EMAIL contact@example.com/msg ChanServ SET #channel EMAIL OFF # Remove email/msg ChanServ SET #channel EMAIL # View current emailENTRYMSG
Section titled “ENTRYMSG”Set a message shown to users when they join the channel.
/msg ChanServ SET #channel ENTRYMSG Welcome to #channel! Please read #rules./msg ChanServ SET #channel ENTRYMSG OFF # Remove entry messageOPNOTICE
Section titled “OPNOTICE”Whether to send a notice to the channel when ChanServ grants/removes operator status.
/msg ChanServ SET #channel OPNOTICE ON # Notify on op changes (default)/msg ChanServ SET #channel OPNOTICE OFFPrevent channel operators from kicking users with equal or higher access.
/msg ChanServ SET #channel PEACE ON/msg ChanServ SET #channel PEACE OFF # DefaultSECURE
Section titled “SECURE”Require users to be identified with NickServ to receive operator access.
/msg ChanServ SET #channel SECURE ON/msg ChanServ SET #channel SECURE OFF # DefaultTOPICLOCK
Section titled “TOPICLOCK”Prevent topic changes by users not identified with NickServ.
/msg ChanServ SET #channel TOPICLOCK ON/msg ChanServ SET #channel TOPICLOCK OFF # DefaultSUCCESSOR
Section titled “SUCCESSOR”Set a successor who takes over the channel if the founder account expires.
/msg ChanServ SET #channel SUCCESSOR Alice/msg ChanServ SET #channel SUCCESSOR OFF # Remove successor/msg ChanServ SET #channel SUCCESSOR # View current successorThe successor must have a registered NickServ account.
TRANSFER
Section titled “TRANSFER”Transfer channel ownership to another user.
Syntax: TRANSFER <#channel> <nickname>
Requirements: Must be the channel founder (identified)
Example:
/msg ChanServ TRANSFER #mychannel AliceBehavior:
- The target user becomes the new channel founder
- The target user must have a registered NickServ account
- This action is permanent (the current founder loses founder status)
ChanServ Configuration Reference
Section titled “ChanServ Configuration Reference”| Setting | Default | Description |
|---|---|---|
enabled | true | Enable/disable ChanServ |
min_password_length | 8 | Minimum registration password length |
max_registered_channels_per_user | 10 | Maximum channels a user can register |
forbidden_channel_names | ["#services", ~r/^#opers$/] | Patterns/names that cannot be registered |
channel_expire_days | 90 | Days until inactive channels expire |
settings.entrymsg | nil | Default entry message |
settings.keeptopic | true | Default topic preservation |
settings.opnotice | true | Default op notice setting |
settings.peace | false | Default peace setting |
settings.private | false | Default private setting |
settings.restricted | false | Default restricted setting |
settings.secure | false | Default secure setting |
settings.fantasy | true | Default fantasy setting |
settings.guard | true | Default guard setting |
settings.topiclock | false | Default topic lock setting |
See Services Configuration for full details.
Not Yet Implemented
Section titled “Not Yet Implemented”The following ChanServ commands are planned but not yet implemented:
| Command | Description |
|---|---|
ACCESS | Manage the channel access list |
ALIST | Display channel access list entries |
FLAGS | Manage user flags and permissions |
OP / DEOP | Grant/revoke operator status |
VOICE / DEVOICE | Grant/revoke voice status |
KICK | Kick a user from the channel |
BAN / UNBAN | Ban/unban users |
INVITE | Invite a user to the channel |
TOPIC | Set the channel topic |
CLEAR | Clear channel settings |
STATUS | Check a user’s access level |
SYNC | Synchronize modes with access list |