false, 'error' => 'Missing token']); exit; } $stmt = db()->prepare("SELECT * FROM webhooks WHERE token = ?"); $stmt->execute([$token]); $webhook = $stmt->fetch(); if (!$webhook) { http_response_code(401); echo json_encode(['success' => false, 'error' => 'Invalid token']); exit; } if (empty($content)) { http_response_code(400); echo json_encode(['success' => false, 'error' => 'Empty content']); exit; } try { // We'll use a special System user or a placeholder user_id for webhooks // Or we could create a bot user for each webhook. // For now, let's assume we use user_id 1 (System) but override the name if provided. $stmt = db()->prepare("INSERT INTO messages (channel_id, user_id, content) VALUES (?, ?, ?)"); $stmt->execute([$webhook['channel_id'], 1, $content]); echo json_encode(['success' => true]); } catch (Exception $e) { http_response_code(500); echo json_encode(['success' => false, 'error' => $e->getMessage()]); }