Как добавить удалённый вызов в WPBono Telegram Bot

WPBono — это современный подход к интеграции WordPress с внешними сервисами, и Telegram Bot здесь выступает как удобный инструмент для управления сайтом удалённо. В этой статье мы подробно разберём, как добавить функционал удалённого вызова через Telegram Bot, чтобы управлять сайтом с помощью команд в мессенджере.

Что такое удалённый вызов и зачем он нужен в WPBono Telegram Bot

Удалённый вызов — это возможность запускать определённые функции или получать данные с сайта WordPress через сообщения в Telegram. Такой функционал позволяет:

  • Автоматизировать задачи администрирования сайта;
  • Получать уведомления и отчёты в режиме реального времени;
  • Выполнять команды без доступа к панели управления WordPress;
  • Упростить мониторинг и поддержку сайта.

Для WPBono Telegram Bot мы реализуем удалённый вызов, который будет обрабатывать команды от администратора и выполнять функции по запросу.

Настройка WPBono Telegram Bot для поддержки удалённых вызовов

Начнём с подготовки плагина WPBono Telegram Bot. Если он ещё не установлен, скачайте его с официального сайта и активируйте.

Далее необходимо настроить API Telegram и получить токен бота через BotFather. После этого сконфигурируйте плагин, указав токен и ID администратора, который сможет отправлять команды.

Пример конфигурации в файле wpbono-telegram-bot-config.php:

<?php
return [
    'telegram_token' => 'ВАШ_ТОКЕН_БОТА',
    'admin_chat_id' => 'ВАШ_CHAT_ID',
];

Создание функции удалённого вызова в WPBono: пример кода

Для обработки удалённых вызовов добавим функцию с префиксом wpbono_, которая будет запускаться при получении определённой команды в Telegram.

Пример функции, которая возвращает количество опубликованных записей на сайте:

function wpbono_get_published_posts_count() {
    $count = wp_count_posts()->publish;
    return "Опубликованных записей: " . $count;
}

Далее в основном обработчике сообщений Telegram добавим вызов этой функции по команде /posts_count:

add_action('wpbono_telegram_receive_message', function($message) {
    if ($message['text'] === '/posts_count') {
        $response = wpbono_get_published_posts_count();
        wpbono_send_message($message['chat']['id'], $response);
    }
});

Таким образом, при отправке команды /posts_count в чат бота, вы получите актуальное число опубликованных записей.

Расширение функционала: добавление новых команд

По аналогии с примером выше можно добавить команды для:

  • Получения статистики посещений;
  • Управления публикациями (например, удаление или черновики);
  • Уведомлений о новых комментариях;
  • Запуска резервного копирования.

Пример команды для получения списка последних 5 комментариев:

function wpbono_get_last_comments($number = 5) {
    $comments = get_comments(['number' => $number, 'status' => 'approve']);
    $output = "Последние комментарии:\n";
    foreach ($comments as $comment) {
        $output .= "- " . $comment->comment_author . ": " . wp_trim_words($comment->comment_content, 10) . "\n";
    }
    return $output;
}

add_action('wpbono_telegram_receive_message', function($message) {
    if ($message['text'] === '/last_comments') {
        $response = wpbono_get_last_comments();
        wpbono_send_message($message['chat']['id'], $response);
    }
});

Обеспечение безопасности удалённых вызовов в WPBono Telegram Bot

Очень важно ограничить доступ к удалённым вызовам только доверенным пользователям. Для этого:

  • Проверьте chat_id отправителя в обработчике сообщений и игнорируйте команды от неизвестных пользователей.
  • Используйте уникальные токены доступа или пароли в командах, если необходимо.
  • Реализуйте логирование всех вызовов для аудита и обнаружения подозрительной активности.

Пример проверки ID пользователя:

add_action('wpbono_telegram_receive_message', function($message) {
    $allowed_chat_id = 'ВАШ_CHAT_ID';
    if ($message['chat']['id'] !== $allowed_chat_id) {
        return; // Игнорируем команды от сторонних
    }
    // Обработка команд
});

Использование плагина Clearfy Pro для оптимизации работы WPBono Telegram Bot

Для улучшения производительности и безопасности сайта при работе с удалёнными вызовами через Telegram рекомендуем использовать Clearfy Pro. Он поможет:

  • Отключить ненужные REST API эндпоинты, которые могут представлять угрозу;
  • Оптимизировать загрузку скриптов и стилей, чтобы не замедлять работу бота;
  • Управлять доступом к функциям WordPress на уровне безопасности;
  • Автоматизировать очистку базы данных для стабильной работы.

Использование Clearfy Pro обеспечит надёжный фундамент для расширения функционала WPBono Telegram Bot.

Полезные рекомендации и советы по отладке удалённых вызовов

При разработке и тестировании удалённых вызовов в WPBono Telegram Bot обратите внимание на:

  • Логирование входящих и исходящих сообщений для отладки;
  • Проверку корректности и валидности данных, получаемых из Telegram API;
  • Тестирование всех команд в разных сценариях использования;
  • Обновление плагина WPBono и Telegram Bot API для совместимости и безопасности.

Для логирования можно использовать файл или опцию WordPress, например:

function wpbono_log($message) {
    if (is_array($message) || is_object($message)) {
        $message = print_r($message, true);
    }
    error_log('[WPBono] ' . $message);
}

Вызов wpbono_log($message) поможет отслеживать детали работы бота.

Как добавить динамические параметры в URL WordPress для фильтрации контента
15.02.2026
Использование хука wpbono_pre_update_post для кастомизации обновления записей в WordPress
15.01.2026
WooCommerce: как исключить определённые товары из отложенных заказов
10.05.2026
WooCommerce: как исключить товары со скидкой из способов оплаты
30.04.2026
Как добавить Custom Post Type в WordPress: подробное руководство с примерами
24.11.2025