comment4tg Pro - Документация

Инструкции | Сегодня, 14:48 11

Документация к плагину синхронизации комментариев из Телеграм с базой сайта.

💬 comment4tg Pro

📦 CMS DataLife Engine 🤖 Telegram Bot API 🔄 Полная синхронизация 🌐 Прокси-поддержка
Version 1.0.0 | Стабильный релиз | 24 апреля 2026

📖 О плагине

comment4tgpro — это профессиональный плагин для CMS DataLife Engine (DLE), который полностью заменяет стандартную систему комментариев на живые обсуждения в Telegram. Вместо устаревшей формы комментирования на сайте — удобный Telegram-канал, где читатели могут обсуждать ваши статьи, а вы получаете все преимущества современного мессенджера.

✨ Полная замена комментариев

Переносит обсуждения из сайта в Telegram-канал. Каждая новость получает свою ветку обсуждения.

📊 Счётчик комментариев

Отображает количество комментариев к каждой статье прямо на сайте. Поддерживает вложенные ответы.

💬 Виджет последних комментариев

Показывает последние 3-5 комментариев из Telegram в стиле Disqus. Удобно и наглядно.

🔄 CRON-синхронизация

Автоматическая синхронизация комментариев между Telegram и сайтом. Всё хранится в вашей БД.

🌐 Поддержка прокси

Встроенная поддержка Cloudflare Worker для обхода блокировок Telegram API в России.

🔗 Прямые ссылки в Telegram

Ссылка «Все комментарии в Telegram →» ведёт прямо в нужную ветку обсуждения.

⚙️ Системные требования

  • 🔹 DataLife Engine ≥ 13.0 (протестировано на DLE 14.1 и 19+)
  • 🔹 PHP ≥ 7.1 (рекомендуется 7.4+)
  • 🔹 MySQL ≥ 5.7
  • 🔹 Расширения: json, mysqli, file_get_contents / cURL
  • 🔹 Telegram-бот (создаётся через @BotFather)
  • 🔹 Telegram-канал (для публикации новостей)
  • 🔹 Скрытая группа канала (для хранения комментариев)

🚀 Быстрая установка

  1. 📁 Скопировать папку comment4tgpro в /plugins/tcse/
  2. 📁 Скопировать файл /engine/inc/comment4tgpro.php (подключение модуля в админку)
  3. 📁 Скопировать /engine/modules/comment4tgpro/ (админка плагина)
  4. 🎨 Скопировать шаблон comment4tgpro.tpl в /templates/ВАШ_ШАБЛОН/custom/comments/
  5. 🔧 Проверить права на папку data/ (должна быть доступна для записи)
  6. ⚙️ Перейти в админку DLE → comment4tg Pro → указать токен бота, канал, ID группы
  7. 📝 В шаблон fullstory.tpl добавить: {include file="custom/comments/comment4tgpro.tpl"}
  8. 🔄 Настроить CRON (каждые 5-10 минут)

Готов к работе!

📁 Структура проекта

/plugins/tcse/comment4tgpro/
├── config.php # Настройки (токен, канал, прокси)
├── telegram_comment.php # Отправка новости в Telegram

├── ajax/
│ ├── .htaccess # Доступ к AJAX-файлам
│ ├── stats.php # Получение счётчика комментариев
│ ├── sync_count.php # Принудительная синхронизация счётчика
│ ├── get_comments.php # Получение последних комментариев
│ └── get_telegram_id.php # Получение ID сообщения в канале

├── cron/
│ └── sync_messages.php # CRON-синхронизация сообщений из группы

└── data/
└── last_update.txt # Хранилище состояния синхронизации

/engine/inc/
└── comment4tgpro.php # Подключение модуля к админке DLE

/engine/modules/comment4tgpro/
└── main.php # Административная панель

/templates//templates/tcseby/custom/comments/
└── comment4tgpro.tpl # Виджет комментариев

🎨 Виджет комментариев

Вставьте в шаблон fullstory.tpl в нужное место:

{include file="custom/comments/comment4tgpro.tpl"}

Виджет автоматически отображает:

  • ✅ Кнопку «Обсудить в Telegram» (или ссылку, если обсуждение уже создано)
  • ✅ Счётчик комментариев в Telegram (с правильным склонением)
  • ✅ Блок последних комментариев (стиль Disqus)
  • ✅ Ссылку «Все комментарии в Telegram →» (ведёт в ветку обсуждения)
  • ✅ Кнопку «🔄» для ручного обновления статистики

🎨 Стилизация

Все стили встроены в шаблон и не требуют подключения Bootstrap. Для изменения внешнего вида отредактируйте .tg-comment-item, .btn-telegram и другие классы в файле comment4tgpro.tpl.

🗄️ Таблицы базы данных

Таблица Описание
{prefix}_comment4tgpro Основная таблица: связь новостей сайта с сообщениями в Telegram канале и группе.
{prefix}_comment4tgpro_reply Хранилище всех комментариев из Telegram (тексты, авторы, даты).

Структура таблицы _comment4tgpro

ПолеТипОписание
news_idINT UNSIGNEDID новости на сайте (PRIMARY KEY)
telegram_message_idINT UNSIGNEDID сообщения в Telegram-канале
group_message_idINT NULLID пересланного сообщения в скрытой группе
telegram_comments_countINTКэш количества комментариев
last_syncTIMESTAMPВремя последней синхронизации
created_atDATETIMEДата создания обсуждения

Структура таблицы _comment4tgpro_reply

ПолеТипОписание
idINTПервичный ключ
news_idINTID новости на сайте
group_message_idINT UNIQUEID сообщения в группе
reply_to_group_idINT NULLID сообщения, на которое отвечают
usernameVARCHAR(255)Имя пользователя в Telegram
message_textTEXTТекст комментария (с поддержкой медиа)
message_dateTIMESTAMPДата комментария
created_atTIMESTAMPДата добавления в БД

🌐 Настройка прокси (Cloudflare Worker)

Для обхода блокировок Telegram API в России плагин поддерживает прокси-сервер на базе Cloudflare Worker.

Код Worker для Cloudflare

export default {
  async fetch(request, env) {
    const url = new URL(request.url);
    const path = url.pathname;
    const method = request.method;
    
    const PROXY_TOKEN = env.PROXY_TOKEN;
    const authToken = url.searchParams.get('token') || request.headers.get('X-Auth-Token');
    
    if (authToken !== PROXY_TOKEN) {
      return new Response('Unauthorized', { status: 401 });
    }
    
    let telegramUrl;
    if (path.startsWith('/bot')) {
      telegramUrl = `https://api.telegram.org${path}`;
    } else {
      return new Response('Not Found', { status: 404 });
    }
    
    const searchParams = url.searchParams;
    searchParams.delete('token');
    const queryString = searchParams.toString();
    const fullUrl = telegramUrl + (queryString ? `?${queryString}` : '');
    
    const response = await fetch(fullUrl, { method, headers: request.headers });
    const responseHeaders = new Headers(response.headers);
    responseHeaders.set('Access-Control-Allow-Origin', '*');
    
    return new Response(response.body, {
      status: response.status,
      headers: responseHeaders
    });
  }
};

Конфигурация плагина

$proxyConfig = [
    'enabled' => true,
    'url' => 'https://telegram-proxy.ваш-домен.workers.dev',
    'token' => 'ваш_секретный_ключ'
];

🔄 Настройка CRON

Для автоматической синхронизации комментариев добавьте задачу в планировщик CRON (каждые 5 минут):

*/5 * * * * php /путь/до/сайта/plugins/tcse/comment4tgpro/cron/sync_messages.php >> /путь/до/сайта/comment4tgpro_sync.log 2>&1

или через wget (если нет доступа к PHP CLI):

*/5 * * * * wget -q -O /dev/null "https://ваш-сайт.ru/plugins/tcse/comment4tgpro/cron/sync_messages.php?cron_key=9867999"

🔌 AJAX Endpoints

URLПараметрыОписание
/ajax/stats.php news_id=XXX Возвращает количество комментариев для новости
/ajax/sync_count.php news_id=XXX Принудительное обновление счётчика из БД
/ajax/get_comments.php news_id=XXX&limit=5 Возвращает последние комментарии
/ajax/get_telegram_id.php news_id=XXX Возвращает telegram_message_id для ссылки

🐛 Устранение неполадок

ПроблемаРешение
⚠️ Бот не отправляет сообщения Проверить токен бота, добавить бота в канал как администратора
⚠️ Не синхронизируются комментарии Проверить ID группы, бот должен быть администратором скрытой группы
⚠️ CRON не работает Убедиться, что PHP-скрипт запускается из командной строки или через wget
⚠️ Ошибка 403 в AJAX Проверить права доступа к папке ajax/ и наличие .htaccess
⚠️ Ссылка «Все комментарии» ведёт в канал Обновить файл get_telegram_id.php (убрать лишнюю скобку в require)

📋 Changelog

Version 1.0.0 — 24 апреля 2026

  • ✅ Полная поддержка DLE 14.1 и DLE 19.x
  • ✅ Счётчик комментариев с поддержкой вложенных ответов
  • ✅ Виджет последних комментариев в стиле Disqus
  • ✅ CRON-синхронизация с рекурсивным обходом цепочек ответов
  • ✅ Поддержка прокси (Cloudflare Worker)
  • ✅ Прямая ссылка на ветку обсуждения в Telegram
  • ✅ Отображение всех типов сообщений (текст, фото, видео, стикеры и т.д.)
  • ✅ Автоматическое создание таблиц БД при установке
Виталий Чуяков

Виталий Чуяков

Технологический прагматик

Веб-разработчик с 20-летним стажем, основатель веб-студии TCSE. Специализация: DLE «под ключ», Webasyst, Parts-Soft.ru, технический аудит.

🧠 20 лет 🚀 120+ проектов 📄 45+ статей
DLE-comment4tg — замена комментариев на сайте на обсуждения в Telegram

TCSE представляет DLE-comment4tg — инновационный плагин для CMS DataLife Engine, который позволяет полностью заменить...

Подробнее
Зачем я заменил скучные комментарии на сайте на хайп из Telegram (и вы тоже можете)

Привет, коллеги-владельцы сайтов на DLE! Давайте начистоту: стандартная система комментариев — это часто боль, а не...

Подробнее
Telegram Music Hub (TMH): Ваш музыкальный контент из Telegram — в профессиональном веб-плеере

Инновационное решение от TCSE, превращающее Telegram-канал в полноценную стриминговую платформу. Telegram стал надежным...

Подробнее
Авторский комментарий: Потому что без гаджетов — не бизнес

Пока мы тут спорим о стратегиях, не забываем и про технологические «плюшки», которые позволяют не просто работать в...

Подробнее
TMH by TCSE: Опция Блога — Инновационный Подход к Контенту из Telegram

TMH by TCSE — это не просто музыкальный хаб, а современная платформа, которая превращает контент, созданный напрямую в...

Подробнее
Плагин instagram виджет для DLE

Бесплатный Instagram виджет для сайта: Транслируйте ваши фотографии из Instagram.com прямо на вашем сайте. Оригинал...

Подробнее

💬 Комментарии

В связи с новыми требованиями законодательства РФ (ФЗ-152, ФЗ «О рекламе») и ужесточением контроля со стороны РКН, мы отключили систему комментариев на сайте.

🔒 Важно Теперь мы не собираем и не храним ваши персональные данные — даже если очень захотим.

💡 Хотите обсудить материал?

Присоединяйтесь к нашему Telegram-каналу:

https://t.me/tcsecms

Нажмите кнопку ниже — и вы сразу попадёте в чат с комментариями