value_ ?: 0; $cardStatus = getSettingsBot('cardStatus')->value_ ?: 0; $botStatus = getSettingsBot('botStatus')->value_ ?: 0; $buyVoucherStatus = getSettingsBot('buyVoucherStatus')->value_ ?: 0; $sellVoucherStatus = getSettingsBot('sellVoucherStatus')->value_ ?: 0; return json_encode([ 'inline_keyboard' => [ [ ['text' => ($cardStatus == 1 ? '✅ فعال' : '❌ غیرفعال'), 'callback_data' => 'cardStatus-change'], ['text' => '💳 کارت به کارت', 'callback_data' => '0'] ], [ ['text' => ($gatewayStatus == 1 ? '✅ فعال' : '❌ غیرفعال'), 'callback_data' => 'gatewayStatus-change'], ['text' => '🔐 درگاه پرداخت', 'callback_data' => '0'] ], [ ['text' => ($botStatus == 1 ? '✅ فعال' : '❌ غیرفعال'), 'callback_data' => 'botStatus-change'], ['text' => '🤖 ربات', 'callback_data' => '0'] ], [ ['text' => ($buyVoucherStatus == 1 ? '✅ فعال' : '❌ غیرفعال'), 'callback_data' => 'buyVoucherStatus-change'], ['text' => '🛒 خرید ووچر', 'callback_data' => '0'] ], [ ['text' => ($sellVoucherStatus == 1 ? '✅ فعال' : '❌ غیرفعال'), 'callback_data' => 'sellVoucherStatus-change'], ['text' => '💵 فروش ووچر', 'callback_data' => '0'] ], [ ['text' => '✏️ تنظیم متن خاموشی ربات', 'callback_data' => 'set-off-text'] ] ] ]); } if ($text == '🔄 تغییر وضعیت سیستم' && $currentUser->is_admin) { $response_text = "⚙️ *مدیریت وضعیت سیستم*\n\n"; $response_text .= "جهت فعال‌سازی یا غیرفعال‌سازی هرکدام از گزینه‌های زیر روی کلید مربوطه کلیک کنید:\n\n"; $response_text .= "💡 *راهنما:*\n"; $response_text .= "✅ = فعال\n"; $response_text .= "❌ = غیرفعال"; $bot->sendMessage($from_id, $response_text, getStatusKeyboard($db)); die; } if ($data == 'gatewayStatus-change' && $currentUser->is_admin) { $query = "SELECT value_ FROM `settings` WHERE `key_` = ?"; $stmt = $db->prepare($query); $stmt->execute(['gatewayStatus']); $existingRecord = $stmt->fetchColumn(); if ($existingRecord === false) { $insertQuery = "INSERT INTO `settings` (`key_`, `value_`) VALUES (?, ?)"; $insertStmt = $db->prepare($insertQuery); $insertStmt->execute(['gatewayStatus', 1]); $newStatus = 1; } else { $newStatus = ($existingRecord == 1) ? 0 : 1; changeSettings('gatewayStatus', $newStatus); } $status_text = ($newStatus == 1) ? '✅ فعال شد' : '❌ غیرفعال شد'; $bot->answerCallbackQuery($callback_query_id, "درگاه پرداخت $status_text"); $bot->editMessageReplyMarkup($from_id, $message_id, getStatusKeyboard($db)); die; } if ($data == 'cardStatus-change' && $currentUser->is_admin) { $query = "SELECT value_ FROM `settings` WHERE `key_` = ?"; $stmt = $db->prepare($query); $stmt->execute(['cardStatus']); $existingRecord = $stmt->fetchColumn(); if ($existingRecord === false) { $insertQuery = "INSERT INTO `settings` (`key_`, `value_`) VALUES (?, ?)"; $insertStmt = $db->prepare($insertQuery); $insertStmt->execute(['cardStatus', 1]); $newStatus = 1; } else { $newStatus = ($existingRecord == 1) ? 0 : 1; changeSettings('cardStatus', $newStatus); } $status_text = ($newStatus == 1) ? '✅ فعال شد' : '❌ غیرفعال شد'; $bot->answerCallbackQuery($callback_query_id, "کارت به کارت $status_text"); $bot->editMessageReplyMarkup($from_id, $message_id, getStatusKeyboard($db)); die; } if ($data == 'botStatus-change' && $currentUser->is_admin) { $query = "SELECT value_ FROM `settings` WHERE `key_` = ?"; $stmt = $db->prepare($query); $stmt->execute(['botStatus']); $existingRecord = $stmt->fetchColumn(); if ($existingRecord === false) { $insertQuery = "INSERT INTO `settings` (`key_`, `value_`) VALUES (?, ?)"; $insertStmt = $db->prepare($insertQuery); $insertStmt->execute(['botStatus', 1]); $newStatus = 1; } else { $newStatus = ($existingRecord == 1) ? 0 : 1; changeSettings('botStatus', $newStatus); } $status_text = ($newStatus == 1) ? '✅ فعال شد' : '❌ غیرفعال شد'; $bot->answerCallbackQuery($callback_query_id, "ربات $status_text"); $bot->editMessageReplyMarkup($from_id, $message_id, getStatusKeyboard($db)); die; } if ($data == 'buyVoucherStatus-change' && $currentUser->is_admin) { $query = "SELECT value_ FROM `settings` WHERE `key_` = ?"; $stmt = $db->prepare($query); $stmt->execute(['buyVoucherStatus']); $existingRecord = $stmt->fetchColumn(); if ($existingRecord === false) { $insertQuery = "INSERT INTO `settings` (`key_`, `value_`) VALUES (?, ?)"; $insertStmt = $db->prepare($insertQuery); $insertStmt->execute(['buyVoucherStatus', 1]); $newStatus = 1; } else { $newStatus = ($existingRecord == 1) ? 0 : 1; changeSettings('buyVoucherStatus', $newStatus); } $status_text = ($newStatus == 1) ? '✅ فعال شد' : '❌ غیرفعال شد'; $bot->answerCallbackQuery($callback_query_id, "خرید ووچر $status_text"); $bot->editMessageReplyMarkup($from_id, $message_id, getStatusKeyboard($db)); die; } if ($data == 'sellVoucherStatus-change' && $currentUser->is_admin) { $query = "SELECT value_ FROM `settings` WHERE `key_` = ?"; $stmt = $db->prepare($query); $stmt->execute(['sellVoucherStatus']); $existingRecord = $stmt->fetchColumn(); if ($existingRecord === false) { $insertQuery = "INSERT INTO `settings` (`key_`, `value_`) VALUES (?, ?)"; $insertStmt = $db->prepare($insertQuery); $insertStmt->execute(['sellVoucherStatus', 1]); $newStatus = 1; } else { $newStatus = ($existingRecord == 1) ? 0 : 1; changeSettings('sellVoucherStatus', $newStatus); } $status_text = ($newStatus == 1) ? '✅ فعال شد' : '❌ غیرفعال شد'; $bot->answerCallbackQuery($callback_query_id, "فروش ووچر $status_text"); $bot->editMessageReplyMarkup($from_id, $message_id, getStatusKeyboard($db)); die; } if ($data == 'set-off-text' && $currentUser->is_admin) { $response_text = "✏️ *تنظیم متن خاموشی ربات*\n\n"; $response_text .= "لطفاً متنی که می‌خواهید هنگام خاموش بودن ربات به کاربران نمایش داده شود را وارد کنید:\n\n"; $response_text .= "💡 *نکته:* می‌توانید از ایموجی و فرمت‌بندی Markdown استفاده کنید."; $bot->sendMessage($from_id, $response_text); setStep($from_id, 'set-off-text'); die; } if ($currentUser->step == 'set-off-text' && $currentUser->is_admin) { if (empty(trim($text))) { $error_text = "❌ *خطا*\n\n"; $error_text .= "متن نمی‌تواند خالی باشد.\n"; $error_text .= "لطفاً متنی وارد کنید."; $bot->sendMessage($from_id, $error_text); die; } if (strlen($text) > 500) { $error_text = "❌ *خطا*\n\n"; $error_text .= "متن نمی‌تواند بیشتر از 500 کاراکتر باشد.\n"; $error_text .= "📊 تعداد کاراکترهای وارد شده: " . strlen($text); $bot->sendMessage($from_id, $error_text); die; } $value = trim($text); $query = "SELECT `id` FROM `settings` WHERE `key_` = ?"; $stmt = $db->prepare($query); $stmt->execute(['off-text']); $existingRecord = $stmt->fetch(); if (!$existingRecord) { $insertQuery = "INSERT INTO `settings` (`key_`, `value_`) VALUES (?, ?)"; $insertStmt = $db->prepare($insertQuery); $insertStmt->execute(['off-text', $value]); } else { changeSettings('off-text', $value); } $success_text = "✅ *متن خاموشی ربات با موفقیت تنظیم شد*\n\n"; $success_text .= "📝 *متن تنظیم شده:*\n"; $success_text .= "`" . substr($value, 0, 100) . (strlen($value) > 100 ? '...' : '') . "`\n\n"; $success_text .= "📅 *زمان تنظیم:*\n"; $success_text .= "`" . jdate("Y/m/d - H:i:s", time(), tr_num: 'en') . "`"; $bot->sendMessage($from_id, $success_text, getStatusKeyboard($db)); setStep($from_id, 'home'); die; }