]> git.somenet.org - root/pub/somesible.git/blob - roles/server/irc-services/files/default/nickserv.conf
roles/base/backup/files
[root/pub/somesible.git] / roles / server / irc-services / files / default / nickserv.conf
1 #
2 ################################################
3 ### Managed by someone's ansible provisioner ###
4 ################################################
5 # Part of: https://git.somenet.org/root/pub/somesible.git
6 # 2017-2024 by someone <someone@somenet.org>
7 #
8
9 /*
10  * First, create the service.
11  * Note that an easy way to rename this service is to define{} the client name to something else.
12  */
13 service
14 {
15         nick = "NickServ"
16         user = "nickserv"
17         host = "services.host"
18         gecos = "Nickname Registration Service"
19         #modes = "+o"
20 }
21
22 module
23 {
24         name = "nickserv"
25         client = "NickServ"
26         forceemail = yes
27         confirmemailchanges = no
28         #unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
29
30         /*
31          * The default options for newly registered nicks. Note that changing these options
32          * will have no effect on nicks which are already registered. The list must be separated
33          * by spaces.
34          *
35          * The options are:
36          * -   killprotect: Kill nick if not identified within 60 seconds
37          * -    kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
38          *                    option and the above must be specified with this one
39          * -     ns_secure: Enable nickname security, requiring the nick's password before any operations
40          *                    can be done on it
41          * -    ns_private: Hide the nick from NickServ's LIST command
42          * -    hide_email: Hide's the nick's e-mail address from NickServ's INFO command
43          * -     hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
44          * -     hide_quit: Hide's the nick's last quit message
45          * -   memo_signon: Notify user if they have a new memo when they sign into the nick
46          * -  memo_receive: Notify user if they have a new memo as soon as it's received
47          * -        autoop: User will be automatically opped in channels they enter and have access to
48          * -           msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
49          *                    options:useprivmsg to be enabled as well
50          * -  ns_keepmodes: Enables keepmodes, which retains user modes across sessions
51          *
52          * This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
53          * memo_receive. If you really want no defaults, use "none" by itself as the option.
54          */
55         defaults = "killprotect ns_secure ns_private hide_email memo_signon memo_receive autoop"
56         regdelay = 90s
57         expire = 190d
58         secureadmins = yes
59         modeonid = yes
60         #modesonid = "+R"
61         hidenetsplitquit = no
62         killquick = 20s
63         kill = 60s
64         #restrictopernicks = yes
65 }
66
67 /*
68  * Core NickServ commands.
69  *
70  * In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
71  * are loaded you can then configure the commands to be added to any client you like with any name you like.
72  *
73  * Additionally, you may provide a permission name that must be in the opertype of users executing the command.
74  *
75  * Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
76  */
77
78 /* Command group configuration for NickServ.
79  *
80  * Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
81  * Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
82  */
83 command_group
84 {
85         name = "nickserv/admin"
86         description = "Services Operator commands"
87 }
88
89 /* Give it a help command. */
90 command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
91
92 /*
93  * ns_access
94  *
95  * Provides the command nickserv/access.
96  *
97  * Used for configuring what hosts have access to your account.
98  */
99 module
100 {
101         name = "ns_access"
102
103         /*
104          * The maximum number of entries allowed on a nickname's access list.
105          */
106         accessmax = 64
107
108         /*
109          * If set, Services will add the usermask of registering users to the access list of their
110          * newly created account. If not set, users will always have to identify to NickServ before
111          * being recognized, unless they manually add an address to the access list of their account.
112          * This directive is optional.
113          */
114         addaccessonreg = no
115 }
116
117 command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
118
119 /*
120  * ns_ajoin
121  *
122  * Provides the command nickserv/ajoin.
123  *
124  * Used for configuring channels to join once you identify.
125  */
126 module
127 {
128         name = "ns_ajoin"
129
130         /*
131          * The maximum number of channels a user can have on NickServ's AJOIN command.
132          */
133         ajoinmax = 32
134 }
135 command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
136
137 /*
138  * ns_alist
139  *
140  * Provides the command nickserv/alist.
141  *
142  * Used for viewing what channels you have access to.
143  */
144 module { name = "ns_alist" }
145 command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
146
147 /*
148  * ns_cert
149  *
150  * Provides the command nickserv/cert.
151  *
152  * Used for configuring your SSL certificate list, which can be used to automatically identify you.
153  */
154 module { name = "ns_cert"; max = 16; }
155 command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
156
157 /*
158  * ns_drop
159  *
160  * Provides the command nickserv/drop.
161  *
162  * Used for unregistering names.
163  */
164 module { name = "ns_drop" }
165 command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
166
167 /*
168  * ns_getemail
169  *
170  * Provides the command nickserv/getemail.
171  *
172  * Used for getting registered accounts by searching for emails.
173  */
174 module { name = "ns_getemail" }
175 command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
176
177 /*
178  * ns_getpass
179  *
180  * Provides the command nickserv/getpass.
181  *
182  * Used for getting users passwords.
183  *
184  * Requires no encryption is being used.
185  */
186 #module { name = "ns_getpass" }
187 #command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
188
189 /*
190  * ns_group
191  *
192  * Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
193  *
194  * Used for controlling nick groups.
195  */
196 module
197 {
198         name = "ns_group"
199
200         /*
201          * The maximum number of nicks allowed in a group.
202          *
203          * This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
204          */
205         maxaliases = 64
206
207         /*
208          * If set, the NickServ GROUP command won't allow any group change. This is recommended for
209          * better performance and to protect against nick stealing, however users will have less
210          * flexibility.
211          *
212          * This directive is optional, but recommended.
213          */
214         #nogroupchange = yes
215 }
216 command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
217 command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
218 command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
219
220 /*
221  * ns_identify
222  *
223  * Provides the command nickserv/identify.
224  *
225  * Used for identifying to accounts.
226  */
227 module { name = "ns_identify" }
228 command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
229 command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
230
231 /*
232  * ns_info
233  *
234  * Provides the commands:
235  * nickserv/info. - Used for gathering information about an account.
236  * nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
237  *
238  */
239 module { name = "ns_info" }
240 command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
241
242 command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
243 command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
244
245 /*
246  * ns_list
247  *
248  * Provides the commands:
249  *   nickserv/list - Used for retrieving and searching the registered account list.
250  *   nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
251  *
252  */
253 module
254 {
255         name = "ns_list"
256
257         /*
258          * The maximum number of nicks to be returned for a NickServ LIST command.
259          */
260         listmax = 75
261 }
262 command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; group = "nickserv/admin"; }
263
264 command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
265 command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
266
267 /*
268  * ns_logout
269  *
270  * Provides the command nickserv/logout.
271  *
272  * Used for logging out of your account.
273  */
274 module { name = "ns_logout" }
275 command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
276
277 /*
278  * ns_recover
279  *
280  * Provides the command nickserv/recover.
281  *
282  * Used for recovering your nick from services or another user.
283  */
284 module
285 {
286         name = "ns_recover"
287
288         /*
289          * If set, Services will svsnick and svsjoin users who use the recover
290          * command on an identified user to the nick and channels of the recovered user.
291          *
292          * This directive is opional.
293          */
294         restoreonrecover = yes
295 }
296 command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
297 # Uncomment below to emulate 1.8's behavior of ghost and release.
298 #command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
299 #command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
300
301 /*
302  * ns_register
303  *
304  * Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
305  *
306  * Used for registering accounts.
307  */
308 module
309 {
310         name = "ns_register"
311
312         /*
313          * Registration confirmation setting. Set to "none" for no registration confirmation,
314          * "mail" for email confirmation, and "admin" to have services operators manually confirm
315          * every registration. Set to "disable" to completely disable all registrations.
316          */
317         registration = "none"
318
319         /*
320          * The minimum length of time between consecutive uses of NickServ's RESEND command.
321          *
322          * This directive is optional, but recommended. If not set, this restriction will be disabled.
323          */
324         resenddelay = 90s
325
326         /*
327          * Prevents users from registering their nick if they are not connected
328          * for at least the given number of seconds.
329          *
330          * This directive is optional.
331          */
332         nickregdelay = 90s
333
334         /*
335          * The length of time a user using an unconfirmed account has
336          * before the account will be released for general use again.
337          */
338         unconfirmedexpire = 1d
339 }
340
341 command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
342 command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
343 command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
344
345 /*
346  * ns_resetpass
347  *
348  * Provides the command nickserv/resetpass.
349  *
350  * Used for resetting passwords by emailing users a temporary one.
351  */
352 module { name = "ns_resetpass" }
353 command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
354
355 /*
356  * ns_set
357  *
358  * Provides the commands:
359  *   nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
360  *   nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
361  *   nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
362  *   nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
363  *   nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
364  *   nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
365  *   nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
366  *   nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
367  *   nickserv/set/password, nickserv/saset/password  - Used for changing a users password.
368  *   nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
369  *   nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
370  */
371 module
372 {
373         name = "ns_set"
374
375         /*
376          * Allow the use of the IMMED option in the NickServ SET KILL command.
377          *
378          * This directive is optional.
379          */
380         #allowkillimmed = yes
381 }
382
383
384 command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
385 command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
386
387 command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
388 command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
389
390 command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
391 command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
392
393 command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
394 command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
395
396 command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
397 command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
398
399 command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
400 command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
401
402 command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
403 command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
404
405 command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
406 command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
407
408 command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
409 command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
410
411 command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
412 command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
413
414 command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
415
416 /*
417  * ns_set_misc
418  *
419  * Provides the command nickserv/set/misc.
420  *
421  * Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
422  * A field named misc_description may be given for use with help output.
423  */
424 module { name = "ns_set_misc" }
425 command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
426 command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
427 command { service = "NickServ"; name = "SET PUBLICMAIL"; command = "nickserv/set/misc"; misc_description = _("Associate an eMail address with your account"); }
428 command { service = "NickServ"; name = "SASET PUBLICMAIL"; command = "nickserv/saset/misc"; misc_description = _("Associate an eMail address with this account"); permission = "nickserv/saset/publicmail"; group = "nickserv/admin"; }
429 command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
430 command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
431 #command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
432 #command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
433
434 /*
435  * ns_status
436  *
437  * Provides the nickserv/status command.
438  *
439  * Used to determine if a user is recognized or identified by services.
440  */
441 module { name = "ns_status" }
442 command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
443
444 /*
445  * ns_suspend
446  *
447  * Provides the commands nickserv/suspend and nickserv/unsuspend.
448  *
449  * Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
450  */
451 module
452 {
453         name = "ns_suspend"
454
455         /*
456          * The length of time before a suspended nick becomes unsuspended.
457          *
458          * This directive is optional. If not set, the default is never.
459          */
460         #suspendexpire = 90d
461
462         /*
463          * Settings to show to non-opers in NickServ's INFO output.
464          * Comment to completely disable showing any information about
465          * suspended nicknames to non-opers.
466          */
467         show = "suspended, by, reason, on, expires"
468 }
469
470 command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
471 command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
472
473 /*
474  * ns_update
475  *
476  * Provides the command nickserv/update.
477  *
478  * Used to update your status on all channels, turn on your vHost, etc.
479  */
480 module { name = "ns_update" }
481 command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
482
483
484 /*
485  * Extra NickServ related modules.
486  */
487
488 /*
489  * ns_maxemail
490  *
491  * Limits how many times the same email address may be used in Anope
492  * to register accounts.
493  */
494 #module
495 {
496         name = "ns_maxemail"
497
498         /*
499          * The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
500          * commented, there will be no limit enforced when registering new accounts or using
501          * /msg NickServ SET EMAIL.
502          */
503         maxemails = 1
504 }