Use module names as the module ident.

Some clients will reuse query windows as the client thinks its just a
nick change if you have a existing query window with a module and a different one messages you.

Fix that by using the modules name as the ident.

Update tests to match new modules ident.
This commit is contained in:
KindOne
2023-09-08 07:21:31 -04:00
parent 41032f8955
commit ee9ad2ff8e
5 changed files with 22 additions and 18 deletions

View File

@@ -609,11 +609,13 @@ void CClient::PutModNotice(const CString& sModule, const CString& sLine) {
DEBUG("(" << GetFullName()
<< ") ZNC -> CLI [:" + m_pUser->GetStatusPrefix() +
((sModule.empty()) ? "status" : sModule) + "!" +
((sModule.empty()) ? "status" : sModule) +
"!znc@znc.in NOTICE " << GetNick() << " :" << sLine
<< "]");
"@znc.in NOTICE "
<< GetNick() << " :" << sLine << "]");
Write(":" + m_pUser->GetStatusPrefix() +
((sModule.empty()) ? "status" : sModule) + "!znc@znc.in NOTICE " +
((sModule.empty()) ? "status" : sModule) + "!" +
((sModule.empty()) ? "status" : sModule) + "@znc.in NOTICE " +
GetNick() + " :" + sLine + "\r\n");
}
@@ -624,16 +626,18 @@ void CClient::PutModule(const CString& sModule, const CString& sLine) {
DEBUG("(" << GetFullName()
<< ") ZNC -> CLI [:" + m_pUser->GetStatusPrefix() +
((sModule.empty()) ? "status" : sModule) + "!" +
((sModule.empty()) ? "status" : sModule) +
"!znc@znc.in PRIVMSG " << GetNick() << " :" << sLine
<< "]");
"@znc.in PRIVMSG "
<< GetNick() << " :" << sLine << "]");
VCString vsLines;
sLine.Split("\n", vsLines);
for (const CString& s : vsLines) {
Write(":" + m_pUser->GetStatusPrefix() +
((sModule.empty()) ? "status" : sModule) +
"!znc@znc.in PRIVMSG " + GetNick() + " :" + s + "\r\n");
((sModule.empty()) ? "status" : sModule) + "!" +
((sModule.empty()) ? "status" : sModule) + "@znc.in PRIVMSG " +
GetNick() + " :" + s + "\r\n");
}
}