/* * Example configuration file for NickServ. */ /* * First, create the service. * Note that an easy way to rename this service is to define{} the client name to something else. */ service { /* * The name of the NickServ client */ nick = "NickServ" /* * The username of the NickServ client. */ user = "services" /* * The hostname of the NickServ client. */ host = "services.host" /* * The realname of the NickServ client. */ gecos = "Nickname 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 character or prefix symbol. */ #channels = "@#services,#mychan" } /* * Core NickServ module. * * Provides essential functionality for NickServ. */ module { name = "nickserv" } /* * Configuration for NickServ provided by ns_main. */ nickserv { /* * The name of the client that should be NickServ. */ name = "NickServ" /* * Force users to give an e-mail address when they register a nick. * * This directive is recommended to be enabled, and required if e-mail registration is enabled. */ forceemail = yes /* * Require users who change their email address to confirm they * own it. */ confirmemailchanges = no /* * Registration confirmation setting. Set to "none" for no registration confirmation, * "mail" for email confirmation, and "admin" to have services operators manually confirm * every registration. Set to "disable" to completely disable all registrations. */ registration = "none" /* * A message sent to users on connect if they user an unregistered nick. * * This directive is optional. */ #unregistered_notice = "Your nickname is not registered. To register it use /nickserv register password email." /* * The default options for newly registered nicks. Note that changing these options * will have no effect on nicks which are already registered. The list must be separated * by spaces. * * The options are: * - kill: Kill nick if not identified within 60 seconds * - killquick: Kill nick if not identified within 20 seconds, this one overrides the above * option and the above must be specified with this one * - secure: Enable nickname security, requiring the nick's password before any operations * can be done on it * - private: Hide the nick from NickServ's LIST command * - hideemail: Hide's the nick's e-mail address from NickServ's INFO command * - hideusermask: Hide's the nick's last or current user@host from NickServ's INFO command * - hidequit: Hide's the nick's last quit message * - memosignon: Notify user if they have a new memo when they sign into the nick * - memoreceive: Notify user if they have a new memo as soon as it's received * - autoop: User will be automatically opped in channels they enter and have access to * - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires UsePrivmsg * to be enabled as well * * This directive is optional, if left blank, the options will default to secure, memosignon, and * memoreceive. If you really want no defaults, use "none" by itself as the option. */ defaults="secure private hideemail hideusermask memosignon memoreceive autoop" /* * A list of languages to load on startup that will be available in /nickserv set language. * Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE). * Note that english should not be listed here because it is the base language. * * Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages. */ languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8" /* * Default language that non- and newly-registered nicks will receive messages in. * Leave empty to default to English. */ #defaultlanguage = "es_ES.UTF-8" /* * The minimum length of time between consecutive uses of NickServ's REGISTER command. This * directive is optional, but recommended. If not set, this restriction will be disabled. */ regdelay = 30s /* * The minimum length of time between consecutive uses of NickServ's RESEND command. * * This directive is optional, but recommended. If not set, this restriction will be disabled. */ resenddelay = 90s /* * The length of time before a nick registration expires. * * This directive is optional, but recommended. If not set, the default is 21 days. */ expire = 21d /* * The length of time before a suspended nick becomes unsuspended. * * This directive is optional. If not set, the default is to never. */ #suspendexpire = 90d /* * The length of time a user using an unconfirmed account has * before the account will be released for general use again. * * This directive is only required if the e-mail registration option is enabled. */ #unconfirmedexpire = 1d /* * The maximum number of nicks allowed in a group. * * This directive is optional, but recommended. If not set or set to 0, no limits will be applied. */ maxaliases = 16 /* * The maximum number of entries allowed on a nickname's access list. */ accessmax = 32 /* * The username (and possibly hostname) used for the fake user created when NickServ collides * a user. Should be in the user@host format. */ enforceruser = "enforcer" enforcerhost = "localhost.net" /* * The delay before a NickServ collided nick is released. */ releasetimeout = 1m /* * Allow the use of the IMMED option in the NickServ SET KILL command. * * This directive is optional. */ #allowkillimmed = yes /* * If set, the NickServ GROUP command won't allow any group change. This is recommended for * better performance and to protect against nick stealing, however users will have less * flexibility. * * This directive is optional, but recommended. */ #nogroupchange = yes /* * The maximum number of nicks to be returned for a NickServ LIST command. */ listmax = 50 /* * When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start * with this value. The rest will be made up of 6 or 7 digits. */ guestnickprefix = "Guest" /* * Prevents the use of the ACCESS (excluding the LIST subcommand), DROP, FORBID, SUSPEND, * GETPASS and SET PASSWORD commands by services operators on other services operators. * * This directive is optional, but recommended. */ secureadmins = yes /* * If set, any user wanting to use the privileges of Services Root, Services Admin, or Services * Operator must have been logged as an IRC Operator with the /oper command. * * This directive is optional, but recommended. */ strictprivileges = yes /* * If set, Services will set the channel modes a user has access to upon identifying, assuming * they are not already set. * * This directive is optional. */ modeonid = yes /* * If set, Services will add the usermask of registering users to the access list of their * newly created account. If not set, users will always have to identify to NickServ before * being recognized, unless they manually add an address to the access list of their account. * This directive is optional. */ addaccessonreg = yes /* * The maximum number of channels a user can have on NickServ's AJOIN command. */ ajoinmax = 10 /* * If set, is the length of time NickServ's killquick and kill options wait before * forcing users off of protected nicknames. */ killquick = 20s kill = 60s /* * If set, Services will set these user modes on any user who identifies. * * This directive is optional. */ #modesonid = "+R" /* * If set, Services will svsnick and svsjoin users who use the recover * command on an identified user to the nick and channels of the recovered user. * * This directive is opional. */ restoreonrecover = yes /* * Some IRCds allow "SASL" authentication to let users identify to Services * during the IRCd user registration process. If set, Services will allow * authenticating users through this mechanism. */ sasl = yes } /* * Core NickServ 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 behaviour. */ /* Command group configuration for NickServ. * * Commands may optionally be placed into groups to make NickServ's HELP output easier to understand. * Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP. */ command_group { name = "nickserv/admin"; description = "Servies Operator commands" } /* Give it a help command */ command { service = "NickServ"; name = "HELP"; command = "generic/help"; } /* * ns_access * * Provides the command nickserv/access. * * Used for configuring what hosts have access to your account. */ module { name = "ns_access" } command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; } /* * ns_ajoin * * Provides the command nickserv/ajoin. * * Used for configuring channels to join once you identify. */ module { name = "ns_ajoin" } command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; } /* * ns_alist * * Provides the command nickserv/alist. * * Used for viewing what channels you have access to. */ module { name = "ns_alist" } command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; } /* * ns_cert * * Provides the command nickserv/cert. * * Used for configuring your SSL certificate list, which can be used to automatically identify you. */ module { name = "ns_cert" } command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; } /* * ns_drop * * Provides the command nickserv/drop. * * Used for unregistering names. */ module { name = "ns_drop" } command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; } /* * ns_getemail * * Provides the command nickserv/getemail. * * Used for getting registered accounts by searching for emails. */ module { name = "ns_getemail" } command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin" } /* * ns_getpass * * Provides the command nickserv/getpass. * * Used for getting users passwords. * * Requires no encryption is being used. */ #module { name = "ns_getpass" } #command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; } /* * ns_group * * Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup. * * Used for controlling nick groups. */ module { name = "ns_group" } command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; } command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; } command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; } /* * ns_identify * * Provides the command nickserv/identify. * * Used for identifying to accounts. */ module { name = "ns_identify" } command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true } command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; } /* * ns_info * * Provides the command nickserv/info. * * Used for gathering information about an account. */ module { name = "ns_info" } command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; } /* * ns_list * * Provides the command nickserv/list. * * Used for retrieving and searching the registered account list. */ module { name = "ns_list" } command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; command = "nickserv/admin" } /* * ns_logout * * Provides the command nickserv/logout. * * Used for logging out of your account. */ module { name = "ns_logout" } command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; } /* * ns_recover * * Provides the command nickserv/recover. * * Used for recovering your nick from services or another user. */ module { name = "ns_recover" } command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; } # Uncomment below to emulate 1.8's behavior of ghost, recover, and release. #command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; } #command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; } /* * ns_register * * Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend. * * Used for registering accounts. */ module { name = "ns_register" } command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; } command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; } command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; } /* * ns_resetpass * * Provides the command nickserv/resetpass. * * Used for resetting passwords by emailing users a temporary one. */ module { name = "ns_resetpass" } command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; } /* * ns_set * * Provides the commands: * nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands. * nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel. * nickserv/set/display, nickserv/saset/display - Used for setting a users display name. * nickserv/set/email, nickserv/saset/email - Used for setting a users email address. * nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels. * nicksrev/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info for users account. * nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection. * nickserv/set/language, nickserv/saset/language - Used for configuring what language services use. * nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you. * nickserv/set/password, nickserv/saset/password - Used for changing a users greet password. * nickserv/set/private, nickserv/saset/privatee - Used for configuring whether or a users account shows up in nickserv/list. * nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access. * nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring. * * Used as a help wrapper for the SET and SASET commands, and provides many other set commands. */ module { name = "ns_set" } command { service = "NickServ"; name = "SET"; command = "nickserv/set"; } command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin" } command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; } command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; group = "nickserv/admin" } command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; } command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; group = "nickserv/admin" } command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; } command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; group = "nickserv/admin" } command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; } command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; group = "nickserv/admin" } command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; } command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; group = "nickserv/admin" } command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; } command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; group = "nickserv/admin" } command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; } command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; group = "nickserv/admin" } command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; } command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; group = "nickserv/admin" } command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; } command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; group = "nickserv/admin" } command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; } command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; group = "nickserv/admin" } command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; } command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; group = "nickserv/admin" } command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; group = "nickserv/admin" } /* * ns_set_misc * * Provides the command nickserv/set/misc. * * Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info. * A field named misc_description may be given for use with help output. */ module { name = "ns_set_misc" } command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account") } #command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; } #command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; } #command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; } /* * ns_status * * Provides the nickserv/status command. * * Used to determine if a user is recognized or identified by services. */ module { name = "ns_status" } command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; } /* * ns_suspend * * Provides the commands nickserv/suspend and nickserv/unsuspend. * * Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are stored. */ module { name = "ns_suspend" } command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin" } command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin" } /* * ns_update * * Provides the command nickserv/update. * * Used to update your status on all channels, turn on your vHost, etc. */ module { name = "ns_update" } command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; } /* * Extra NickServ related modules. */ /* * ns_maxemail * * Limits how many times the same email address may be used in Anope * to register accounts. */ module { name = "ns_maxemail" } ns_maxemail { /* * The limit to how many registered nicks can use the same e-mail address. If set to 0 or left * commented, there will be no limit enforced when registering new accounts or using * /msg NickServ SET EMAIL. */ #maxemails = 1 }