From 6cb0f8a6d1683877485d06250f0966c7e42cfa9c Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Fri, 17 Jan 2025 16:45:15 +0000 Subject: Make the length optional in when adding a [EGKQRZ]-line. The shun module already behaves like this but the docs were not correct. --- src/modules/m_rline.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/modules/m_rline.cpp') diff --git a/src/modules/m_rline.cpp b/src/modules/m_rline.cpp index 226e974c9..476419a02 100644 --- a/src/modules/m_rline.cpp +++ b/src/modules/m_rline.cpp @@ -143,18 +143,18 @@ public: , factory(rlf) { access_needed = CmdAccess::OPERATOR; - syntax = { " [ :]" }; + syntax = { " [[] :]" }; } CmdResult Handle(User* user, const Params& parameters) override { - if (parameters.size() >= 3) + if (parameters.size() > 1) { // Adding - XXX todo make this respect tag perhaps.. - unsigned long duration; - if (!Duration::TryFrom(parameters[1], duration)) + unsigned long duration = 0; + if (parameters.size() > 2 && !Duration::TryFrom(parameters[1], duration)) { user->WriteNotice("*** Invalid duration for R-line."); return CmdResult::FAILURE; @@ -163,7 +163,7 @@ public: try { - r = factory.Generate(ServerInstance->Time(), duration, user->nick, parameters[2], parameters[0]); + r = factory.Generate(ServerInstance->Time(), duration, user->nick, parameters.back(), parameters[0]); } catch (const ModuleException& e) { @@ -176,13 +176,13 @@ public: { if (!duration) { - ServerInstance->SNO.WriteToSnoMask('x', "{} added a permanent R-line on {}: {}", user->nick, parameters[0], parameters[2]); + ServerInstance->SNO.WriteToSnoMask('x', "{} added a permanent R-line on {}: {}", + user->nick, parameters[0], r->reason); } else { ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed R-line on {}, expires in {} (on {}): {}", - user->nick, parameters[0], Duration::ToString(duration), - Time::FromNow(duration), parameters[2]); + user->nick, parameters[0], Duration::ToString(duration), Time::FromNow(duration), r->reason); } ServerInstance->XLines->ApplyLines(); -- cgit v1.3.1-10-gc9f91