summaryrefslogtreecommitdiff
path: root/modules/pseudoclients/nickserv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/pseudoclients/nickserv.cpp')
-rw-r--r--modules/pseudoclients/nickserv.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/modules/pseudoclients/nickserv.cpp b/modules/pseudoclients/nickserv.cpp
index deb5cea33..0c314e500 100644
--- a/modules/pseudoclients/nickserv.cpp
+++ b/modules/pseudoclients/nickserv.cpp
@@ -201,6 +201,10 @@ class NickServCore : public Module, public NickServService
NickAlias *na = NickAlias::Find(u->nick);
if (na && *na->nc == u->Account() && !Config->GetModule("nickserv")->Get<bool>("nonicknameownership") && !na->nc->HasExt("UNCONFIRMED"))
u->SetMode(NickServ, "REGISTERED");
+
+ const Anope::string &modesonid = Config->GetModule(this)->Get<Anope::string>("modesonid");
+ if (!modesonid.empty())
+ u->SetModes(NickServ, "%s", modesonid.c_str());
}
void Collide(User *u, NickAlias *na) anope_override
@@ -366,7 +370,7 @@ class NickServCore : public Module, public NickServService
const NickAlias *na = NickAlias::Find(u->nick);
const Anope::string &unregistered_notice = Config->GetModule(this)->Get<const Anope::string>("unregistered_notice");
- if (!Config->GetModule("nickserv")->Get<bool>("nonicknameownership") && !unregistered_notice.empty() && !na)
+ if (!Config->GetModule("nickserv")->Get<bool>("nonicknameownership") && !unregistered_notice.empty() && !na && !u->Account())
u->SendMessage(NickServ, unregistered_notice);
else if (na && !u->IsIdentified(true))
this->Validate(u);