Встановлення Botoscope на ваш магазин WooCommerce

Після створення вашого бота, виконайте ці кроки, щоб підключити ваш сайт WooCommerce до Botoscope:

🛠 Крок 1: Редагуйте ваш файл wp-config.php

На вашому сервері відкрийте файл wp-config.php вашої установки WordPress і додайте наступні рядки перед рядком:

/* Це все, припиніть редагування! Щасливого публікування. */

Використовуйте наступний код (показані прикладові значення):

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);
Де знайти ці дані?
Після активації вашого бота в системі Botoscope, ви побачите всі необхідні облікові дані (токен, ім’я користувача, проксі-сервер, API ключ і пароль клієнта) безпосередньо на вашій панелі управління.
Просто скопіюйте їх і вставте у ваш файл wp-config.php.

🔤 Налаштування кодування бази даних (Критично для підтримки емодзі)

🚨 КРИТИЧНО: Щоб забезпечити правильну підтримку емодзі у вашому магазині WooCommerce (необхідно для зв’язку з Telegram), ВИ ПОВИННІ перевірити налаштування кодування вашої бази даних у wp-config.php

⚠️ Проблема

Багато установок WordPress все ще використовують старе кодування utf8, яке НЕ підтримує емодзі. Це призведе до:

  • ❌ Видалення емодзі з назв/описів продуктів
  • ❌ Помилки бази даних при збереженні контенту з емодзі
  • ❌ Невдачі при створенні замовлень у Telegram
  • ❌ Збої синхронізації продуктів між WooCommerce і Telegram

✅ Рішення

Відкрийте ваш файл wp-config.php і знайдіть ці рядки (зазвичай біля налаштувань бази даних):

❌ НЕПРАВИЛЬНО (старий формат - НЕ підтримує емодзі):
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

Змініть їх на:

✅ ПРАВИЛЬНО (підтримує емодзі):
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', 'utf8mb4_unicode_ci');
⚠️ Вже визначені ці рядки?
Якщо ви бачите попередження на кшталт Константа DB_CHARSET вже визначена, ці константи вже встановлені у вашому wp-config.php. Просто знайдіть і оновіть існуючі значення – НЕ додавайте дублікати рядків.

Важливі примітки:

  • Зробіть цю зміну ПЕРЕД встановленням Botoscope для найкращих результатів
  • НЕ пропускайте налаштування DB_COLLATE – обидва рядки є обов’язковими
  • Після зміни, перейдіть до Botoscope → Системні налаштування і натисніть “Скинути повний кеш даних бота”
💡 Вже встановили Botoscope з неправильним кодуванням?
Якщо ви вже використовували Botoscope з кодуванням utf8, вам потрібно буде конвертувати ваші існуючі таблиці бази даних. Дивіться розділ “Налаштування кодування бази даних” нижче для методів конвертації.

📦 Крок 2: Встановіть плагін Botoscope

  1. Увійдіть у вашу панель адміністратора WordPress.
  2. Перейдіть до Плагіни → Додати новий.
  3. Завантажте ZIP-файл плагіна Botoscope.
  4. Натисніть Встановити зараз, потім Активувати.

⚙️ Крок 3: Запустіть початкову конфігурацію

  1. У панелі адміністратора WordPress перейдіть до Botoscope → Системні налаштування.
  2. Натисніть кнопку “Скинути повний кеш даних бота”.
  3. Зачекайте ~ хвилину — сайт буде синхронізовано з вашим магазином у Telegram

✅ Готово!

Ваш магазин тепер підключено до Telegram

Тепер ви можете:

  • Керувати вашими продуктами
  • Налаштовувати платіжні системи
  • Контролювати категорії та ціни
  • І багато іншого — відповідно до потреб вашого бізнесу

🔧 Додаткові функції та рекомендації

🧩 Фільтрація продуктів

Якщо ви хочете додати розширену фільтрацію продуктів, встановіть плагін
HUSKY – WooCommerce Products Filter Professional:
🔗 https://products-filter.com/downloads

💱 Перемикання валют

Якщо ви хочете, щоб ваші клієнти могли перемикатися між валютами, встановіть плагін
FOX – WooCommerce Currency Switcher Professional:
🔗 https://currency-switcher.com/downloads

📄 Завантаження PDF-рахунків для клієнтів

Якщо ви хочете, щоб клієнти могли завантажувати PDF-рахунки зі сторінки замовлення або електронної пошти, встановіть плагін:
🔗 WooCommerce PDF Invoices & Packing Slips

Після встановлення перейдіть до wp-admin/admin.php?page=wpo_wcpdf_options_page → Вкладка “Додатково” і застосуйте наступні налаштування:

  1. Тип доступу до посилання на документПовний
  2. Гарні посилання на документиТак
  3. У вкладці ІнструментиГенерувати випадкову тимчасову директорію

Після встановлення одного або всіх рекомендованих плагінів, перейдіть до налаштувань Botoscope, відкрийте вкладку Системні налаштування і натисніть кнопку “Скинути повний кеш даних бота”.


🔤 Налаштування кодування бази даних (Для підтримки емодзі)

⚠️ Важливо: Якщо ви помічаєте, що назви продуктів з емодзі (наприклад, 💅, 🎨, ✨) не зберігаються правильно або замовлення не створюються, вам потрібно конвертувати ваші таблиці бази даних у кодування UTF-8mb4.

🎯 Виберіть свій метод:

Ми пропонуємо три простих способи виправити кодування. Виберіть той, який найкраще підходить для вас:

  • Метод 1: Плагін в один клік (Найпростіший!) 🎉
  • Метод 2: PHP код (Для розробників) 💻
  • Метод 3: Прямий SQL (Найбільший контроль) 🔧

✨ Метод 1: Плагін в один клік (Рекомендовано для початківців)

Це найпростіший метод – просто встановіть плагін і натисніть одну кнопку!

  1. У панелі адміністратора WordPress перейдіть до Плагіни → Додати новий
  2. Знайдіть “WP phpMyAdmin Extension”
  3. Встановіть і активуйте плагін: WP phpMyAdmin Extension
  4. Перейдіть до Інструменти → phpMyAdmin у панелі адміністратора WordPress
  5. Натисніть на вкладку SQL
  6. Скопіюйте та вставте SQL команди з Методу 3 нижче
  7. Натисніть Виконати
Перевага: Не потрібно залишати панель адміністратора WordPress – все виконується у вашій знайомій панелі!

💻 Метод 2: Одноразовий PHP код

Якщо ви комфортно редагуєте PHP файли, цей метод автоматично виконує конвертацію при завантаженні сторінки.

🚨 Важливо: Переконайтеся, що ви зробили резервну копію вашої бази даних перед запуском цього коду!

Варіант A: Через functions.php WordPress (Тимчасово)

  1. Перейдіть до Зовнішній вигляд → Редактор файлів теми
  2. Відкрийте functions.php (права панель)
  3. Додайте цей код в самому кінці файлу:
// ТИМЧАСОВО: Конвертувати базу даних у UTF8MB4
// ВИДАЛІТЬ ЦЕЙ КОД ПІСЛЯ ОДНОРАЗОВОГО ЗАПУСКУ!
add_action('admin_init', function() {
    if (!get_option('botoscope_db_converted_utf8mb4')) {
        global $wpdb;
        
        $prefix = $wpdb->prefix;
        
        // Таблиці 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',
        ];
        
        // Таблиці 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 ''; } });

✅ База даних успішно конвертована у UTF8MB4! Тепер ви можете видалити код з functions.php

  1. Натисніть Оновити файл
  2. Перейдіть на будь-яку сторінку в панелі адміністратора WordPress (наприклад, Панель управління)
  3. Ви побачите повідомлення про успішну конвертацію, коли вона завершиться
  4. ВАЖЛИВО: Поверніться до functions.php і ВИДАЛІТЬ код, який ви щойно додали

Варіант B: Через окремий PHP файл

  1. Створіть новий файл під назвою convert-db.php у кореневій директорії вашого WordPress
  2. Вставте цей код у файл:
<?php
// Завантажити WordPress
require_once('wp-load.php');

if (!current_user_can('manage_options')) {
    die('Доступ заборонено');
}

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

echo '<h1>Конвертація бази даних у UTF8MB4...</h1>';

// Таблиці 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',
];

// Таблиці 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 "Конвертація {$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;">✅ Успіх</span><br>';
    } else {
        echo '<span style="color: red;">❌ Помилка: ' . $wpdb->last_error . '</span><br>';
    }
}

echo '<h2 style="color: green;">✅ Конвертація завершена!</h2>';
echo '<p><strong>ВАЖЛИВО:</strong> Видаліть цей файл (convert-db.php) з вашого сервера зараз!</p>';
?>
  1. Завантажте файл у кореневу директорію вашого WordPress (де знаходиться wp-config.php)
  2. Відкрийте ваш браузер і перейдіть за адресою: https://yoursite.com/convert-db.php
  3. Зачекайте, поки конвертація завершиться
  4. ВАЖЛИВО: Видаліть файл convert-db.php з вашого сервера!
Перевага: Ви можете бачити прогрес конвертації в реальному часі і відразу виявляти будь-які помилки.

🔧 Метод 3: Прямий SQL у phpMyAdmin

Це найпряміший метод, якщо ви комфортно використовуєте phpMyAdmin.

📋 Покрокові інструкції:

  1. Увійдіть у панель управління хостингом (cPanel, Plesk тощо)
  2. Відкрийте phpMyAdmin
  3. Виберіть вашу базу даних WordPress з лівої панелі
  4. Натисніть на вкладку SQL вгорі
  5. Скопіюйте та вставте SQL команди нижче
  6. Натисніть Виконати для виконання

💡 Примітка про префікс таблиці: Команди нижче використовують wp_ як префікс таблиці. Якщо ваша установка WordPress використовує інший префікс (наприклад, wpdb_ або wp123_), вам потрібно замінити wp_ на ваш фактичний префікс у всіх командах нижче.

Щоб знайти ваш префікс, подивіться на назви таблиць у phpMyAdmin – всі вони починаються з одного і того ж префікса.

-- Конвертувати таблиці 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;

-- Конвертувати таблиці 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;

-- Конвертувати основні таблиці WordPress (необов'язково, але рекомендовано)
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;
Перевага: Найбільш прямий і надійний метод. Працює на будь-якому хостинг-провайдері, який надає доступ до phpMyAdmin.

✅ Після конвертації (всі методи):

  1. Перейдіть до Botoscope → Системні налаштування у вашій панелі адміністратора WordPress
  2. Натисніть “Скинути повний кеш даних бота”
  3. Перевірте створення замовлення з емодзі в назві продукту – тепер це має працювати! ✨
Добре знати: Ця конвертація безпечна і не вплине на ваші існуючі дані. Вона лише змінює спосіб зберігання текстових символів у базі даних, дозволяючи підтримувати емодзі та спеціальні символи з усіх мов.
🚨 Якщо ви отримали помилку: Деякі дуже старі хостинг-провайдери можуть не підтримувати кодування UTF-8mb4. У цьому випадку Botoscope автоматично працюватиме в режимі сумісності – емодзі будуть видалені з назв продуктів, але все інше функціонуватиме нормально.
⚠️ Примітка: Якщо ви отримали помилку “Таблиця не існує”, просто пропустіть цю команду і продовжуйте з наступною. Це трапляється, коли певні модулі Botoscope не встановлені на вашому сайті.
0
Чудово! 
Помилка!