Handle more messages in partyline

partyline channels now also know about notices, /me and ctcp.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1758 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
psychon
2010-02-18 12:09:23 +00:00
parent 58da8b6a25
commit 4dfb43ca92
+23 -3
View File
@@ -365,7 +365,7 @@ public:
}
}
virtual EModRet OnUserMsg(CString& sTarget, CString& sMessage) {
virtual EModRet HandleMessage(const CString& sCmd, const CString& sTarget, const CString& sMessage) {
if (sTarget.empty()) {
return CONTINUE;
}
@@ -388,13 +388,13 @@ public:
return HALT;
}
PutChan(sTarget, ":?" + m_pUser->GetUserName() + "!" + m_pUser->GetIdent() + "@" + sHost + " PRIVMSG " + sTarget + " :" + sMessage, true, false);
PutChan(sTarget, ":?" + m_pUser->GetUserName() + "!" + m_pUser->GetIdent() + "@" + sHost + " " + sCmd + " " + sTarget + " :" + sMessage, true, false);
} else {
CString sNick = sTarget.LeftChomp_n(1);
CUser* pUser = CZNC::Get().FindUser(sNick);
if (pUser) {
pUser->PutUser(":?" + m_pUser->GetUserName() + "!" + m_pUser->GetIdent() + "@" + sHost + " PRIVMSG " + pUser->GetIRCNick().GetNick() + " :" + sMessage);
pUser->PutUser(":?" + m_pUser->GetUserName() + "!" + m_pUser->GetIdent() + "@" + sHost + " " + sCmd + " " + pUser->GetIRCNick().GetNick() + " :" + sMessage);
} else {
m_pClient->PutClient(":" + GetIRCServer(m_pUser) + " 403 " + m_pUser->GetIRCNick().GetNick() + " " + sTarget + " :No such znc user: " + sNick + "");
}
@@ -403,6 +403,26 @@ public:
return HALT;
}
virtual EModRet OnUserMsg(CString& sTarget, CString& sMessage) {
return HandleMessage("PRIVMSG", sTarget, sMessage);
}
virtual EModRet OnUserNotice(CString& sTarget, CString& sMessage) {
return HandleMessage("NOTICE", sTarget, sMessage);
}
virtual EModRet OnUserAction(CString& sTarget, CString& sMessage) {
return HandleMessage("PRIVMSG", sTarget, "\001ACTION " + sMessage + "\001");
}
virtual EModRet OnUserCTCP(CString& sTarget, CString& sMessage) {
return HandleMessage("PRIVMSG", sTarget, "\001" + sMessage + "\001");
}
virtual EModRet OnUserCTCPReply(CString& sTarget, CString& sMessage) {
return HandleMessage("NOTICE", sTarget, "\001" + sMessage + "\001");
}
virtual void OnModCommand(const CString& sLine) {
CString sCommand = sLine.Token(0);