-->
Compass Intelligence Service
RADAR GLOBAL
Sincronizando monitoramento geopolítico...
🔍

Portal de Geopolítica, Notícias Globais e Análise de Cenários

RECOLHER INFO ▲
Entenda o título: Compass (Bússola) para o direcionamento na geopolítica; Wealth (Riqueza) de conhecimento e capital intelectual.
COMPASS WEALTH: Análise independente de eventos globais, cultura e geopolítica. Conteúdo estritamente informativo, sem recomendações financeiras.

Compass Wealth

Acessibilidade Inteligente
Sugestões: Cores, Fonte, Foco
Análise Detalhada
Renan Castro | setembro 27, 2026

PALAVRA.PHP

Renan Castro Albuquerque
Renan Castro Albuquerque
Jornalista e Editor-Chefe

Nascido em Petrópolis(RJ) em 04/07/1983, Renan Castro é jornalista graduado pela PUC, com mais de 18 anos de trajetória na cobertura de cenários complexos. Especialista em dinâmicas globais e observador atento das relações de poder, dedica-se a decifrar as peças do tabuleiro da geopolítica contemporânea. Na Compass Wealth, lidera a produção de conteúdos independentes, transformando eventos mundiais em análises claras e estratégicas.

PDF
[ "title" => "Ferrari Diamante Nobile", "description" => "Edição exclusiva de altíssimo prestígio", "image_url" => "https://bit.ly/4rvA2pq" ], 2 => [ "title" => "Relógio de Luxo", "description" => "Peça sofisticada de elevadíssimo padrão", "image_url" => "https://bit.ly/4AzzcMB" ], 3 => [ "title" => "Iphone de Luxo", "description" => "Edição especial de prestígio absoluto", "image_url" => "https://bit.ly/4rHc62E" ] ]; // Calcula o índice do prêmio a partir de 26/09/2026 (Dia 1) $startDate = new DateTime('2026-09-26'); $todayDate = new DateTime($today); $daysDiff = (int) $startDate->diff($todayDate)->days; $prizeIndex = ($daysDiff % 3) + 1; $todayPrize = $prizes[$prizeIndex]; function callGroq($messages, $temperature = 0.6) { global $groqApiKey, $model, $endpointUrl; if (empty($groqApiKey)) { return ["error" => "Chave do Groq não configurada"]; } $data = [ "model" => $model, "messages" => $messages, "temperature" => $temperature, "max_tokens" => 900 ]; $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $endpointUrl, CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($data), CURLOPT_SSL_VERIFYPEER => false, CURLOPT_TIMEOUT => 50, CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "Authorization: Bearer " . trim($groqApiKey) ] ]); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $curlError = curl_error($ch); curl_close($ch); if ($curlError) return ["error" => "Erro de conexão: " . $curlError]; if ($httpCode !== 200) return ["error" => "Erro HTTP $httpCode", "details" => $response]; $decoded = json_decode($response, true); return $decoded ?: ["error" => "Resposta inválida da API"]; } function getDailyData() { global $dataFile, $today, $todayPrize; $secretWord = null; if (file_exists($dataFile)) { $existing = json_decode(file_get_contents($dataFile), true); if ($existing && !empty($existing['secret_word'])) { $secretWord = $existing['secret_word']; } } if (!$secretWord) { $system = "Você é o criador do jogo diário de palavras. Responda APENAS com um JSON válido. Gere uma palavra secreta: substantivo comum em português, interessante, entre 5 e 11 letras, evite palavras muito comuns. Formato: { \"secret_word\": \"palavra\" }"; $result = callGroq([ ["role" => "system", "content" => $system], ["role" => "user", "content" => "Gere a palavra secreta do dia $today. Seja original."] ], 0.9); if (isset($result['error'])) { return ["error" => $result['error']]; } $content = trim($result['choices'][0]['message']['content'] ?? ''); if (preg_match('/\{.*\}/s', $content, $matches)) { $content = $matches[0]; } $parsed = json_decode($content, true); if (!$parsed || empty($parsed['secret_word'])) { return ["error" => "Falha ao gerar a palavra do dia"]; } $secretWord = mb_strtolower(trim($parsed['secret_word'])); } // Sempre força o prêmio correto do dia $dailyData = [ "date" => $today, "secret_word" => $secretWord, "prize_title" => $todayPrize['title'], "prize_description" => $todayPrize['description'], "image_url" => $todayPrize['image_url'], "generated_at" => date('c') ]; file_put_contents($dataFile, json_encode($dailyData, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)); return $dailyData; } function generateExtraWord() { // Gera palavras com maior variedade $system = "Gere uma palavra secreta DIFERENTE e pouco comum. Deve ser um substantivo comum em português, entre 5 e 11 letras. Evite palavras muito frequentes como: casa, água, terra, fogo, cachorro, gato, livro, mesa, carro, etc. Responda APENAS com JSON: { \"secret_word\": \"palavra\" }"; $result = callGroq([ ["role" => "system", "content" => $system], ["role" => "user", "content" => "Gere uma palavra secreta original e diferente para treino. Seed: " . rand(10000, 99999)] ], 0.95); if (isset($result['error'])) return null; $content = trim($result['choices'][0]['message']['content'] ?? ''); if (preg_match('/\{.*\}/s', $content, $matches)) { $content = $matches[0]; } $parsed = json_decode($content, true); return isset($parsed['secret_word']) ? mb_strtolower(trim($parsed['secret_word'])) : null; } function hasPlayedToday($userId) { global $playsDir, $today; $file = $playsDir . '/' . $today . '_' . md5($userId) . '.txt'; return file_exists($file); } function markAsPlayed($userId) { global $playsDir, $today; $file = $playsDir . '/' . $today . '_' . md5($userId) . '.txt'; file_put_contents($file, date('c')); } // ==================== ROTAS ==================== $rawInput = file_get_contents('php://input'); $input = json_decode($rawInput, true) ?: $_POST; $acao = $input['acao'] ?? $_GET['acao'] ?? ''; $userId = isset($input['user_id']) ? substr(preg_replace('/[^a-zA-Z0-9_\-]/', '', $input['user_id']), 0, 50) : 'anon'; $isExtraRound = !empty($input['extra_round']); if ($acao === 'get_daily' || $acao === '') { $data = getDailyData(); if (isset($data['error'])) { echo json_encode($data); exit; } unset($data['secret_word']); $data['already_played'] = hasPlayedToday($userId); echo json_encode($data); exit; } if ($acao === 'new_extra_word') { $word = generateExtraWord(); if (!$word) { echo json_encode(["error" => "Não foi possível gerar nova palavra"]); exit; } echo json_encode(["secret_word" => $word]); exit; } if ($acao === 'guess') { $guess = isset($input['guess']) ? mb_strtolower(trim($input['guess'])) : ''; if (empty($guess)) { echo json_encode(["error" => "Digite um palpite"]); exit; } if (!$isExtraRound) { if (hasPlayedToday($userId)) { echo json_encode(["error" => "Você já concluiu o desafio de hoje."]); exit; } $data = getDailyData(); if (isset($data['error'])) { echo json_encode($data); exit; } $secret = $data['secret_word']; } else { $secret = isset($input['current_secret']) ? mb_strtolower(trim($input['current_secret'])) : ''; if (empty($secret)) { echo json_encode(["error" => "Erro na rodada extra"]); exit; } } // Acertou if ($guess === $secret) { if (!$isExtraRound) { markAsPlayed($userId); $data = getDailyData(); echo json_encode([ "correct" => true, "score" => 100, "message" => "Excelente. Você descobriu a palavra secreta.", "prize_title" => $data['prize_title'], "prize_description" => $data['prize_description'], "image_url" => $data['image_url'], "secret_word" => $secret, "is_extra" => false ]); } else { echo json_encode([ "correct" => true, "score" => 100, "message" => "Palavra correta! (Rodada extra)", "is_extra" => true ]); } exit; } // Verifica palavra inventada $checkSystem = "Analise se a palavra é real em português ou inventada/sem sentido. Responda APENAS com JSON: Se for inventada, com números ou sem sentido: {\"valid\": false, \"message\": \"Esta combinação não corresponde a nenhuma palavra conhecida.\"} Se for palavra real ou plausível: {\"valid\": true}"; $checkResult = callGroq([ ["role" => "system", "content" => $checkSystem], ["role" => "user", "content" => "Palavra: \"$guess\""] ], 0.1); if (!isset($checkResult['error'])) { $checkContent = trim($checkResult['choices'][0]['message']['content'] ?? ''); if (preg_match('/\{.*\}/s', $checkContent, $m)) { $checkParsed = json_decode($m[0], true); if (isset($checkParsed['valid']) && $checkParsed['valid'] === false) { echo json_encode([ "correct" => false, "score" => 0, "feedback" => $checkParsed['message'] ?? "Esta combinação não corresponde a nenhuma palavra conhecida." ]); exit; } } } // Avaliação semântica $system = "Você é um especialista em semântica da língua portuguesa. Avalie a proximidade de significado entre a palavra secreta e o palpite. Considere sinônimos, campos semânticos e relações reais. NUNCA mencione a palavra secreta no feedback. Responda APENAS com JSON: { \"score\": 75, \"feedback\": \"Frase curta e profissional (máximo 11 palavras)\" }"; $result = callGroq([ ["role" => "system", "content" => $system], ["role" => "user", "content" => "Palavra secreta: \"$secret\"\nPalpite do usuário: \"$guess\""] ], 0.2); if (isset($result['error'])) { echo json_encode(["error" => $result['error']]); exit; } $content = trim($result['choices'][0]['message']['content'] ?? ''); if (preg_match('/\{.*\}/s', $content, $matches)) { $content = $matches[0]; } $parsed = json_decode($content, true); $score = isset($parsed['score']) ? max(0, min(99, intval($parsed['score']))) : 30; $feedback = $parsed['feedback'] ?? "Continue analisando as possibilidades."; $feedback = str_ireplace($secret, '***', $feedback); echo json_encode([ "correct" => false, "score" => $score, "feedback" => $feedback ]); exit; } if ($acao === 'hint') { $secret = null; // Prioriza a palavra da rodada extra se estiver em modo extra if ($isExtraRound && !empty($input['current_secret'])) { $secret = mb_strtolower(trim($input['current_secret'])); } else { $data = getDailyData(); if (isset($data['error'])) { echo json_encode($data); exit; } $secret = $data['secret_word']; } if (!$secret) { echo json_encode(["hint" => "Não foi possível gerar a dica no momento."]); exit; } $system = "Você é um mestre de dicas inteligente. Forneça UMA dica útil que ajude o jogador a se aproximar da palavra, sem revelá-la. A dica deve dar um norte real (categoria, contexto de uso ou característica importante). Nunca diga a palavra secreta nem sinônimos muito óbvios. Tom: claro, profissional e direto. Máximo 13 palavras. Responda apenas com o texto da dica."; $result = callGroq([ ["role" => "system", "content" => $system], ["role" => "user", "content" => "Palavra secreta: \"$secret\". Dê uma dica útil e inteligente."] ], 0.55); $hint = trim($result['choices'][0]['message']['content'] ?? 'Pense na categoria ou no contexto de uso da palavra.'); $hint = trim($hint, " \t\n\r\0\x0B\"'"); $hint = str_ireplace($secret, '***', $hint); echo json_encode(["hint" => $hint]); exit; } if ($acao === 'reveal') { $data = getDailyData(); if (isset($data['error'])) { echo json_encode($data); exit; } echo json_encode(["secret_word" => $data['secret_word']]); exit; } if ($acao === 'finish_day') { markAsPlayed($userId); echo json_encode(["ok" => true]); exit; } echo json_encode(["error" => "Ação inválida"]);

Análise em Vídeo: Cobertura Global

Este recurso utiliza Inteligência de Busca para conectar esta análise com as últimas atualizações de vídeo das maiores redes de notícias do mundo.

Siga a Compass Wealth

Compartilhe este conhecimento:

Siga a Compass Wealth no Google e receba nossas notícias independentes do algoritmo das redes

Google Logo Seguir no Google
PERSPECTIVAS E ANÁLISE DE CAMPO

Contribua para o debate sobre os equilíbrios de poder e a ordem global

Sua visão ajuda a completar o mapa. Compartilhe suas impressões ou contrapontos sobre as dinâmicas geopolíticas abordadas neste artigo.

Protocolo de Segurança: Não insira dados pessoais. Conteúdos impróprios ou antiéticos serão descartados pelo sistema de moderação.

Comentários

Postar um comentário