summaryrefslogtreecommitdiff
path: root/data/nickserv.example.conf
diff options
context:
space:
mode:
Diffstat (limited to 'data/nickserv.example.conf')
-rw-r--r--data/nickserv.example.conf606
1 files changed, 606 insertions, 0 deletions
diff --git a/data/nickserv.example.conf b/data/nickserv.example.conf
new file mode 100644
index 000000000..5f9ff769d
--- /dev/null
+++ b/data/nickserv.example.conf
@@ -0,0 +1,606 @@
+/*
+ * Example configuration file for NickServ.
+ */
+
+/*
+ * First, create the service.
+ */
+service
+{
+ /*
+ * The name of the NickServ client
+ */
+ nick = "NickServ"
+
+ /*
+ * The username of the NickServ client.
+ */
+ user = "services"
+
+ /*
+ * The hostname of the NickServ client.
+ */
+ host = "localhost.net"
+
+ /*
+ * The realname of the NickServ client.
+ */
+ gecos = "Nickname Registration Service"
+}
+
+/*
+ * Core NickServ module.
+ *
+ * Provides essential functionality for NickServ.
+ */
+module { name = "ns_main" }
+
+/*
+ * 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
+
+ /*
+ * Require an e-mail to be sent to the user before they can register their nick.
+ */
+ #emailregistration = yes
+
+ /*
+ * 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.
+ */
+ languages = "ca_ES de_DE el_GR es_ES fr_FR hu_HU it_IT nl_NL pl_PL pt_PT ru_RU tr_TR"
+
+ /*
+ * Default language that non- and newly-registered nicks will receive messages in.
+ * Leave empty to default to English.
+ */
+ #defaultlanguage = "es_ES"
+
+ /*
+ * 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 DROP, FORBID, GETPASS, and SET PASSWORD commands by Services Admins
+ * on other Services Admins or the Services Root(s).
+ *
+ * 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
+}
+
+/*
+ * 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 behavior.
+ */
+
+/* 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"; }
+
+/*
+ * 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_ghost
+ *
+ * Provides the command nickserv/ghost.
+ *
+ * Used for disconnecting "ghost" sessions.
+ */
+module { name = "ns_ghost" }
+command { service = "NickServ"; name = "GHOST"; command = "nickserv/ghost"; }
+
+/*
+ * 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"; }
+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"; }
+
+/*
+ * 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 forcing someone on your nick to a guest nick.
+ */
+module { name = "ns_recover" }
+command { service = "NickServ"; name = "RECOVER"; 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_release
+ *
+ * Provides the command nickserv/release.
+ *
+ * Used for releasing names held by nickserv/recover.
+ */
+module { name = "ns_release" }
+command { service = "NickServ"; name = "RELEASE"; command = "nickserv/release"; }
+
+/*
+ * 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_saset
+ *
+ * Provides commands nickserv/saset, nickserv/saset/display, and nickserv/saset/password.
+ *
+ * Used as a help wrapper for SASET commands, and used to force change users display name or password.
+ */
+module { name = "ns_saset" }
+command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; }
+command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; }
+command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; }
+
+/*
+ * ns_set
+ *
+ * Provides the commands nickserv/set, nickserv/set/display, and nickserv/set/password.
+ *
+ * Used as a help wrapper for SET commands, and used for users to change their display name or password.
+ */
+module { name = "ns_set" }
+command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
+command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
+command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
+
+/*
+ * ns_set_autoop
+ *
+ * Provides the commands nickserv/set/autoop and nickserv/saset/autoop.
+ *
+ * Used for setting autoop, which determines whether or not modes are automatically set on you when joining a channel.
+ */
+module { name = "ns_set_autoop" }
+command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
+command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
+
+/*
+ * ns_set_email
+ *
+ * Provides the commands nickserv/set/email and nickserv/saset/email.
+ *
+ * Used for setting users email addresses.
+ */
+module { name = "ns_set_email" }
+command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
+command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
+
+/*
+ * ns_set_greet
+ *
+ * Provides the commands nickserv/set/greet and nickserv/saset/greet.
+ *
+ * Used for changing users greet message, which is displayed when they enter channels.
+ */
+module { name = "ns_set_greet" }
+command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
+command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
+
+/*
+ * ns_set_hide
+ *
+ * Provides the commands nickserv/set/hide and nickserv/saset/hide.
+ *
+ * Used for configuring which options are publically shown in nickserv/info for your account.
+ */
+module { name = "ns_set_hide" }
+command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
+command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
+
+/*
+ * ns_set_kill
+ *
+ * Provides the commands nickserv/set/kill and nickserv/saset/kill.
+ *
+ * Used for configuring if and for how long other users are allowed to use your nick.
+ */
+module { name = "ns_set_kill" }
+command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
+command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
+
+/*
+ * ns_set_language
+ *
+ * Provides the commands nickserv/set/language and nickserv/saset/language.
+ *
+ * Used for configuring what language services use when messaging you.
+ */
+module { name = "ns_set_language" }
+command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
+command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
+
+/*
+ * ns_set_message
+ *
+ * Provides the commands nickserv/set/message and nickserv/saset/message.
+ *
+ * Used to configure how services send messages to you.
+ */
+module { name = "ns_set_message" }
+command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
+command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
+
+/*
+ * ns_set_private
+ *
+ * Provides the commands nickserv/set/private and nickserv/saset/private.
+ *
+ * Used for configuring whether or not your account shows up in nickserv/list.
+ */
+module { name = "ns_set_private" }
+command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
+command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
+
+/*
+ * ns_set_secure
+ *
+ * Provides the commands nickserv/set/secure and nickserv/saset/secure.
+ *
+ * Used for configuring whether you can gain access to your nick by simply being recognized by nickserv/access.
+ */
+module { name = "ns_set_secure" }
+command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
+command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
+
+/*
+ * ns_saset_noexpire
+ *
+ * Provides the command nickserv/saset/noexpire.
+ *
+ * Used for configuring noexpire, which prevents nicks from expiring.
+ */
+module { name = "ns_saset_noexpire" }
+command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire" }
+
+/*
+ * ns_sendpass
+ *
+ * Provides the command nickserv/sendpass.
+ *
+ * Used to send users their password via email.
+ *
+ * Requires that no encryption is being used.
+ */
+module { name = "ns_sendpass" }
+command { service = "NickServ"; name = "SENDPASS"; command = "nickserv/sendpass"; permission = "nickserv/sendpass"; }
+
+/*
+ * 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.
+ */
+module { name = "ns_set_misc" }
+command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; }
+command { service = "NickServ"; name = "SET ICQ"; 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"; }
+command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; }
+
+/*
+ * 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"; }
+