PromoteHostCommand.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. using Content.Server.Administration.Managers;
  2. using JetBrains.Annotations;
  3. using Robust.Server.Player;
  4. using Robust.Shared.Console;
  5. namespace Content.Server.Administration.Commands
  6. {
  7. [UsedImplicitly]
  8. public sealed class PromoteHostCommand : IConsoleCommand
  9. {
  10. public string Command => "promotehost";
  11. public string Description => "Grants client temporary full host admin privileges. Use this to bootstrap admins.";
  12. public string Help => "Usage promotehost <player>";
  13. public void Execute(IConsoleShell shell, string argStr, string[] args)
  14. {
  15. if (args.Length != 1)
  16. {
  17. shell.WriteLine("Expected exactly one argument.");
  18. return;
  19. }
  20. var plyMgr = IoCManager.Resolve<IPlayerManager>();
  21. if (!plyMgr.TryGetSessionByUsername(args[0], out var targetPlayer))
  22. {
  23. shell.WriteLine("Unable to find a player by that name.");
  24. return;
  25. }
  26. var adminMgr = IoCManager.Resolve<IAdminManager>();
  27. adminMgr.PromoteHost(targetPlayer);
  28. }
  29. }
  30. }