66 lines
2.4 KiB
PHP
Executable File
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";
|