Files
lastwar/configure_webhook.php

91 lines
3.3 KiB
PHP
Executable File

<?php
require_once __DIR__ . '/includes/db.php';
require_once __DIR__ . '/includes/session_check.php';
require_once __DIR__ . '/includes/env_loader.php';
requireAdmin();
$pageTitle = 'Configurar Webhooks';
$results = [];
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) {
$action = $_POST['action'];
if ($action === 'set_telegram') {
$token = $_ENV['TELEGRAM_BOT_TOKEN'] ?? getenv('TELEGRAM_BOT_TOKEN');
$webhookUrl = $_POST['webhook_url'];
$webhookToken = $_ENV['TELEGRAM_WEBHOOK_TOKEN'] ?? getenv('TELEGRAM_WEBHOOK_TOKEN');
$fullUrl = $webhookUrl . '?auth_token=' . $webhookToken;
$ch = curl_init('https://api.telegram.org/bot' . $token . '/setWebhook');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, ['url' => $fullUrl]);
$response = curl_exec($ch);
curl_close($ch);
$results['telegram_set'] = json_decode($response, true);
}
}
$currentUrl = (isset($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'];
require_once __DIR__ . '/templates/header.php';
?>
<div class="d-flex justify-content-between align-items-center mb-4">
<h2><i class="bi bi-gear"></i> Configurar Webhooks</h2>
</div>
<?php if (isset($results['telegram_set'])): ?>
<?php if ($results['telegram_set']['ok']): ?>
<div class="alert alert-success">Webhook de Telegram configurado correctamente</div>
<?php else: ?>
<div class="alert alert-danger">Error: <?= htmlspecialchars($results['telegram_set']['description'] ?? 'Unknown error') ?></div>
<?php endif; ?>
<?php endif; ?>
<div class="row">
<div class="col-md-6">
<div class="card border-0 shadow-sm mb-4">
<div class="card-header bg-white border-0">
<h5 class="mb-0"><i class="bi bi-telegram"></i> Webhook de Telegram</h5>
</div>
<div class="card-body">
<form method="POST">
<input type="hidden" name="action" value="set_telegram">
<div class="mb-3">
<label class="form-label">URL del webhook</label>
<input type="text" name="webhook_url" class="form-control" value="<?= $currentUrl ?>/telegram_bot_webhook.php" required>
</div>
<button type="submit" class="btn btn-primary">
<i class="bi bi-save"></i> Guardar
</button>
</form>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card border-0 shadow-sm mb-4">
<div class="card-header bg-white border-0">
<h5 class="mb-0"><i class="bi bi-info-circle"></i> Información</h5>
</div>
<div class="card-body">
<p class="text-muted">
Los webhooks permiten que Telegram y Discord envíen eventos a tu aplicación en tiempo real.
</p>
<ul>
<li><strong>Telegram:</strong> Procesa mensajes y comandos</li>
</ul>
</div>
</div>
</div>
</div>
<?php require_once __DIR__ . '/templates/footer.php'; ?>