1312 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			1312 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Example configuration file for ChanServ.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * First, create the service.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								service
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The name of the ChanServ client.
							 | 
						||
| 
								 | 
							
									 * If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									nick = "ChanServ"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The username of the ChanServ client.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									user = "services"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The hostname of the ChanServ client.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									host = "ircservices.{{ external_domain }}"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The realname of the ChanServ client.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									gecos = "Channel Registration Service"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The modes this client should use.
							 | 
						||
| 
								 | 
							
									 * Do not modify this unless you know what you are doing.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * These modes are very IRCd specific. If left commented, sane defaults
							 | 
						||
| 
								 | 
							
									 * are used based on what protocol module you have loaded.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Note that setting this option incorrectly could potentially BREAK some, if
							 | 
						||
| 
								 | 
							
									 * not all, usefulness of the client. We will not support you if this client is
							 | 
						||
| 
								 | 
							
									 * unable to do certain things if this option is enabled.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									#modes = "+o"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * An optional comma separated list of channels this service should join. Outside
							 | 
						||
| 
								 | 
							
									 * of log channels this is not very useful, as the service will just idle in the
							 | 
						||
| 
								 | 
							
									 * specified channels, and will not accept any types of commands.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Prefixes may be given to the channels in the form of mode characters or prefix symbols.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									#channels = "@#services,#mychan"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Core ChanServ module.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides essential functionality for ChanServ.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "chanserv"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The name of the client that should be ChanServ.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									client = "ChanServ"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The default options for newly registered channels. Note that changing these options
							 | 
						||
| 
								 | 
							
									 * will have no effect on channels which are already registered. The list must be separated
							 | 
						||
| 
								 | 
							
									 * by spaces.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * The options are:
							 | 
						||
| 
								 | 
							
									 * -      keeptopic: Retain topic when the channel is not in use
							 | 
						||
| 
								 | 
							
									 * -          peace: Disallow users from kicking or removing modes from others who are of the same
							 | 
						||
| 
								 | 
							
									 *                     access level or superior
							 | 
						||
| 
								 | 
							
									 * -     cs_private: Hide the channel from ChanServ's LIST command
							 | 
						||
| 
								 | 
							
									 * -     restricted: Kick/ban users who are restricted from the channel
							 | 
						||
| 
								 | 
							
									 * -      cs_secure: Enable channel security, requiring the user to be identified with NickServ in
							 | 
						||
| 
								 | 
							
									 *                     order to be considered for being on the access list of the channel
							 | 
						||
| 
								 | 
							
									 * -      secureops: Only allow operator status to be given if the user is on the access list
							 | 
						||
| 
								 | 
							
									 * -  securefounder: Only allow the real founder of the channel to drop the channel, change it's
							 | 
						||
| 
								 | 
							
									 *                     password, or change the founder or successor
							 | 
						||
| 
								 | 
							
									 * -       signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
							 | 
						||
| 
								 | 
							
									 * - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
							 | 
						||
| 
								 | 
							
									 *                     level or superior to the target
							 | 
						||
| 
								 | 
							
									 * -      topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
							 | 
						||
| 
								 | 
							
									 * -        persist: Keep the channel open at all times
							 | 
						||
| 
								 | 
							
									 * -       noautoop: Disables autoop on the channel
							 | 
						||
| 
								 | 
							
									 * -  cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
							 | 
						||
| 
								 | 
							
									 *                     not in use.
							 | 
						||
| 
								 | 
							
									 * -           none: No defaults
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
							 | 
						||
| 
								 | 
							
									 * and signkick. If you really want no defaults, use "none" by itself as the option.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									defaults = "keeptopic peace cs_secure securefounder secureops topiclock persist cs_keep_modes signkick topiclock"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The maximum number of channels which may be registered to a single nickname.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * This directive is optional, but recommended.
							 | 
						||
| 
								 | 
							
									 * If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									maxregistered = 20
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The length of time before a channel registration expires.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * This directive is optional, but recommended.
							 | 
						||
| 
								 | 
							
									 * If not set, the default is 14 days.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									expire = 14d
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The maximum number of entries on a channel's access list.
							 | 
						||
| 
								 | 
							
									 * If not set, the default is 1024. This can be set to 0 for unlimited.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									accessmax = 1024
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The length of time ChanServ stays in a channel after kicking a user from a channel they are not
							 | 
						||
| 
								 | 
							
									 * permitted to be in. This only occurs when the user is the only one in the channel.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									inhabit = 15s
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * Allow only IRC Operators to use ChanServ.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * This directive is optional.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									#opersonly = yes
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * Modes that will not be allowed to be locked. Oper only modes such as +O
							 | 
						||
| 
								 | 
							
									 * are always restricted from regular users and are not affected by this.
							 | 
						||
| 
								 | 
							
									 * Comment out for no restrictions.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									#nomlock = "P"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * Modes that are required to be set and only set on all registered channels.
							 | 
						||
| 
								 | 
							
									 * These modes can not be locked or unlocked. The registered channel mode is
							 | 
						||
| 
								 | 
							
									 * automatically always required, if such a mode exists.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									#require = "r"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The maximum length of the reason field for user commands such as chanserv/kick
							 | 
						||
| 
								 | 
							
									 * and chanserv/ban.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									reasonmax = 200
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The message formatting to use for signed kick messages.
							 | 
						||
| 
								 | 
							
									 * %n is the nick of the kicker
							 | 
						||
| 
								 | 
							
									 * %m is the message specified
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									signkickformat = "%m (%n)"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * If set, prevents channel access entries from containing hostmasks.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									disallow_hostmask_access = false
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * If set, prevents channels from being on access lists.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									disallow_channel_access = false
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * If set, ChanServ will always lower the timestamp of registered channels to their registration date.
							 | 
						||
| 
								 | 
							
									 * This prevents several race conditions where unauthorized users can join empty registered channels and set
							 | 
						||
| 
								 | 
							
									 * modes etc. prior to services deopping them.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									always_lower_ts = false
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * ChanServ privilege configuration.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * ChanServ privileges are used to determine who has what access in channels. By default the core has its own
							 | 
						||
| 
								 | 
							
								 * set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
							 | 
						||
| 
								 | 
							
								 * determine how powerful privileges are relative to other privileges, which is used by Anope to determine
							 | 
						||
| 
								 | 
							
								 * who has greater access in a channel.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
							 | 
						||
| 
								 | 
							
								 * The levels defined will be used as the default levels for newly registered channels.
							 | 
						||
| 
								 | 
							
								 * The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
							 | 
						||
| 
								 | 
							
								 * has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * If you load cs_xop, you may define a XOP command to associate the privilege with.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
							 | 
						||
| 
								 | 
							
								 * channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
							 | 
						||
| 
								 | 
							
								 * the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
							 | 
						||
| 
								 | 
							
								 * privileges which would automatically be associated with that channel mode.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
							 | 
						||
| 
								 | 
							
								 * the specific level you are defining.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * ACCESS_CHANGE privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/access, chanserv/flags and chanserv/xop.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can modify the permissions of others.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "ACCESS_CHANGE"
							 | 
						||
| 
								 | 
							
									rank = 0
							 | 
						||
| 
								 | 
							
									level = 10
							 | 
						||
| 
								 | 
							
									flag = "f"
							 | 
						||
| 
								 | 
							
									xop = "SOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * ACCESS_LIST privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/access, chanserv/flags, and chanserv/xop.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can view the access list of channels.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "ACCESS_LIST"
							 | 
						||
| 
								 | 
							
									rank = 10
							 | 
						||
| 
								 | 
							
									level = 3
							 | 
						||
| 
								 | 
							
									flag = "f"
							 | 
						||
| 
								 | 
							
									xop = "VOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * AKICK privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/akick and chanserv/enforce.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can modify the AKICK list.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "AKICK"
							 | 
						||
| 
								 | 
							
									rank = 250
							 | 
						||
| 
								 | 
							
									level = 10
							 | 
						||
| 
								 | 
							
									flag = "K"
							 | 
						||
| 
								 | 
							
									xop = "SOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * ASSIGN privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by botserv/assign.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can assign and unassign BotServ bots to and from the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "ASSIGN"
							 | 
						||
| 
								 | 
							
									rank = 270
							 | 
						||
| 
								 | 
							
									level = "founder"
							 | 
						||
| 
								 | 
							
									flag = "s"
							 | 
						||
| 
								 | 
							
									xop = "QOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * AUTOHALFOP privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by the core.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission get halfop on join.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "AUTOHALFOP"
							 | 
						||
| 
								 | 
							
									rank = 100
							 | 
						||
| 
								 | 
							
									level = 4
							 | 
						||
| 
								 | 
							
									flag = "H"
							 | 
						||
| 
								 | 
							
									xop = "HOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * AUTOOP privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by the core.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission get op on join.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "AUTOOP"
							 | 
						||
| 
								 | 
							
									rank = 210
							 | 
						||
| 
								 | 
							
									level = 5
							 | 
						||
| 
								 | 
							
									flag = "O"
							 | 
						||
| 
								 | 
							
									xop = "AOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * AUTOOWNER privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by the core.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission get owner on join.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "AUTOOWNER"
							 | 
						||
| 
								 | 
							
									rank = 330
							 | 
						||
| 
								 | 
							
									level = 9999
							 | 
						||
| 
								 | 
							
									flag = "Q"
							 | 
						||
| 
								 | 
							
									xop = "QOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * AUTOPROTECT privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by the core.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission get admin on join.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "AUTOPROTECT"
							 | 
						||
| 
								 | 
							
									rank = 240
							 | 
						||
| 
								 | 
							
									level = 10
							 | 
						||
| 
								 | 
							
									flag = "A"
							 | 
						||
| 
								 | 
							
									xop = "SOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * AUTOVOICE privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by the core.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission get voice on join.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "AUTOVOICE"
							 | 
						||
| 
								 | 
							
									rank = 50
							 | 
						||
| 
								 | 
							
									level = 3
							 | 
						||
| 
								 | 
							
									flag = "V"
							 | 
						||
| 
								 | 
							
									xop = "VOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * BADWORDS privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by botserv/badwords.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can modify BotServ's BADWORDS list.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "BADWORDS"
							 | 
						||
| 
								 | 
							
									rank = 260
							 | 
						||
| 
								 | 
							
									level = 10
							 | 
						||
| 
								 | 
							
									flag = "K"
							 | 
						||
| 
								 | 
							
									xop = "SOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * BAN privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/ban.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use the BAN command.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "BAN"
							 | 
						||
| 
								 | 
							
									rank = 150
							 | 
						||
| 
								 | 
							
									level = 4
							 | 
						||
| 
								 | 
							
									flag = "b"
							 | 
						||
| 
								 | 
							
									xop = "HOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * FANTASIA privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by botserv/main and chanserv/xop.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use fantasy commands in the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "FANTASIA"
							 | 
						||
| 
								 | 
							
									rank = 30
							 | 
						||
| 
								 | 
							
									level = 3
							 | 
						||
| 
								 | 
							
									flag = "c"
							 | 
						||
| 
								 | 
							
									xop = "VOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * FOUNDER privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/access, chanserv/akick,
							 | 
						||
| 
								 | 
							
								 * chanserv/drop, chanserv/set/founder,
							 | 
						||
| 
								 | 
							
								 * chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission are treated as founders and can use
							 | 
						||
| 
								 | 
							
								 * commands restricted to founders.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "FOUNDER"
							 | 
						||
| 
								 | 
							
									rank = 360
							 | 
						||
| 
								 | 
							
									level = 10000
							 | 
						||
| 
								 | 
							
									flag = "F"
							 | 
						||
| 
								 | 
							
									xop = "QOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * GETKEY privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/getkey and nickserv/ajoin.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can get they channel key with GETKEY and
							 | 
						||
| 
								 | 
							
								 * can use nickserv/ajoin to join channels with keys.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "GETKEY"
							 | 
						||
| 
								 | 
							
									rank = 180
							 | 
						||
| 
								 | 
							
									level = 5
							 | 
						||
| 
								 | 
							
									flag = "G"
							 | 
						||
| 
								 | 
							
									xop = "AOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * HALFOP privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use ChanServ to halfop and dehalfop
							 | 
						||
| 
								 | 
							
								 * others in the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "HALFOP"
							 | 
						||
| 
								 | 
							
									rank = 120
							 | 
						||
| 
								 | 
							
									level = 5
							 | 
						||
| 
								 | 
							
									flag = "h"
							 | 
						||
| 
								 | 
							
									xop = "AOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * HALFOPME privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use ChanServ to halfop and dehalfop
							 | 
						||
| 
								 | 
							
								 * themselves in the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "HALFOPME"
							 | 
						||
| 
								 | 
							
									rank = 110
							 | 
						||
| 
								 | 
							
									level = 4
							 | 
						||
| 
								 | 
							
									flag = "h"
							 | 
						||
| 
								 | 
							
									xop = "HOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * INFO privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by botserv/info and chanserv/info.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission are allowed to get the full INFO output
							 | 
						||
| 
								 | 
							
								 * from BotServ and ChanServ.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "INFO"
							 | 
						||
| 
								 | 
							
									rank = 80
							 | 
						||
| 
								 | 
							
									level = 9999
							 | 
						||
| 
								 | 
							
									flag = "I"
							 | 
						||
| 
								 | 
							
									xop = "QOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * INVITE privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/invite and nickserv/ajoin.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can invite users through ChanServ and
							 | 
						||
| 
								 | 
							
								 * join invite only channels with nickserv/ajoin.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "INVITE"
							 | 
						||
| 
								 | 
							
									rank = 190
							 | 
						||
| 
								 | 
							
									level = 5
							 | 
						||
| 
								 | 
							
									flag = "i"
							 | 
						||
| 
								 | 
							
									xop = "AOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * KICK privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/kick.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use the KICK command.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "KICK"
							 | 
						||
| 
								 | 
							
									rank = 130
							 | 
						||
| 
								 | 
							
									level = 4
							 | 
						||
| 
								 | 
							
									flag = "k"
							 | 
						||
| 
								 | 
							
									xop = "HOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * MEMO privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
							 | 
						||
| 
								 | 
							
								 * memoserv/main, memoserv/read and memoserv/set.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can manage channel memos.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "MEMO"
							 | 
						||
| 
								 | 
							
									rank = 280
							 | 
						||
| 
								 | 
							
									level = 10
							 | 
						||
| 
								 | 
							
									flag = "m"
							 | 
						||
| 
								 | 
							
									xop = "SOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * MODE privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/mode.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can set modes through ChanServ and change
							 | 
						||
| 
								 | 
							
								 * the mode lock.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "MODE"
							 | 
						||
| 
								 | 
							
									rank = 170
							 | 
						||
| 
								 | 
							
									level = 9999
							 | 
						||
| 
								 | 
							
									flag = "s"
							 | 
						||
| 
								 | 
							
									xop = "QOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * NOKICK privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by botserv/kick.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission are spared from automated BotServ kicks.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "NOKICK"
							 | 
						||
| 
								 | 
							
									rank = 20
							 | 
						||
| 
								 | 
							
									level = 1
							 | 
						||
| 
								 | 
							
									flag = "N"
							 | 
						||
| 
								 | 
							
									xop = "VOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * OP privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/mode, chanserv/modes.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use ChanServ to op and deop
							 | 
						||
| 
								 | 
							
								 * others in the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "OP"
							 | 
						||
| 
								 | 
							
									rank = 230
							 | 
						||
| 
								 | 
							
									level = 5
							 | 
						||
| 
								 | 
							
									flag = "o"
							 | 
						||
| 
								 | 
							
									xop = "SOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * OPME privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/mode, chanserv/modes.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use ChanServ to op and deop
							 | 
						||
| 
								 | 
							
								 * themselves in the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "OPME"
							 | 
						||
| 
								 | 
							
									rank = 220
							 | 
						||
| 
								 | 
							
									level = 5
							 | 
						||
| 
								 | 
							
									flag = "o"
							 | 
						||
| 
								 | 
							
									xop = "AOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * OWNER privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/mode and chanserv/modes.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use ChanServ to owner and deowner
							 | 
						||
| 
								 | 
							
								 * others in the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "OWNER"
							 | 
						||
| 
								 | 
							
									rank = 350
							 | 
						||
| 
								 | 
							
									level = "founder"
							 | 
						||
| 
								 | 
							
									flag = "q"
							 | 
						||
| 
								 | 
							
									xop = "QOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * OWNERME privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/mode and chanserv/modes.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use ChanServ to owner and deowner
							 | 
						||
| 
								 | 
							
								 * themselves in the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "OWNERME"
							 | 
						||
| 
								 | 
							
									rank = 340
							 | 
						||
| 
								 | 
							
									level = 9999
							 | 
						||
| 
								 | 
							
									flag = "q"
							 | 
						||
| 
								 | 
							
									xop = "QOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * PROTECT privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/mode and chanserv/modes.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use ChanServ to protect and deprotect
							 | 
						||
| 
								 | 
							
								 * others in the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "PROTECT"
							 | 
						||
| 
								 | 
							
									rank = 310
							 | 
						||
| 
								 | 
							
									level = 9999
							 | 
						||
| 
								 | 
							
									flag = "a"
							 | 
						||
| 
								 | 
							
									xop = "QOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * PROTECTME privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/mode and chanserv/modes.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use ChanServ to protect and deprotect
							 | 
						||
| 
								 | 
							
								 * themselves in the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "PROTECTME"
							 | 
						||
| 
								 | 
							
									rank = 300
							 | 
						||
| 
								 | 
							
									level = 10
							 | 
						||
| 
								 | 
							
									flag = "a"
							 | 
						||
| 
								 | 
							
									xop = "AOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * SAY privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by botserv/control.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use the BotServ bot in the channel to
							 | 
						||
| 
								 | 
							
								 * say or do a /me with the provided message.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "SAY"
							 | 
						||
| 
								 | 
							
									rank = 90
							 | 
						||
| 
								 | 
							
									level = 5
							 | 
						||
| 
								 | 
							
									flag = "B"
							 | 
						||
| 
								 | 
							
									xop = "AOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * SET privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
							 | 
						||
| 
								 | 
							
								 * chanserv/saset/noexpire and chanserv/set.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can set what BotServ will kick for, change
							 | 
						||
| 
								 | 
							
								 * BotServ and ChanServ settings, clone ChanServ channel setings, and
							 | 
						||
| 
								 | 
							
								 * set ChanServ logging options.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "SET"
							 | 
						||
| 
								 | 
							
									rank = 320
							 | 
						||
| 
								 | 
							
									level = 9999
							 | 
						||
| 
								 | 
							
									flag = "s"
							 | 
						||
| 
								 | 
							
									xop = "QOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * SIGNKICK privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/ban and chanserv/kick.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission won't get their nick shown in the kick
							 | 
						||
| 
								 | 
							
								 * through ChanServ when the setting SIGNKICK is set to LEVEL.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "SIGNKICK"
							 | 
						||
| 
								 | 
							
									rank = 140
							 | 
						||
| 
								 | 
							
									level = 9999
							 | 
						||
| 
								 | 
							
									flag = "K"
							 | 
						||
| 
								 | 
							
									xop = "QOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * TOPIC privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/topic.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can change the channel topic through ChanServ.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "TOPIC"
							 | 
						||
| 
								 | 
							
									rank = 160
							 | 
						||
| 
								 | 
							
									level = 5
							 | 
						||
| 
								 | 
							
									flag = "t"
							 | 
						||
| 
								 | 
							
									xop = "AOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * UNBAN privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/unban.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can unban themselves and others through ChanServ.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "UNBAN"
							 | 
						||
| 
								 | 
							
									rank = 200
							 | 
						||
| 
								 | 
							
									level = 4
							 | 
						||
| 
								 | 
							
									flag = "u"
							 | 
						||
| 
								 | 
							
									xop = "HOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * VOICE privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/mode and chanserv/modes.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use ChanServ to voice and devoice
							 | 
						||
| 
								 | 
							
								 * others in the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "VOICE"
							 | 
						||
| 
								 | 
							
									rank = 70
							 | 
						||
| 
								 | 
							
									level = 4
							 | 
						||
| 
								 | 
							
									flag = "v"
							 | 
						||
| 
								 | 
							
									xop = "HOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * VOICEME privilege.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used by chanserv/mode and chanserv/modes.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Users with this permission can use ChanServ to voice and devoice
							 | 
						||
| 
								 | 
							
								 * themselves in the channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								privilege
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "VOICEME"
							 | 
						||
| 
								 | 
							
									rank = 60
							 | 
						||
| 
								 | 
							
									level = 3
							 | 
						||
| 
								 | 
							
									flag = "v"
							 | 
						||
| 
								 | 
							
									xop = "VOP"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Core ChanServ commands.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
							 | 
						||
| 
								 | 
							
								 * are loaded you can then configure the commands to be added to any client you like with any name you like.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Additionally, you may provide a permission name that must be in the opertype of users executing the command.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Command group configuration for ChanServ.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
							 | 
						||
| 
								 | 
							
								 * Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								command_group
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "chanserv/access"
							 | 
						||
| 
								 | 
							
									description = _("Used to manage the list of privileged users")
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								command_group
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "chanserv/status"
							 | 
						||
| 
								 | 
							
									description = _("Used to modify the channel status of you or other users")
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								command_group
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "chanserv/management"
							 | 
						||
| 
								 | 
							
									description = _("Used to manage channels")
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								command_group
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "chanserv/admin"
							 | 
						||
| 
								 | 
							
									description = _("Services Operator commands")
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Give it a help command. */
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_access
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides commands chanserv/access and chanserv/levels.
							 | 
						||
| 
								 | 
							
								 * Provides the access system "levels".
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for giving users access in channels using a levels system. Allows allows redefining which privileges
							 | 
						||
| 
								 | 
							
								 * are representated by given level on a per channel basis.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
							 | 
						||
| 
								 | 
							
								 * entries not added by cs_access. The "level" of these entries will be the representation of the access
							 | 
						||
| 
								 | 
							
								 * entry by the other access system, which could be an XOP command name, or a set of flags.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_access" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_akick
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/akick.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for preventing users from joining channels.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "cs_akick"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The maximum number of entries on a channel's autokick list.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									autokickmax = 32
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The default reason for an autokick if none is given.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									autokickreason = "User has been banned from the channel"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_ban
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/ban.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * The configuration option 'kick' may be set in a command block for this command to control
							 | 
						||
| 
								 | 
							
								 * whether or not users will be kicked from the channel once banned. The default is 'yes'.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
							 | 
						||
| 
								 | 
							
								 * The default is BAN.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for banning users from channels.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_ban" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_clone
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/clone.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for copying channel settings from one channel to another.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_clone" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_drop
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/drop.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for unregistering channels.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_drop" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_enforce
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/enforce.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used to enforce various channel settings such as secureops and restricted.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_enforce" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_entrymsg
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/entrymsg.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used to configure entry messages sent to users when they join a channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "cs_entrymsg"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
							 | 
						||
| 
								 | 
							
									maxentries = 5
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_flags
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/flags.
							 | 
						||
| 
								 | 
							
								 * Provides the access system "flags".
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for giving users access in channels.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
							 | 
						||
| 
								 | 
							
								 * entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
							 | 
						||
| 
								 | 
							
								 * privilege set granted by the access entry.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_flags" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_getkey
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/getkey.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for getting the key for channels.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_getkey" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_info
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/info.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for getting information about channels.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_info" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_invite
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/invite.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for inviting yourself in to channels.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_invite" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_kick
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/kick.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for kicking users from channels.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_kick" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_list
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the commands:
							 | 
						||
| 
								 | 
							
								 *   chanserv/list - Used for retrieving and searching the registered channel list.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "cs_list"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The maximum number of channels to be returned for a ChanServ LIST command.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									listmax = 50
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_log
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/log.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Use for configuring what actions on channels are logged and where.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "cs_log"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/* Default log settings for newly registered channels */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									#default
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										command = "chanserv/modes"
							 | 
						||
| 
								 | 
							
										method = "MESSAGE @"
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									#default
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										service = "ChanServ"
							 | 
						||
| 
								 | 
							
										command = "ACCESS"
							 | 
						||
| 
								 | 
							
										method = "MESSAGE @"
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									#default
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										command = "chanserv/xop"
							 | 
						||
| 
								 | 
							
										method = "MESSAGE @"
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									#default
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										service = "ChanServ"
							 | 
						||
| 
								 | 
							
										command = "FLAGS"
							 | 
						||
| 
								 | 
							
										method = "MESSAGE @"
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_mode
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/mode and chanserv/modes.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
							 | 
						||
| 
								 | 
							
								 * configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
							 | 
						||
| 
								 | 
							
								 * unset when the command is executed.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "cs_mode"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * Default modes for mode lock, these are set on newly registered channels.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * If not set, the default is +nt.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									mlock = "+nt"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_register
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the commands chanserv/register.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for registering channels.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_register" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_seen
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the commands chanserv/seen and operserv/seen.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Records the last time a user was seen and what they were doing and allows users to request this data.
							 | 
						||
| 
								 | 
							
								 * Also allows administrators to view stats about seen data and purge the database.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "cs_seen"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/* If set, uses the older 1.8 style seen, which is less resource intensive */
							 | 
						||
| 
								 | 
							
									simple = false
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/* Sets the time to keep seen entries in the seen database. */
							 | 
						||
| 
								 | 
							
									purgetime = "30d"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/* Sets the delay between checks for expired seen entries. */
							 | 
						||
| 
								 | 
							
									expiretimeout = "1d"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_set
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the commands:
							 | 
						||
| 
								 | 
							
								 *   chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/description - Used for changing channels descriptions.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/founder - Used for changing a channel's founder.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
							 | 
						||
| 
								 | 
							
								 *   chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * This is a dummy command to provide a help wrapper for the various SET commands.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "cs_set"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The default ban type for newly registered channels.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * defbantype can be:
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * 0: ban in the form of *!user@host
							 | 
						||
| 
								 | 
							
									 * 1: ban in the form of *!*user@host
							 | 
						||
| 
								 | 
							
									 * 2: ban in the form of *!*@host
							 | 
						||
| 
								 | 
							
									 * 3: ban in the form of *!*user@*.domain
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									defbantype = 2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * If set, persisent channels have their creation times lowered to their
							 | 
						||
| 
								 | 
							
									 * original registration dates.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									persist_lower_ts = true
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_set_misc
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/set/misc.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
							 | 
						||
| 
								 | 
							
								 * A field named misc_description may be given for use with help output.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_set_misc" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_status
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/status.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for determining a user's access on a channel and whether
							 | 
						||
| 
								 | 
							
								 * or not they match any autokick entries.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_status" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_suspend
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the commands chanserv/suspend and chanserv/unsuspend.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									name = "cs_suspend"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * The length of time before a suspended channel expires.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * This directive is optional.
							 | 
						||
| 
								 | 
							
									 * If not set, the default is never.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									expire = 90d
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*
							 | 
						||
| 
								 | 
							
									 * Settings to show to non-opers in ChanServ's INFO output.
							 | 
						||
| 
								 | 
							
									 * Comment to completely disable showing any information about
							 | 
						||
| 
								 | 
							
									 * suspended channels to non-opers.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									show = "suspended, by, reason, on, expires"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_sync
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/sync.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used to sync users channel status modes with what access they have.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_sync" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_topic
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the commands:
							 | 
						||
| 
								 | 
							
								 *   chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
							 | 
						||
| 
								 | 
							
								 *   chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_topic" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_unban
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/unban.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for unbanning users from channels.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_unban" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_updown
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the commands chanserv/up and chanserv/down.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for setting or removing your status modes on a channel.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_updown" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_xop
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Provides the command chanserv/xop.
							 | 
						||
| 
								 | 
							
								 * Provides the access system "XOP".
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
							 | 
						||
| 
								 | 
							
								 * privileges given by each is determined by the privilege:xop settings above. These commands should
							 | 
						||
| 
								 | 
							
								 * be ordered from highest to lowest, as each command inherits the privileges of the commands below
							 | 
						||
| 
								 | 
							
								 * it.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
							 | 
						||
| 
								 | 
							
								 * can not view the entire access list at once, and instead should use another access system to do that.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_xop" }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
							 | 
						||
| 
								 | 
							
								command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Extra ChanServ related modules.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * cs_statusupdate
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * This module automatically updates users status on channels when the
							 | 
						||
| 
								 | 
							
								 * channel's access list is modified.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								module { name = "cs_statusupdate" }
							 |