diff options
| author | Adam <Adam@anope.org> | 2012-03-13 17:18:11 -0400 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2012-03-13 17:18:11 -0400 |
| commit | 053d6a22470062e8eee08c5522788f432d8146ab (patch) | |
| tree | ca12bcc9a8db8e883074f26916f28a0eb4953fd6 | |
| parent | beae4775cfd6692c30573a6e6ae4fa748d377fed (diff) | |
Add a nickserv:unregistered_notice config option to send a message to unregistered users on connect. Suggested by Cronus.
| -rw-r--r-- | data/nickserv.example.conf | 7 | ||||
| -rw-r--r-- | docs/Changes.conf | 1 | ||||
| -rw-r--r-- | include/config.h | 2 | ||||
| -rw-r--r-- | modules/pseudoclients/nickserv.cpp | 8 | ||||
| -rw-r--r-- | src/config.cpp | 1 |
5 files changed, 18 insertions, 1 deletions
diff --git a/data/nickserv.example.conf b/data/nickserv.example.conf index ed6be018c..8e84db4e8 100644 --- a/data/nickserv.example.conf +++ b/data/nickserv.example.conf @@ -88,6 +88,13 @@ nickserv 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 regsiter 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. diff --git a/docs/Changes.conf b/docs/Changes.conf index 51f8c92bd..f966a7d05 100644 --- a/docs/Changes.conf +++ b/docs/Changes.conf @@ -3,6 +3,7 @@ Anope Version 1.9.7 operserv:notifications removed in favor of log{} blocks options:regexengine added nickserv:registration added, emailregistration removed. +nickserv:unregistered_notice added Anope Version 1.9.6 ------------------- diff --git a/include/config.h b/include/config.h index 9daa56022..ef452e8e0 100644 --- a/include/config.h +++ b/include/config.h @@ -533,6 +533,8 @@ class CoreExport ServerConfig bool NSStrictPrivileges; /* Type of confirmation to use, or to disable registration completely */ Anope::string NSRegistration; + /* A message sent to unregistered users on connect */ + Anope::string NSUnregisteredNotice; /* Core NickServ modules */ Anope::string NickCoreModules; /* Set the proper channel modes on users when they identify */ diff --git a/modules/pseudoclients/nickserv.cpp b/modules/pseudoclients/nickserv.cpp index 8dff653a1..c73142bd0 100644 --- a/modules/pseudoclients/nickserv.cpp +++ b/modules/pseudoclients/nickserv.cpp @@ -197,7 +197,7 @@ class NickServCore : public Module throw ModuleException("No bot named " + Config->NickServ); Implementation i[] = { I_OnDelNick, I_OnDelCore, I_OnChangeCoreDisplay, I_OnNickIdentify, I_OnNickGroup, - I_OnNickUpdate, I_OnUserNickChange, I_OnPreHelp, I_OnPostHelp }; + I_OnNickUpdate, I_OnUserNickChange, I_OnPreHelp, I_OnPostHelp, I_OnUserConnect }; ModuleManager::Attach(i, this, sizeof(i) / sizeof(Implementation)); } @@ -350,6 +350,12 @@ class NickServCore : public Module "will result in, at minimum, loss of the abused\n" "nickname(s)."), Config->NickServ.c_str()); } + + void OnUserConnect(dynamic_reference<User> &u, bool &exempt) anope_override + { + if (!Config->NoNicknameOwnership && !Config->NSUnregisteredNotice.empty() && u) + u->SendMessage(NickServ, Config->NSUnregisteredNotice); + } }; MODULE_INIT(NickServCore) diff --git a/src/config.cpp b/src/config.cpp index 5093e9963..f597158ea 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -1160,6 +1160,7 @@ ConfigItems::ConfigItems(ServerConfig *conf) {"options", "regexengine", "", new ValueContainerString(&conf->RegexEngine), DT_STRING, NoValidation}, {"nickserv", "name", "", new ValueContainerString(&conf->NickServ), DT_STRING, NoValidation}, {"nickserv", "registration", "none", new ValueContainerString(&conf->NSRegistration), DT_STRING, ValidateNickServ}, + {"nickserv", "unregistered_notice", "", new ValueContainerString(&conf->NSUnregisteredNotice), DT_STRING, NoValidation}, {"nickserv", "forceemail", "no", new ValueContainerBool(&conf->NSForceEmail), DT_BOOLEAN, ValidateEmailReg}, {"nickserv", "confirmemailchanges", "no", new ValueContainerBool(&conf->NSConfirmEmailChanges), DT_BOOLEAN, NoValidation}, {"nickserv", "defaults", "secure memosignon memoreceive", new ValueContainerString(&NSDefaults), DT_STRING, NoValidation}, |
