Instalando Botoscope en tu tienda WooCommerce

Una vez que hayas creado tu bot, sigue estos pasos para conectar tu sitio WooCommerce a Botoscope:

🛠 Paso 1: Edita tu archivo wp-config.php

En tu servidor, abre el archivo wp-config.php de tu instalación de WordPress y añade las siguientes líneas antes de la línea:

/* Eso es todo, ¡deja de editar! Feliz publicación. */

Usa el siguiente código (valores de ejemplo mostrados):

define('BOTOSCOPE_BOT_TOKEN', '123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11');
define('BOTOSCOPE_BOT_NAME', 'myshop_bot');
define('BOTOSCOPE_PROXY_SERVER', 'https://c12-t2hx7w.s2.botoscope.com');
define('BOTOSCOPE_CLIENT_API_KEY', 'bs-4a83c23c-7410ebfa-ac4z2ba3-b42c4a3f');
define('BOTOSCOPE_CLIENT_PASS', '6Jw6rzVxfdjwBEMtxtl');
define('BOTOSCOPE_ADMIN_CHAT_ID', 1234567890);
¿Dónde encontrar estos datos?
Después de activar tu bot en el sistema Botoscope, verás todas las credenciales requeridas (token, nombre de usuario, servidor proxy, clave API y contraseña del cliente) directamente en tu panel de control.
Simplemente cópialos y pégalos en tu archivo wp-config.php.

🔤 Configuración de Charset de Base de Datos (Crítico para Soporte de Emojis)

🚨 CRÍTICO: Para asegurar el soporte adecuado de emojis en tu tienda WooCommerce (requerido para la comunicación en Telegram), DEBES verificar la configuración de charset de tu base de datos en wp-config.php

⚠️ El Problema

Muchas instalaciones de WordPress aún usan el antiguo charset utf8, el cual NO soporta emojis. Esto causará:

  • ❌ Emojis siendo eliminados de nombres/descripciones de productos
  • ❌ Errores de base de datos al guardar contenido con emojis
  • ❌ Fallos en la creación de pedidos en Telegram
  • ❌ Fallos en la sincronización de productos entre WooCommerce y Telegram

✅ La Solución

Abre tu archivo wp-config.php y localiza estas líneas (usualmente cerca de la configuración de la base de datos):

❌ INCORRECTO (formato antiguo - NO soporta emojis):
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

Cámbialas a:

✅ CORRECTO (soporta emojis):
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', 'utf8mb4_unicode_ci');
⚠️ ¿Ya tienes estas líneas definidas?
Si ves una advertencia como Constant DB_CHARSET already defined, estas constantes ya están establecidas en tu wp-config.php. Simplemente encuentra y actualiza los valores existentes – no añadas líneas duplicadas.

Notas Importantes:

  • Haz este cambio ANTES de instalar Botoscope para obtener los mejores resultados
  • No omitas la configuración de DB_COLLATE – ambas líneas son necesarias
  • Después de cambiar, ve a Botoscope → Controles del Sistema y haz clic en “Restablecer caché de datos completos del bot”
💡 ¿Ya instalaste Botoscope con el charset incorrecto?
Si ya has estado usando Botoscope con el charset utf8, necesitarás convertir tus tablas de base de datos existentes. Consulta la sección “Configuración de Codificación de Base de Datos” a continuación para métodos de conversión.

📦 Paso 2: Instala el plugin Botoscope

  1. Inicia sesión en tu panel de administración de WordPress.
  2. Ve a Plugins → Añadir Nuevo.
  3. Sube el archivo ZIP del plugin Botoscope.
  4. Haz clic en Instalar Ahora, luego Activar.

⚙️ Paso 3: Ejecuta la configuración inicial

  1. En el panel de administración de WordPress, ve a Botoscope → Controles del Sistema.
  2. Haz clic en el botón “Restablecer caché de datos completos del bot”.
  3. Espera aproximadamente un minuto — el sitio se sincronizará con tu tienda de Telegram

✅ ¡Has terminado!

Tu tienda ahora está conectada a Telegram

Ahora puedes:

  • Gestionar tus productos
  • Configurar sistemas de pago
  • Controlar categorías y precios
  • Y mucho más — basado en las necesidades de tu negocio

🔧 Funciones Adicionales & Recomendaciones

🧩 Filtrado de Productos

Si deseas añadir un filtrado avanzado de productos, instala el
plugin HUSKY – WooCommerce Products Filter Professional:
🔗 https://products-filter.com/downloads

💱 Cambio de Moneda

Si deseas que tus clientes cambien entre monedas, instala el
plugin FOX – WooCommerce Currency Switcher Professional:
🔗 https://currency-switcher.com/downloads

📄 Descarga de Factura PDF para Clientes

Si deseas que los clientes puedan descargar facturas PDF desde la página de pedido o correo electrónico, instala el plugin:
🔗 WooCommerce PDF Invoices & Packing Slips

Después de la instalación, ve a wp-admin/admin.php?page=wpo_wcpdf_options_page → Pestaña Avanzado y aplica las siguientes configuraciones:

  1. Tipo de acceso al enlace del documentoCompleto
  2. Enlaces bonitos de documentos
  3. En la pestaña HerramientasGenerar directorio temporal aleatorio

Después de haber instalado uno o todos los plugins recomendados, ve a la configuración de Botoscope, abre la pestaña Controles del Sistema, y haz clic en el botón “Restablecer caché de datos completos del bot”.


🔤 Configuración de Codificación de Base de Datos (Para Soporte de Emojis)

⚠️ Importante: Si notas que los nombres de productos con emojis (como 💅, 🎨, ✨) no se guardan correctamente o los pedidos no se están creando, necesitas convertir tus tablas de base de datos a codificación UTF-8mb4.

🎯 Elige Tu Método:

Ofrecemos tres maneras fáciles de solucionar la codificación. Elige la que mejor funcione para ti:

  • Método 1: Plugin de Un Clic (¡El más fácil!) 🎉
  • Método 2: Código PHP (Para desarrolladores) 💻
  • Método 3: SQL Directo (Mayor control) 🔧

✨ Método 1: Plugin de Un Clic (Recomendado para Principiantes)

Este es el método más fácil – ¡simplemente instala un plugin y haz clic en un botón!

  1. En el administrador de WordPress, ve a Plugins → Añadir Nuevo
  2. Busca “WP phpMyAdmin Extension”
  3. Instala y activa el plugin: WP phpMyAdmin Extension
  4. Ve a Herramientas → phpMyAdmin en el administrador de WordPress
  5. Haz clic en la pestaña SQL
  6. Copia y pega los comandos SQL del Método 3 a continuación
  7. Haz clic en Ir
Ventaja: No necesitas salir del panel de administración de WordPress – ¡todo se hace dentro de tu panel familiar!

💻 Método 2: Código PHP de Una Sola Vez

Si te sientes cómodo editando archivos PHP, este método ejecuta la conversión automáticamente cuando cargas una página.

🚨 Importante: ¡Asegúrate de hacer una copia de seguridad de tu base de datos antes de ejecutar este código!

Opción A: A través de functions.php de WordPress (Temporal)

  1. Ve a Apariencia → Editor de Archivos del Tema
  2. Abre functions.php (barra lateral derecha)
  3. Añade este código al final del archivo:
// TEMPORAL: Convertir base de datos a UTF8MB4
// ¡ELIMINA ESTE CÓDIGO DESPUÉS DE EJECUTARLO UNA VEZ!
add_action('admin_init', function() {
    if (!get_option('botoscope_db_converted_utf8mb4')) {
        global $wpdb;
        
        $prefix = $wpdb->prefix;
        
        // Tablas de WooCommerce
        $tables = [
            'woocommerce_order_items',
            'woocommerce_order_itemmeta',
            'woocommerce_payment_tokens',
            'woocommerce_payment_tokenmeta',
            'woocommerce_sessions',
            'woocommerce_shipping_zones',
            'woocommerce_shipping_zone_locations',
            'woocommerce_shipping_zone_methods',
            'woocommerce_tax_rates',
            'woocommerce_tax_rate_locations',
        ];
        
        // Tablas de Botoscope
        $botoscope_tables = [
            'botoscope_advertising',
            'botoscope_booking_reservations',
            'botoscope_booking_slots',
            'botoscope_booking_slots_targeted',
            'botoscope_broadcast',
            'botoscope_controls',
            'botoscope_elogios',
            'botoscope_extensions',
            'botoscope_interface_translations',
            'botoscope_marketing_campaigns',
            'botoscope_marketing_campaigns_products',
            'botoscope_marketing_campaigns_products_excluded',
            'botoscope_marketing_campaigns_terms',
            'botoscope_marketing_strategies',
            'botoscope_marketing_strategies_formulas',
        ];
        
        $all_tables = array_merge($tables, $botoscope_tables);
        
        foreach ($all_tables as $table) {
            $full_table = $prefix . $table;
            $wpdb->query("ALTER TABLE {$full_table} CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
        }
        
        update_option('botoscope_db_converted_utf8mb4', time());
        
        echo ''; } });

✅ ¡Base de datos convertida exitosamente a UTF8MB4! Ahora puedes eliminar el código de functions.php

  1. Haz clic en Actualizar Archivo
  2. Ve a cualquier página en el administrador de WordPress (como el Tablero)
  3. Verás un mensaje de éxito cuando la conversión esté completa
  4. IMPORTANTE: Vuelve a functions.php y ELIMINA el código que acabas de añadir

Opción B: A través de un Archivo PHP Independiente

  1. Crea un nuevo archivo llamado convert-db.php en tu directorio raíz de WordPress
  2. Pega este código en el archivo:
<?php
// Cargar WordPress
require_once('wp-load.php');

if (!current_user_can('manage_options')) {
    die('Acceso denegado');
}

global $wpdb;
$prefix = $wpdb->prefix;

echo '<h1>Convirtiendo Base de Datos a UTF8MB4...</h1>';

// Tablas de WooCommerce
$tables = [
    'woocommerce_order_items',
    'woocommerce_order_itemmeta',
    'woocommerce_payment_tokens',
    'woocommerce_payment_tokenmeta',
    'woocommerce_sessions',
    'woocommerce_shipping_zones',
    'woocommerce_shipping_zone_locations',
    'woocommerce_shipping_zone_methods',
    'woocommerce_tax_rates',
    'woocommerce_tax_rate_locations',
];

// Tablas de Botoscope
$botoscope_tables = [
    'botoscope_advertising',
    'botoscope_booking_reservations',
    'botoscope_booking_slots',
    'botoscope_booking_slots_targeted',
    'botoscope_broadcast',
    'botoscope_controls',
    'botoscope_elogios',
    'botoscope_extensions',
    'botoscope_interface_translations',
    'botoscope_marketing_campaigns',
    'botoscope_marketing_campaigns_products',
    'botoscope_marketing_campaigns_products_excluded',
    'botoscope_marketing_campaigns_terms',
    'botoscope_marketing_strategies',
    'botoscope_marketing_strategies_formulas',
];

$all_tables = array_merge($tables, $botoscope_tables);

foreach ($all_tables as $table) {
    $full_table = $prefix . $table;
    
    echo "Convirtiendo {$full_table}... ";
    
    $result = $wpdb->query("ALTER TABLE {$full_table} CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
    
    if ($result !== false) {
        echo '<span style="color: green;">✅ Éxito</span><br>';
    } else {
        echo '<span style="color: red;">❌ Falló: ' . $wpdb->last_error . '</span><br>';
    }
}

echo '<h2 style="color: green;">✅ ¡Conversión Completa!</h2>';
echo '<p><strong>IMPORTANTE:</strong> ¡Elimina este archivo (convert-db.php) de tu servidor ahora!</p>';
?>
  1. Sube el archivo a tu directorio raíz de WordPress (donde se encuentra wp-config.php)
  2. Abre tu navegador y ve a: https://tusitio.com/convert-db.php
  3. Espera a que la conversión se complete
  4. IMPORTANTE: ¡Elimina el archivo convert-db.php de tu servidor!
Ventaja: Puedes ver el progreso de la conversión en tiempo real y detectar cualquier error inmediatamente.

🔧 Método 3: SQL Directo en phpMyAdmin

Este es el método más directo si te sientes cómodo usando phpMyAdmin.

📋 Instrucciones paso a paso:

  1. Inicia sesión en tu panel de control de hosting (cPanel, Plesk, etc.)
  2. Abre phpMyAdmin
  3. Selecciona tu base de datos de WordPress desde la barra lateral izquierda
  4. Haz clic en la pestaña SQL en la parte superior
  5. Copia y pega los comandos SQL a continuación
  6. Haz clic en Ir para ejecutar

💡 Nota sobre el prefijo de tabla: Los comandos a continuación usan wp_ como prefijo de tabla. Si tu instalación de WordPress usa un prefijo diferente (como wpdb_ o wp123_), necesitas reemplazar wp_ con tu prefijo real en todos los comandos a continuación.

Para encontrar tu prefijo, mira los nombres de las tablas en phpMyAdmin – todos comienzan con el mismo prefijo.

-- Convertir tablas de WooCommerce
ALTER TABLE wp_woocommerce_order_items CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_woocommerce_order_itemmeta CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_woocommerce_payment_tokens CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_woocommerce_payment_tokenmeta CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_woocommerce_sessions CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_woocommerce_shipping_zones CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_woocommerce_shipping_zone_locations CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_woocommerce_shipping_zone_methods CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_woocommerce_tax_rates CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_woocommerce_tax_rate_locations CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Convertir tablas de Botoscope
ALTER TABLE wp_botoscope_advertising CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_booking_reservations CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_booking_slots CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_booking_slots_targeted CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_broadcast CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_controls CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_elogios CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_extensions CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_interface_translations CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_marketing_campaigns CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_marketing_campaigns_products CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_marketing_campaigns_products_excluded CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_marketing_campaigns_terms CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_marketing_strategies CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_botoscope_marketing_strategies_formulas CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Convertir tablas principales de WordPress (opcional pero recomendado)
ALTER TABLE wp_posts CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_postmeta CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_comments CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_commentmeta CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_terms CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_term_taxonomy CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_term_relationships CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_termmeta CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_users CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_usermeta CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_options CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE wp_links CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Ventaja: Método más directo y confiable. Funciona en cualquier proveedor de hosting que proporcione acceso a phpMyAdmin.

✅ Después de la Conversión (Todos los Métodos):

  1. Ve a Botoscope → Controles del Sistema en tu administrador de WordPress
  2. Haz clic en “Restablecer caché de datos completos del bot”
  3. Prueba crear un pedido con emoji en el nombre del producto – ¡debería funcionar ahora! ✨
Bueno saber: Esta conversión es segura y no afectará tus datos existentes. Solo cambia cómo la base de datos almacena caracteres de texto, permitiéndole soportar emojis y caracteres especiales de todos los idiomas.
🚨 Si obtienes un error: Algunos proveedores de hosting muy antiguos pueden no soportar la codificación UTF-8mb4. En este caso, Botoscope funcionará automáticamente en modo de compatibilidad – los emojis serán eliminados de los nombres de productos, pero todo lo demás funcionará normalmente.
⚠️ Nota: Si obtienes un error “La tabla no existe”, simplemente omite ese comando y continúa con el siguiente. Esto sucede cuando ciertos módulos de Botoscope no están instalados en tu sitio.
0
¡Genial! 
¡Error!