- Agregar detección de URLs de Discord gifts para evitar botones de traducción - Enviar imágenes en orden correcto (texto-imagen-texto-imagen) en Discord y Telegram - Usar APP_URL del .env para las URLs de imágenes - Agregar funciones sendContentWithOrderedImagesAndButtons en ambos bots
62 lines
2.0 KiB
PHP
62 lines
2.0 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Verifica si un texto contiene contenido real (no solo emojis, URLs de GIFs, espacios, etc)
|
|
* Los emojis se preservan en el texto, solo verificamos que hay más que eso
|
|
*/
|
|
function hasRealContent(string $text): bool
|
|
{
|
|
if (empty($text)) {
|
|
return false;
|
|
}
|
|
|
|
$clean = trim($text);
|
|
|
|
if (empty($clean)) {
|
|
return false;
|
|
}
|
|
|
|
// Remover URLs de GIFs y medias (tenor, giphy, media.tenor, cdn.discordapp, etc)
|
|
$clean = preg_replace('/https?:\/\/(www\.)?(tenor\.com|giphy\.com|media\.tenor\.com|cdn\.discordapp\.com|media\.discord|gifcdn|gfycat\.com|reddit\.com\/r\/[^\/]+\/comments\/)[^\s]*/i', '', $clean);
|
|
|
|
// Remover URLs de Discord gifts
|
|
$clean = preg_replace('/https?:\/\/(www\.)?(discord\.gift|discord\.com\/gifts)[^\s]*/i', '', $clean);
|
|
|
|
// Remover otros URLs comunes (http://..., https://...)
|
|
$clean = preg_replace('/https?:\/\/[^\s]+/i', '', $clean);
|
|
|
|
$clean = trim($clean);
|
|
|
|
if (empty($clean)) {
|
|
return false;
|
|
}
|
|
|
|
// Remover emojis y caracteres especiales
|
|
$clean = preg_replace('/[\x{1F300}-\x{1F9FF}]/u', '', $clean);
|
|
$clean = preg_replace('/[\x{2600}-\x{26FF}]/u', '', $clean);
|
|
$clean = preg_replace('/[\x{2B50}]/u', '', $clean);
|
|
$clean = preg_replace('/[\x{00A0}\s]+/u', '', $clean);
|
|
$clean = preg_replace('/[\p{P}]/u', '', $clean);
|
|
|
|
return !empty(trim($clean));
|
|
}
|
|
|
|
/**
|
|
* Obtiene el texto sin emojis para análisis de idioma
|
|
* NOTA: Los emojis se preservan en el mensaje original para mostrar al usuario
|
|
*/
|
|
function stripEmojisForDetection(string $text): string
|
|
{
|
|
$clean = $text;
|
|
|
|
// Remover emojis de rango alto
|
|
$clean = preg_replace('/[\x{1F300}-\x{1F9FF}]/u', '', $clean);
|
|
$clean = preg_replace('/[\x{2600}-\x{26FF}]/u', '', $clean);
|
|
$clean = preg_replace('/[\x{2B50}]/u', '', $clean);
|
|
|
|
// Limpiar espacios extras resultantes
|
|
$clean = preg_replace('/\s+/u', ' ', $clean);
|
|
|
|
return trim($clean);
|
|
}
|