diff options
| author | 2023-08-04 13:09:06 +0100 | |
|---|---|---|
| committer | 2023-08-04 13:14:49 +0100 | |
| commit | 635feb1a9a3ece8f06e1ad620b7b5a1eb21f8a44 (patch) | |
| tree | ad84709d188e70bf3e8aab74d85c59e40a711e12 /src/modules/m_ircv3.cpp | |
| parent | Fix an inverted condition in the DNSBL module. (diff) | |
Rework how away state is stored internally.
This will be necessary for implementing pre-away as well as some
changes for WATCH compatibility with Unreal.
Diffstat (limited to 'src/modules/m_ircv3.cpp')
| -rw-r--r-- | src/modules/m_ircv3.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/modules/m_ircv3.cpp b/src/modules/m_ircv3.cpp index 7d5382d33..4ff94ea6d 100644 --- a/src/modules/m_ircv3.cpp +++ b/src/modules/m_ircv3.cpp @@ -34,7 +34,7 @@ public: AwayMessage(User* user) : ClientProtocol::Message("AWAY", user) { - SetParams(user, user->awaymsg); + SetParams(user, user->away->message); } AwayMessage() @@ -101,7 +101,7 @@ public: if ((memb->user->IsAway()) && (awaycap.IsActive())) { awaymsg.SetSource(join); - awaymsg.SetParams(memb->user, memb->user->awaymsg); + awaymsg.SetParams(memb->user, memb->user->away->message); } } @@ -166,7 +166,7 @@ public: Monitor::WriteWatchersWithCap(monitorapi, user, accountevent, cap_accountnotify, res.GetAlreadySentId()); } - void OnUserAway(User* user) override + void OnUserAway(User* user, const std::optional<AwayState>& prevstate) override { if (!joinhook.awaycap.IsActive()) return; @@ -178,10 +178,10 @@ public: Monitor::WriteWatchersWithCap(monitorapi, user, awayevent, joinhook.awaycap, res.GetAlreadySentId()); } - void OnUserBack(User* user, const std::string& message) override + void OnUserBack(User* user, const std::optional<AwayState>& prevstate) override { // Back from away: n!u@h AWAY - OnUserAway(user); + OnUserAway(user, prevstate); } }; |
