aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_ircv3.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2023-08-04 13:09:06 +0100
committerGravatar Sadie Powell2023-08-04 13:14:49 +0100
commit635feb1a9a3ece8f06e1ad620b7b5a1eb21f8a44 (patch)
treead84709d188e70bf3e8aab74d85c59e40a711e12 /src/modules/m_ircv3.cpp
parentFix 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.cpp10
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);
}
};