diff options
| author | 2025-01-17 16:45:15 +0000 | |
|---|---|---|
| committer | 2025-01-17 17:27:24 +0000 | |
| commit | 6cb0f8a6d1683877485d06250f0966c7e42cfa9c (patch) | |
| tree | d8e607e9e0b27940e503e4ddfb250d27e9778cc8 /src/modules/m_rline.cpp | |
| parent | Run irctest on AArch64. (diff) | |
Make the length optional in when adding a [EGKQRZ]-line.
The shun module already behaves like this but the docs were not
correct.
Diffstat (limited to 'src/modules/m_rline.cpp')
| -rw-r--r-- | src/modules/m_rline.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
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 = { "<regex> [<duration> :<reason>]" }; + syntax = { "<regex> [[<duration>] :<reason>]" }; } CmdResult Handle(User* user, const Params& parameters) override { - if (parameters.size() >= 3) + if (parameters.size() > 1) { // Adding - XXX todo make this respect <insane> 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(); |
