<?php
namespace Bot\Commands\AdminCommands;

use Longman\TelegramBot\Commands\AdminCommand;
use Longman\TelegramBot\Entities\ServerResponse;
use Longman\TelegramBot\Request;

class AdminhelpCommand extends AdminCommand
{
    protected $name = 'adminhelp';
    protected $description = 'List available admin commands';
    protected $usage = '/adminhelp';
    protected $version = '1.0.0';

    public static function getHelpMessage(): string
    {
        return "Admin commands:\n"
            . " /adminrates — Set or list buy/sell rates and fees\n"
            . " /adminpay — Manage payment methods and payout details\n"
            . " /adminorders — Review buy/sell orders, proofs, and ask questions\n"
            . " /adminusers — Search users, ban/unban, place holds, review history, credit/debit balances\n"
            . " /adminwithdraw — Approve, reject, or hold withdrawals\n"
            . " /adminreferral — Configure referral tiers, rewards, and points\n"
            . " /adminfree — Add/edit/remove FREE goods catalogue entries\n"
            . " /adminvirtualcard — Design the virtual card CTA text & buttons\n"
            . " /adminbroadcast — Send announcements to every user\n"
            . " /adminhelp — Show this list (or /admin help)";
    }

    public function execute(): ServerResponse
    {
        return Request::sendMessage([
            'chat_id' => $this->getMessage()->getChat()->getId(),
            'text'    => self::getHelpMessage(),
        ]);
    }
}
