namespace Supercell.Laser.Bot.Bot.Commands { using Supercell.Laser.Bot; /// /// Гемы (в коде сервера — ClientAvatar.Diamonds): выдать, забрать, посмотреть количество. /// Здесь только тексты и обращение к серверу; сам сценарий шагов — в ResourceCommand. /// public sealed class GemsCommand : ResourceCommand { public static readonly GemsCommand Instance = new(); private GemsCommand() { } protected override string Key => "gems"; public override string MenuButtonText => "💎 Гемы"; protected override string ActionsText => "Выберите действие с гемами:"; protected override string GiveButtonText => "💎 Выдать гемы"; protected override string TakeButtonText => "🪓 Забрать гемы"; protected override string ViewButtonText => "🔮 Посмотреть количество гемов"; protected override string GiveAmountText(PlayerInfo player) { return $"✅ Тэг: {Tag(player)}\n" + $"👤 Ник: {Nick(player)}\n" + $"💎Текущий баланс гемов: {player.Gems}\n\n" + "Введите количество гемов, которое нужно выдать:"; } protected override string TakeAmountText(PlayerInfo player) { return $"✅ Тэг: {Tag(player)}\n" + $"👤 Ник: {Nick(player)}\n" + $"💎Текущий баланс гемов: {player.Gems}\n\n" + "Введите количество гемов, которое нужно забрать:"; } protected override string ViewText(PlayerInfo player) { return $"👤 Никнейм: {Nick(player)}\n" + $"✏️ Тэг: {Tag(player)}\n" + $"💎 Кол-во гемов: {player.Gems}"; } protected override string GiveResultText(ResourceChange change) { return "✅ Гемы начислены\n\n" + $"✅ Тэг: {Tag(change.Player)}\n" + $"👤 Ник: {Nick(change.Player)}\n" + $"💰 Старый баланс гемов: {change.OldValue}\n" + $"💎Текущий баланс гемов: {change.NewValue}"; } protected override string TakeResultText(ResourceChange change) { return $"👤 Никнейм: {Nick(change.Player)}\n" + $"✏️ Тэг: {Tag(change.Player)}\n" + $"💰 Старый баланс: {change.OldValue}\n" + $"🪓 Забрано гемов: {change.Applied}\n\n" + $"💎 Новый баланс гемов: {change.NewValue}"; } protected override ResourceChange Change(long accountId, int delta) { return Start.ChangeGems(accountId, delta); } } }