mirror of
https://github.com/znc/znc.git
synced 2026-08-06 17:03:14 +02:00
stripcontrols: Use new On...Message events.
Added OnTopicMessage and stripping for /list and /topic output. Fixes #1179
This commit is contained in:
+33
-17
@@ -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."))
|
||||
|
||||
Reference in New Issue
Block a user