diff options
| author | Sadie Powell <sadie@witchery.services> | 2024-03-12 16:50:30 +0000 |
|---|---|---|
| committer | Sadie Powell <sadie@witchery.services> | 2024-03-12 16:50:30 +0000 |
| commit | b8cd00b4122b7a243a2071268f2d395808782472 (patch) | |
| tree | 4b821af9a8a9969a97f4ded5b995228937ac851d /modules/nickserv | |
| parent | b52e1b2b02c73195740ca836e21faeff281a36c2 (diff) | |
| parent | f4bd43e898e6ca415e22546f554e67139e62059e (diff) | |
Merge branch '2.0' into 2.1.
Diffstat (limited to 'modules/nickserv')
| -rw-r--r-- | modules/nickserv/ns_suspend.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/modules/nickserv/ns_suspend.cpp b/modules/nickserv/ns_suspend.cpp index 8ce2806ca..fc5b6758a 100644 --- a/modules/nickserv/ns_suspend.cpp +++ b/modules/nickserv/ns_suspend.cpp @@ -225,6 +225,12 @@ class NSSuspend final return source.IsOper() || std::find(show.begin(), show.end(), what) != show.end(); } + void Expire(NickAlias *na) + { + suspend.Unset(na->nc); + Log(LOG_NORMAL, "nickserv/expire", Config->GetClient("NickServ")) << "Expiring suspend for " << na->nick; + } + public: NSSuspend(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, VENDOR), commandnssuspend(this), commandnsunsuspend(this), suspend(this, "NS_SUSPENDED"), @@ -265,15 +271,10 @@ public: expire = false; - if (!s->expires) - return; - - if (s->expires < Anope::CurTime) + if (!Anope::NoExpire && s->expires && s->expires < Anope::CurTime) { na->last_seen = Anope::CurTime; - suspend.Unset(na->nc); - - Log(LOG_NORMAL, "nickserv/expire", Config->GetClient("NickServ")) << "Expiring suspend for " << na->nick; + Expire(na); } } @@ -283,6 +284,12 @@ public: if (!s) return EVENT_CONTINUE; + if (!Anope::NoExpire && s->expires && s->expires < Anope::CurTime) + { + Expire(na); + return EVENT_CONTINUE; + } + u->SendMessage(Config->GetClient("NickServ"), NICK_X_SUSPENDED, u->nick.c_str()); return EVENT_STOP; } |
