namespace Supercell.Laser.Bot.Bot.Commands { using Supercell.Laser.Bot; /// /// Монеты (в коде сервера — ClientAvatar.Gold): выдать, забрать, посмотреть количество. /// Полный аналог GemsCommand, отличаются только тексты и вызываемый метод сервера. /// public sealed class GoldCommand : ResourceCommand { public static readonly GoldCommand Instance = new(); private GoldCommand() { } protected override string Key => "gold"; 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.Gold}\n\n" + "Введите количество монет, которое нужно выдать:"; } protected override string TakeAmountText(PlayerInfo player) { return $"✅ Тэг: {Tag(player)}\n" + $"👤 Ник: {Nick(player)}\n" + $"🧸 Текущий баланс монет: {player.Gold}\n\n" + "Введите количество монет, которое нужно забрать:"; } protected override string ViewText(PlayerInfo player) { return $"👤 Никнейм: {Nick(player)}\n" + $"✏️ Тэг: {Tag(player)}\n" + $"🧸 Кол-во монет: {player.Gold}"; } 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.ChangeGold(accountId, delta); } } }