mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Merge pull request #1965 from RealKindOne/stripcontrols
stripcontrols: Use new On...Message events.
This commit is contained in:
@@ -20,35 +20,50 @@ class CStripControlsMod : public CModule {
|
||||
public:
|
||||
MODCONSTRUCTOR(CStripControlsMod) {}
|
||||
|
||||
EModRet OnPrivCTCP(CNick& Nick, CString& sMessage) override {
|
||||
sMessage.StripControls();
|
||||
EModRet OnChanCTCPMessage(CCTCPMessage& Message) override {
|
||||
Message.SetText(Message.GetText().StripControls_n());
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnChanCTCP(CNick& Nick, CChan& Channel,
|
||||
CString& sMessage) override {
|
||||
sMessage.StripControls();
|
||||
EModRet OnChanNoticeMessage(CNoticeMessage& Message) override {
|
||||
Message.SetText(Message.GetText().StripControls_n());
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnPrivNotice(CNick& Nick, CString& sMessage) override {
|
||||
sMessage.StripControls();
|
||||
EModRet OnChanTextMessage(CTextMessage& Message) override {
|
||||
Message.SetText(Message.GetText().StripControls_n());
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnChanNotice(CNick& Nick, CChan& Channel,
|
||||
CString& sMessage) override {
|
||||
sMessage.StripControls();
|
||||
EModRet OnPrivCTCPMessage(CCTCPMessage& Message) override {
|
||||
Message.SetText(Message.GetText().StripControls_n());
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnPrivMsg(CNick& Nick, CString& sMessage) override {
|
||||
sMessage.StripControls();
|
||||
EModRet OnPrivNoticeMessage(CNoticeMessage& Message) override {
|
||||
Message.SetText(Message.GetText().StripControls_n());
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnChanMsg(CNick& Nick, CChan& Channel, CString& sMessage) override {
|
||||
sMessage.StripControls();
|
||||
EModRet OnPrivTextMessage(CTextMessage& Message) override {
|
||||
Message.SetText(Message.GetText().StripControls_n());
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnTopicMessage(CTopicMessage& Message) override {
|
||||
Message.SetText(Message.GetText().StripControls_n());
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnNumericMessage(CNumericMessage& Message) override {
|
||||
// Strip topic from /list
|
||||
if (Message.GetCode() == 322) { // RPL_LIST
|
||||
Message.SetParam(3, Message.GetParam(3).StripControls_n());
|
||||
}
|
||||
// Strip topic when joining channel
|
||||
else if (Message.GetCode() == 332) { // RPL_TOPIC
|
||||
Message.SetParam(2, Message.GetParam(2).StripControls_n());
|
||||
}
|
||||
return CONTINUE;
|
||||
}
|
||||
};
|
||||
@@ -59,6 +74,7 @@ void TModInfo<CStripControlsMod>(CModInfo& Info) {
|
||||
Info.AddType(CModInfo::UserModule);
|
||||
}
|
||||
|
||||
NETWORKMODULEDEFS(CStripControlsMod,
|
||||
t_s("Strips control codes (Colors, Bold, ..) from channel "
|
||||
"and private messages."))
|
||||
NETWORKMODULEDEFS(
|
||||
CStripControlsMod,
|
||||
t_s("Strips control codes (Colors, Bold, ..) from channel "
|
||||
"and private messages."))
|
||||
|
||||
@@ -480,5 +480,57 @@ TEST_F(ZNCTest, SaslAuthExternal) {
|
||||
":irc.znc.in 904 nick :SASL authentication failed");
|
||||
}
|
||||
|
||||
TEST_F(ZNCTest, StripControlsModule) {
|
||||
auto znc = Run();
|
||||
auto ircd = ConnectIRCd();
|
||||
auto client = LoginClient();
|
||||
|
||||
client.Write("znc loadmod stripcontrols");
|
||||
client.ReadUntil("Loaded module");
|
||||
|
||||
ircd.Write(":server 001 nick :Hello");
|
||||
client.Write(":nick JOIN #test");
|
||||
ircd.ReadUntil("JOIN #test");
|
||||
|
||||
// OnChanCTCPMessage
|
||||
ircd.Write(":user!id@host PRIVMSG #test :\001\002bold\002 \003\034red\003 test\001");
|
||||
client.ReadUntil(":user!id@host PRIVMSG #test :\001bold red test\001");
|
||||
|
||||
// OnChanNoticeMessage
|
||||
ircd.Write(":user!id@host NOTICE #test :\002bold\002 \003\034red\003 test");
|
||||
client.ReadUntil(":user!id@host NOTICE #test :bold red test");
|
||||
|
||||
// OnChanTextMessage
|
||||
ircd.Write(":user!id@host PRIVMSG #test :\002bold\002 \003\034red\003 test");
|
||||
client.ReadUntil(":user!id@host PRIVMSG #test :bold red test");
|
||||
|
||||
// OnPrivCTCPMessage
|
||||
ircd.Write(":user!id@host PRIVMSG nick :\001\002bold\002 \003\034red\003 test\001");
|
||||
client.ReadUntil(":user!id@host PRIVMSG nick :\001bold red test\001");
|
||||
|
||||
// OnPrivNoticeMessage
|
||||
ircd.Write(":user!id@host NOTICE nick :\002bold\002 \003\034red\003 test");
|
||||
client.ReadUntil(":user!id@host NOTICE nick :bold red test");
|
||||
|
||||
// OnPrivTextMessage
|
||||
ircd.Write(":user!id@host PRIVMSG nick :\002bold\002 \003\034red\003 test");
|
||||
client.ReadUntil(":user!id@host PRIVMSG nick :bold red test");
|
||||
|
||||
// OnTopicMessage
|
||||
ircd.Write(":user!id@host TOPIC #test :\002bold\002 \003\034red\003 test");
|
||||
client.ReadUntil(":user!id@host TOPIC #test :bold red test");
|
||||
|
||||
// OnNumericMessage
|
||||
// Topic from joining channel.
|
||||
ircd.Write("332 nick #test :\002bold\002 \003\034red\003 test");
|
||||
client.ReadUntil("332 nick #test :bold red test");
|
||||
|
||||
// Topic from /list
|
||||
//ircd.Write("321 nick Channel :Users Name]");
|
||||
ircd.Write("322 nick #test 42 :\002bold\002 \003\034red\003 test");
|
||||
client.ReadUntil("322 nick #test 42 :bold red test");
|
||||
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace znc_inttest
|
||||
|
||||
Reference in New Issue
Block a user