-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## Описание PR <!-- Что вы изменили в этом пулл реквесте? --> Команда на тихий кик пользователя, аналог в покарашках только командой ## Требования <!-- В связи с наплывом ПР'ов нам необходимо убедиться, что ПР'ы следуют правильным рекомендациям. Пожалуйста, уделите время прочтению, если делаете пулл реквест (ПР) впервые. Отметьте поля ниже, чтобы подтвердить, что Вы действительно видели их (поставьте X в скобках, например [X]): --> - [x] Я прочитал(а) и следую [Руководство по созданию пулл реквестов](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html). Я понимаю, что в противном случае мой ПР может быть закрыт по усмотрению мейнтейнера. - [x] Я добавил скриншоты/видео к этому пулл реквесту, демонстрирующие его изменения в игре, **или** этот пулл реквест не требует демонстрации в игре **Чейнджлог** ### NO CL. NO FUN
- Loading branch information
1 parent
629a0ac
commit 474062b
Showing
3 changed files
with
64 additions
and
2 deletions.
There are no files selected for viewing
56 changes: 56 additions & 0 deletions
56
Content.Server/ADT/Administration/Commands/KickHideCommand.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
using System.Linq; | ||
using Content.Shared.Administration; | ||
using Robust.Server.Player; | ||
using Robust.Shared.Console; | ||
using Content.Server.GhostKick; | ||
using Serilog; | ||
using Robust.Shared.Player; | ||
|
||
namespace Content.Server.Administration.Commands; | ||
|
||
// Команда для тихого кика | ||
// Автор: Discord: schrodinger71 | ||
// Данная команда предназначена для глав проекта "Время Приключений" и позволяет тихо какать разрывая соединение пользователя. | ||
[AdminCommand(AdminFlags.Permissions)] | ||
public sealed class KickHideCommand : LocalizedCommands | ||
{ | ||
[Dependency] private readonly IPlayerLocator _locator = default!; | ||
[Dependency] private readonly IPlayerManager _playerManager = default!; | ||
[Dependency] private readonly GhostKickManager _ghostKickManager = default!; | ||
|
||
public override string Command => "kick_hide"; | ||
|
||
public override async void Execute(IConsoleShell shell, string argStr, string[] args) | ||
{ | ||
if (args.Length == 0) | ||
{ | ||
shell.WriteError("cmd-kick_hide-error-arg"); | ||
return; | ||
} | ||
|
||
var target = args[0]; | ||
var located = await _locator.LookupIdByNameOrIdAsync(target); | ||
|
||
if (located == null) | ||
{ | ||
shell.WriteError(Loc.GetString("cmd-kick_hide-player")); | ||
return; | ||
} | ||
|
||
var targetSession = _playerManager.GetSessionById(located.UserId); | ||
_ghostKickManager.DoDisconnect(targetSession.Channel, "Smitten."); | ||
} | ||
|
||
public override CompletionResult GetCompletion(IConsoleShell shell, string[] args) | ||
{ | ||
if (args.Length == 1) | ||
{ | ||
var options = _playerManager.Sessions.Select(c => c.Name).OrderBy(c => c).ToArray(); | ||
return CompletionResult.FromHintOptions( | ||
options, | ||
LocalizationManager.GetString("cmd-ban-hint")); | ||
} | ||
|
||
return CompletionResult.Empty; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
cmd-banmass-desc = Банит сразу нескольких игроков по никнейму или ID. | ||
cmd-banmass-help = Использование: banmass "Причина" <время> name1 name2 name3.. Время - продолжительность в минутах, 0 для пермабана. | ||
cmd-kick_hide-desc = Тихо кикает пользователя разрывая соединение. | ||
cmd-kick_hide-help = Использование: kick_hide <nickname> | ||
cmd-kick_hide-player = Сессия игрока не найдена. | ||
cmd-kick_hide-error-arg = Не указан аргумент для команды. | ||
This file was deleted.
Oops, something went wrong.