Add support for an optional user-specified quit message to the DISCONNECT command that would be used instead of the message specified in the config file.

Patch by reed! Thanks!


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1926 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
cflakes
2010-04-23 09:09:07 +00:00
parent 6824e3e269
commit fd2677611a
3 changed files with 7 additions and 4 deletions
+3 -1
View File
@@ -249,7 +249,8 @@ void CClient::UserCommand(CString& sLine) {
// to the IRC server was established. Before this we can
// only find the IRC socket by its name.
if (GetIRCSock()) {
GetIRCSock()->Quit();
CString sQuitMsg = sLine.Token(1, true);
GetIRCSock()->Quit(sQuitMsg);
} else {
Csock* pIRCSock;
CString sSockName = "IRC::" + m_pUser->GetUserName();
@@ -1190,6 +1191,7 @@ void CClient::HelpUser() {
Table.AddRow();
Table.SetCell("Command", "Disconnect");
Table.SetCell("Arguments", "[message]");
Table.SetCell("Description", "Disconnect from IRC");
Table.AddRow();
+3 -2
View File
@@ -63,8 +63,9 @@ CIRCSock::~CIRCSock() {
GetUser()->AddBytesWritten(GetBytesWritten());
}
void CIRCSock::Quit() {
PutIRC("QUIT :" + m_pUser->GetQuitMsg());
void CIRCSock::Quit(const CString& sQuitMsg) {
CString sMsg = (!sQuitMsg.empty()) ? sQuitMsg : m_pUser->GetQuitMsg();
PutIRC("QUIT :" + sMsg);
Close(CLT_AFTERWRITE);
}
+1 -1
View File
@@ -51,7 +51,7 @@ public:
void PutIRC(const CString& sLine);
void ResetChans();
void Quit();
void Quit(const CString& sQuitMsg = "");
// Setters
void SetPass(const CString& s) { m_sPass = s; }