2.0/Modules/cs core

From AnopeWiki
Revision as of 23:33, 6 May 2014 by Azander (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Language

English

Service ChanServ
Module
Author Anope

Description

Internal configuration of ChanServ

Default Configuration

/*
 * 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 signkick"
 
        /*
         * 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
 
        /*
         * 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"
}
 
/*
 * 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"
}
 
/*
 * 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"; }