=== Environment Diagnostics === PHP Version: 8.1.32 Server OS: Linux Current Directory: /home/shreewin/dexts.shreewin7.site Directory [temp] (/home/shreewin/dexts.shreewin7.site/temp): - Exists: Yes - Writable: Yes - Readable: Yes Directory [data] (/home/shreewin/dexts.shreewin7.site/data): - Exists: Yes - Writable: Yes - Readable: Yes Directory [fonts] (/home/shreewin/dexts.shreewin7.site/fonts): - Exists: Yes - Writable: Yes - Readable: Yes === Telegram API Webhook Info === Querying URL: https://api.telegram.org/bot/getWebhookInfo HTTP Status Code: 401 Response: {"ok":false,"error_code":401,"description":"Unauthorized"} === Log Diagnostics === webhook_last.log does not exist. bot_error.log does not exist. === Server File Check (Diagnostic) === File [bot.php]: Exists (Size: 33006 bytes, Last Modified: 2026-09-22 11:35:32) File [config.php]: Exists (Size: 2875 bytes, Last Modified: 2026-09-22 11:34:08) File [points.php]: Exists (Size: 11292 bytes, Last Modified: 2026-06-29 22:15:30) File [owner_panel.php]: Exists (Size: 17586 bytes, Last Modified: 2026-09-22 11:15:34) File [worker.php]: Exists (Size: 18018 bytes, Last Modified: 2026-06-29 22:17:24) === .htaccess Check === .htaccess Exists. Contents: # BEGIN cPanel-generated php ini directives, do not edit # Manual editing of this file may result in unexpected behavior. # To make changes to this file, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor) # For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI) php_value error_log "/home/shreewin/logs/php.error.log" php_flag log_errors On php_value error_log "/home/shreewin/logs/php.error.log" php_flag log_errors On # END cPanel-generated php ini directives, do not edit # php -- BEGIN cPanel-generated handler, do not edit # Set the “ea-php81” package as the default “PHP” programming language. AddHandler application/x-httpd-ea-php81 .php .php8 .phtml # php -- END cPanel-generated handler, do not edit === Server File Content Peek === --- Peek inside bot.php --- 1: true, 40: CURLOPT_POSTFIELDS => ['callback_query_id' => $callbackQuery['id'], 'text' => '🔒 Access Denied', 'show_alert' => true], --- Peek inside points.php --- 1: false, 'message' => '❌ Only TTF, OTF, WOFF, WOFF2 allowed.']; 25: } 26: if (($fileData['size'] ?? 0) > 5 * 1024 * 1024) { 27: return ['success' => false, 'message' => '❌ Font too large (max 5MB).']; 28: } 29: $safeName = preg_replace('/[^a-zA-Z0-9_\-.]/', '_', $fileData['name']); 30: $dest = FONTS_DIR . '/' . $safeName; 31: if (!move_uploaded_file($fileData['tmp_name'], $dest)) { 32: return ['success' => false, 'message' => '❌ Failed to save font file.']; 33: } 34: return ['success' => true, 'message' => "✅ Font '$safeName' uploaded!"]; 35: } 36: 37: function handleTelegramFontUpload(int $chatId, array $doc): void { 38: // stub — not used in JSON mode 39: } --- Peek inside config.php --- 1: