Commit inicial con archivos existentes

This commit is contained in:
2026-01-17 16:14:00 -06:00
parent 48671dc88e
commit 4c48c279de
2539 changed files with 2412708 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
<?php
/**
* Factory para crear Senders según la plataforma
*
* Este factory simplifica la creación de senders para diferentes plataformas
* usando la nueva estructura de directorios.
*
* Ubicación: /common/helpers/sender_factory.php
* Fecha de creación: 2025-11-25
*/
class SenderFactory {
/**
* Crea un sender para la plataforma especificada
*
* @param string $platform 'telegram' o 'discord'
* @param PDO $pdo Conexión a base de datos (requerida para Telegram)
* @return TelegramSender|DiscordSender
* @throws Exception Si la plataforma no es soportada
*/
public static function create($platform, $pdo = null) {
switch(strtolower($platform)) {
case 'telegram':
if ($pdo === null) {
throw new Exception("PDO es requerido para TelegramSender");
}
require_once __DIR__ . '/../../telegram/TelegramSender.php';
return new TelegramSender(TELEGRAM_BOT_TOKEN, $pdo);
case 'discord':
require_once __DIR__ . '/../../discord/DiscordSender.php';
return new DiscordSender(DISCORD_BOT_TOKEN);
default:
throw new Exception("Plataforma no soportada: $platform. Use 'telegram' o 'discord'");
}
}
/**
* Verifica si una plataforma es soportada
*
* @param string $platform
* @return bool
*/
public static function isSupported($platform) {
return in_array(strtolower($platform), ['telegram', 'discord']);
}
/**
* Obtiene lista de plataformas soportadas
*
* @return array
*/
public static function getSupportedPlatforms() {
return ['telegram', 'discord'];
}
}