From e493c232431406452af0eb6d0a55e41134ded81e Mon Sep 17 00:00:00 2001 From: psychon Date: Sun, 14 Dec 2008 20:27:36 +0000 Subject: [PATCH] awaynick: Set awaynick on connect, not some time after that git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1291 726aef4b-f618-498e-8847-2d620e286838 --- modules/awaynick.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/awaynick.cpp b/modules/awaynick.cpp index 9a97ac86..38dc771a 100644 --- a/modules/awaynick.cpp +++ b/modules/awaynick.cpp @@ -83,10 +83,19 @@ public: } } - virtual void OnIRCConnected() { + virtual EModRet OnIRCRegistration(CString& sPass, CString& sNick, + CString& sIdent, CString& sRealName) { if (m_pUser && !m_pUser->IsUserAttached()) { - StartAwayNickTimer(); + CString sAwayNick = m_sFormat; + + // ExpandString doesn't know our nick yet, so do it by hand. + sAwayNick.Replace("%nick%", sNick); + + // We don't limit this to NICKLEN, because we dont know + // NICKLEN yet. + sNick = m_pUser->ExpandString(sAwayNick); } + return CONTINUE; } virtual void OnIRCDisconnected() {