]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Roleban command error handling (#35784)
authorErrant <35878406+Errant-4@users.noreply.github.com>
Wed, 12 Mar 2025 05:41:01 +0000 (06:41 +0100)
committerGitHub <noreply@github.com>
Wed, 12 Mar 2025 05:41:01 +0000 (22:41 -0700)
roleban command jobid fail handling

Content.Server/Administration/Commands/RoleBanCommand.cs

index 8b535977ee5c9b0acce645e5d876b7f3cbaf281e..68fbac03348de3ab101c959f04caa97ed01211a3 100644 (file)
@@ -7,6 +7,8 @@ using Content.Shared.Database;
 using Content.Shared.Roles;
 using Robust.Shared.Configuration;
 using Robust.Shared.Console;
+using Robust.Shared.Prototypes;
+
 namespace Content.Server.Administration.Commands;
 
 [AdminCommand(AdminFlags.Ban)]
@@ -15,6 +17,7 @@ public sealed class RoleBanCommand : IConsoleCommand
     [Dependency] private readonly IPlayerLocator _locator = default!;
     [Dependency] private readonly IBanManager _bans = default!;
     [Dependency] private readonly IConfigurationManager _cfg = default!;
+    [Dependency] private readonly IPrototypeManager _proto = default!;
 
     public string Command => "roleban";
     public string Description => Loc.GetString("cmd-roleban-desc");
@@ -76,6 +79,12 @@ public sealed class RoleBanCommand : IConsoleCommand
                 return;
         }
 
+        if (!_proto.HasIndex<JobPrototype>(job))
+        {
+            shell.WriteError(Loc.GetString("cmd-roleban-job-parse",("job", job)));
+            return;
+        }
+
         var located = await _locator.LookupIdByNameOrIdAsync(target);
         if (located == null)
         {