Files
sistema_funcionando_lastwar/admin/set_test_webhook.php

66 lines
2.4 KiB
PHP
Executable File

<?php
// Cargar configuración del entorno de pruebas
$envFile = __DIR__ . '/.env.pruebas';
if (!file_exists($envFile)) {
die("Error: No se encontró el archivo de configuración de pruebas (.env.pruebas)\n");
}
// Cargar variables de entorno
$lines = file($envFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($lines as $line) {
if (strpos(trim($line), '#') === 0) continue;
list($name, $value) = explode('=', $line, 2);
$name = trim($name);
$value = trim($value, "'\" \t\n\r\0\x0B");
if (!empty($name)) $_ENV[$name] = $value;
}
// Configuración
$botToken = $_ENV['TELEGRAM_BOT_TOKEN'] ?? '';
$webhookToken = $_ENV['TELEGRAM_WEBHOOK_TOKEN'] ?? 'webhook_secure_token_12345';
$webhookUrl = 'https://pruebaspons.duckdns.org/telegram_bot_webhook.php?auth_token=' . urlencode($webhookToken);
if (empty($botToken)) die("Error: No se configuró TELEGRAM_BOT_TOKEN\n");
echo "Configurando webhook para pruebas...\nURL: $webhookUrl\n";
// Configurar webhook
$apiUrl = "https://api.telegram.org/bot{$botToken}/setWebhook";
$postData = ['url' => $webhookUrl, 'allowed_updates' => json_encode(['message', 'callback_query'])];
$ch = curl_init($apiUrl);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postData,
CURLOPT_SSL_VERIFYPEER => true,
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
// Mostrar resultados
echo "\nRespuesta de la API de Telegram (HTTP $httpCode):\n";
if ($error) {
echo "Error: $error\n";
} else {
$result = json_decode($response, true);
if (json_last_error() === JSON_ERROR_NONE) {
if ($result['ok'] ?? false) {
echo "✅ Webhook configurado correctamente.\n";
echo "URL: " . ($result['result']['url'] ?? 'N/A') . "\n";
echo "Tiene certificado: " . ($result['result']['has_custom_certificate'] ? 'Sí' : 'No') . "\n";
echo "Updates pendientes: " . ($result['result']['pending_update_count'] ?? '0') . "\n";
} else {
echo "❌ Error al configurar el webhook: " . ($result['description'] ?? 'Error desconocido') . "\n";
}
} else {
echo "Respuesta no válida: " . substr($response, 0, 200) . "...\n";
}
}
echo "\nPara verificar la configuración actual del webhook, ejecuta:\n";
echo "curl -s 'https://api.telegram.org/bot{$botToken}/getWebhookInfo' | jq\n\n";