Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Улучшение: скрипта покупки TGR и файла tobot.php #1

Open
MoneyTegro opened this issue Jul 9, 2023 · 0 comments

Comments

@MoneyTegro
Copy link
Contributor

Ваш код уже вполне аккуратен, но я могу предложить некоторые улучшения для большей гибкости и читаемости.

<?php

class TegroMoneyBot
{
    private $shopId;
    private $secretKey;
    private $minLimit;
    private $maxLimit;
    private $link;
    private $chatId;

    public function __construct(string $shopId, string $secretKey, int $minLimit, int $maxLimit)
    {
        $this->shopId = $shopId;
        $this->secretKey = $secretKey;
        $this->minLimit = $minLimit;
        $this->maxLimit = $maxLimit;
    }

    public function processSum(array $data): void
    {
        $this->chatId = $data['message']['chat']['id'];
        $sumTGR = trim(intval($data['message']['text']));

        if ($sumTGR < $this->minLimit) {
            $this->sendMessage("❌ Ошибка! Минимальная сумма для покупки TRG: {$this->minLimit}. Повторите попытку.");
        } elseif ($sumTGR > $this->maxLimit) {
            $this->sendMessage("❌ Ошибка! Максимальная сумма для покупки TRG: {$this->maxLimit}. Повторите попытку.");
        } else {
            // Your code for handling the correct sum goes here.
        }
    }

    private function sendMessage(string $text): void
    {
        $response = [
            'chat_id' => $this->chatId,
            'text' => $text,
            'parse_mode' => 'HTML'
        ];

        sendit($response, 'sendMessage');
    }

    // More methods here...
}

$tegromoneyShopId = "XXXXXXXXXXXXXXX"; // ID магазина на tegro.money
$tegromoneySecretKey = "XXXXXXXX"; // секретный ключ магазина на tegro.money
$minLimit = 150000; // минимальный лимит покупки TGR
$maxLimit = 850000; // максимальный лимит покупки TGR

$bot = new TegroMoneyBot($tegromoneyShopId, $tegromoneySecretKey, $minLimit, $maxLimit);

// Ваш код для получения данных из Телеграмма и вызова $bot->processSum($data) здесь...
?>

Я переписал ваш код в виде класса для более структурированного и модульного подхода. Здесь используются приватные переменные для хранения информации об учетной записи и лимитах, а функции теперь являются методами этого класса.

Важно отметить, что link, chat_id и некоторые другие элементы кода были пропущены в этом примере, так как их контекст или реализация не были ясны из предоставленного вами кода. Конечно, вы сможете включить их обратно в свой код, приспособив к этой новой структуре.

Наконец, код включает в себя несколько "заглушек" (как "Ваш код для получения данных из Телеграмма и вызова $bot->processSum($data) здесь..."), которые вы должны заменить своим собственным кодом, соответствующим вашей текущей логике и функциональности.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant