diff options
| author | 2023-02-03 09:26:31 +0000 | |
|---|---|---|
| committer | 2023-02-03 09:26:31 +0000 | |
| commit | e64ace4c8279084a7d168ee1f9e50156b93fa2c7 (patch) | |
| tree | 4630a6b5295c549e4974ced5a651febaf0ce2481 /src/modules | |
| parent | Allow bouncers to introduce a user as away. (diff) | |
Expose the removed away message in OnUserBack.
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/m_ircv3.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/away.cpp | 3 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/main.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/main.h | 2 | ||||
| -rw-r--r-- | src/modules/m_watch.cpp | 2 |
5 files changed, 6 insertions, 5 deletions
diff --git a/src/modules/m_ircv3.cpp b/src/modules/m_ircv3.cpp index e5c7908fe..dddb24140 100644 --- a/src/modules/m_ircv3.cpp +++ b/src/modules/m_ircv3.cpp @@ -175,7 +175,7 @@ public: Monitor::WriteWatchersWithCap(monitorapi, user, awayevent, joinhook.awaycap, res.GetAlreadySentId()); } - void OnUserBack(User* user) override + void OnUserBack(User* user, const std::string& message) override { // Back from away: n!u@h AWAY OnUserAway(user); diff --git a/src/modules/m_spanningtree/away.cpp b/src/modules/m_spanningtree/away.cpp index f3ab58a49..edb59b21d 100644 --- a/src/modules/m_spanningtree/away.cpp +++ b/src/modules/m_spanningtree/away.cpp @@ -42,9 +42,10 @@ CmdResult CommandAway::HandleRemote(::RemoteUser* u, Params& params) } else { + const std::string awaymsg = u->awaymsg; u->awaytime = 0; u->awaymsg.clear(); - awayevprov.Call(&Away::EventListener::OnUserBack, u); + awayevprov.Call(&Away::EventListener::OnUserBack, u, awaymsg); } return CmdResult::SUCCESS; } diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index 1e94385d5..3f5885297 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -819,7 +819,7 @@ void ModuleSpanningTree::OnUserAway(User* user) CommandAway::Builder(user).Broadcast(); } -void ModuleSpanningTree::OnUserBack(User* user) +void ModuleSpanningTree::OnUserBack(User* user, const std::string& message) { OnUserAway(user); } diff --git a/src/modules/m_spanningtree/main.h b/src/modules/m_spanningtree/main.h index e51687992..dcf09e629 100644 --- a/src/modules/m_spanningtree/main.h +++ b/src/modules/m_spanningtree/main.h @@ -201,7 +201,7 @@ public: void OnDelLine(User* u, XLine* x) override; ModResult OnStats(Stats::Context& stats) override; void OnUserAway(User* user) override; - void OnUserBack(User* user) override; + void OnUserBack(User* user, const std::string& message) override; void OnLoadModule(Module* mod) override; void OnUnloadModule(Module* mod) override; ModResult OnAcceptConnection(int newsock, ListenSocket* from, const irc::sockets::sockaddrs& client, const irc::sockets::sockaddrs& server) override; diff --git a/src/modules/m_watch.cpp b/src/modules/m_watch.cpp index 43c2d1c85..bf35580d8 100644 --- a/src/modules/m_watch.cpp +++ b/src/modules/m_watch.cpp @@ -250,7 +250,7 @@ public: SendAlert(user, user->nick, RPL_GONEAWAY, user->awaymsg.c_str(), user->awaytime); } - void OnUserBack(User* user) override + void OnUserBack(User* user, const std::string& message) override { SendAlert(user, user->nick, RPL_NOTAWAY, "is no longer away", ServerInstance->Time()); } |
