aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Sadie Powell2023-02-03 09:26:31 +0000
committerGravatar Sadie Powell2023-02-03 09:26:31 +0000
commite64ace4c8279084a7d168ee1f9e50156b93fa2c7 (patch)
tree4630a6b5295c549e4974ced5a651febaf0ce2481 /src/modules
parentAllow 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.cpp2
-rw-r--r--src/modules/m_spanningtree/away.cpp3
-rw-r--r--src/modules/m_spanningtree/main.cpp2
-rw-r--r--src/modules/m_spanningtree/main.h2
-rw-r--r--src/modules/m_watch.cpp2
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());
}