diff --git a/modules/nickserv.cpp b/modules/nickserv.cpp index 544bfb88..bdd19872 100644 --- a/modules/nickserv.cpp +++ b/modules/nickserv.cpp @@ -128,13 +128,13 @@ class CNickServ : public CModule { } } - EModRet OnPrivMsg(CNick& Nick, CString& sMessage) override { - HandleMessage(Nick, sMessage); + EModRet OnPrivTextMessage(CTextMessage& Message) override { + HandleMessage(Message.GetNick(), Message.GetText()); return CONTINUE; } - EModRet OnPrivNotice(CNick& Nick, CString& sMessage) override { - HandleMessage(Nick, sMessage); + EModRet OnPrivNoticeMessage(CNoticeMessage& Message) override { + HandleMessage(Message.GetNick(), Message.GetText()); return CONTINUE; } }; diff --git a/test/integration/tests/modules.cpp b/test/integration/tests/modules.cpp index 1c9eb498..573694be 100644 --- a/test/integration/tests/modules.cpp +++ b/test/integration/tests/modules.cpp @@ -928,5 +928,34 @@ TEST_F(ZNCTest, KickRejoinModule) { ircd.ReadUntil("JOIN #test"); } +TEST_F(ZNCTest, NickServModule) { + auto znc = Run(); + auto ircd = ConnectIRCd(); + auto client = LoginClient(); + + client.Write("znc loadmod nickserv"); + client.ReadUntil("Loaded module"); + + client.Write("PRIVMSG *nickserv :set hunter2"); + client.ReadUntil("Password set"); + + ircd.Write(":server 001 nick :Hello"); + + // OnPrivNoticeMessage + ircd.Write( + ":NickServ!services@network NOTICE nick :This nickname is registered. " + "Please choose a different nickname, or identify via /msg NickServ " + "identify ."); + ircd.ReadUntil("NICKSERV IDENTIFY hunter2"); + + // OnPrivTextMessage + ircd.Write( + ":NickServ!services@network PRIVMSG nick :This nickname is registered. " + "Please choose a different nickname, or identify via /msg NickServ " + "identify ."); + ircd.ReadUntil("NICKSERV IDENTIFY hunter2"); +} + + } // namespace } // namespace znc_inttest