server-master/srcs/_plugins/WingsEmu.Plugins.Essentials/Administrator/AdministratorCooldownModule.cs
2026-02-10 18:21:30 +01:00

31 lines
No EOL
1.1 KiB
C#

using System.Threading.Tasks;
using Qmmands;
using WingsEmu.Commands.Checks;
using WingsEmu.Commands.Entities;
using WingsEmu.DTOs.Account;
using WingsEmu.Game.Families;
using WingsEmu.Game.Networking;
namespace WingsEmu.Plugins.Essentials.Administrator;
[Name("Admin-Cooldown-Module")]
[Description("Module related to Administrator commands for hours/days cooldowns")]
[RequireAuthority(AuthorityType.GameAdmin)]
public class AdministratorCooldownModule : SaltyModuleBase
{
private readonly IFamilyManager _familyManager;
public AdministratorCooldownModule(IFamilyManager familyManager) => _familyManager = familyManager;
[Command("family-cooldown")]
[Description("Remove family join cooldown")]
public async Task<SaltyCommandResult> FamilyCooldownAsync(IClientSession target)
{
if (!await _familyManager.RemovePlayerJoinCooldownAsync(target.PlayerEntity.Id))
{
return new SaltyCommandResult(false, "Player didn't had family any cooldown.");
}
return new SaltyCommandResult(true, $"Family join cooldown has been removed from {target.PlayerEntity.Name}");
}
}