=== Environment Diagnostics === PHP Version: 7.4.33 Server OS: Linux Current Directory: /home/teac11783/dexprotection.teacherslex.site/slex-ai Directory [temp] (/home/teac11783/dexprotection.teacherslex.site/slex-ai/temp): - Exists: Yes - Writable: Yes - Readable: Yes Directory [data] (/home/teac11783/dexprotection.teacherslex.site/slex-ai/data): - Exists: Yes - Writable: Yes - Readable: Yes Directory [fonts] (/home/teac11783/dexprotection.teacherslex.site/slex-ai/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 === === Last 20 Lines of webhook_last.log === "message":{"message_id":241,"from":{"id":6013368581,"is_bot":false,"first_name":"Pretty ketie","username":"Katecassey_1","language_code":"en"},"chat":{"id":6013368581,"first_name":"Pretty ketie","username":"Katecassey_1","type":"private"},"date":1785873297,"text":"/help","entities":[{"offset":0,"length":5,"type":"bot_command"}]}} 2026-08-04 20:06:48 {"update_id":395638036, "message":{"message_id":242,"from":{"id":6013368581,"is_bot":false,"first_name":"Pretty ketie","username":"Katecassey_1","language_code":"en"},"chat":{"id":6013368581,"first_name":"Pretty ketie","username":"Katecassey_1","type":"private"},"date":1785873303,"text":"/help","entities":[{"offset":0,"length":5,"type":"bot_command"}]}} 2026-08-04 20:06:48 {"update_id":395638037, "message":{"message_id":243,"from":{"id":6013368581,"is_bot":false,"first_name":"Pretty ketie","username":"Katecassey_1","language_code":"en"},"chat":{"id":6013368581,"first_name":"Pretty ketie","username":"Katecassey_1","type":"private"},"date":1785873395,"text":"/help","entities":[{"offset":0,"length":5,"type":"bot_command"}]}} 2026-08-04 20:06:48 {"update_id":395638038, "message":{"message_id":244,"from":{"id":6013368581,"is_bot":false,"first_name":"Pretty ketie","username":"Katecassey_1","language_code":"en"},"chat":{"id":6013368581,"first_name":"Pretty ketie","username":"Katecassey_1","type":"private"},"date":1785873536,"text":"/help","entities":[{"offset":0,"length":5,"type":"bot_command"}]}} 2026-09-26 02:07:51 2026-09-26 02:07:56 2026-09-26 04:19:15 === Last 20 Lines of bot_error.log === 2026-07-16 04:20:43 - Gateway cURL/HTTP error (404) for Job #2: 2026-07-16 04:20:56 - Gateway cURL/HTTP error (404) for Job #1: 2026-09-26 02:07:51 - Error: Invalid JSON or empty input. 2026-09-26 02:07:56 - Error: Invalid JSON or empty input. 2026-09-26 04:19:15 - Error: Invalid JSON or empty input. === Server File Check (Diagnostic) === File [bot.php]: Exists (Size: 15656 bytes, Last Modified: 2026-06-21 10:51:38) File [config.php]: Exists (Size: 2834 bytes, Last Modified: 2026-06-09 21:50:09) File [points.php]: Exists (Size: 10449 bytes, Last Modified: 2026-06-10 06:17:57) File [owner_panel.php]: Exists (Size: 17590 bytes, Last Modified: 2026-06-09 21:48:54) File [worker.php]: Exists (Size: 17663 bytes, Last Modified: 2026-06-09 21:49:25) === .htaccess Check === .htaccess does not exist. === Server File Content Peek === --- Peek inside bot.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: