Добро пожаловать на сайт SEDBY

Плагин Telegram

  • 314 просмотров +1
  • 30 ноября, 2025
  • Обновлено: 14 декабря, 2025
  • admin
  • Время чтения: 4 минуты
  • 2 (Подробно)
Плагин Telegram
Обратная связь в Телеграм из сайта на Cotonti Siena

Форма обратной связи является традиционным и обязательным элементом любого веб-сайта. Алгоритмы получения фидбека от посетителей могут быть разными и, в-основном, варьируются между отправкой данных на почту и записью их в MySQL базу данных.

Рост популярности мессенджеров определяет необходимость в использовании этих приложений, в частности Телеграм, для получения и дальнейшей обработки данных обратной связи. Именно для этого был написано одноименное расширение для CMS Cotonti Siena.

Установка и настройка плагина Telegram

Работа плагина Telegram зависит от некоторых особенностей как движка, так и самого мессенджера. Если говорить конкретно, то это связано с двумя моментами:

  • алгоритмом получения сообщений в Telegram,
  • ограничениями файла настроек расширений Cotonti Siena.

Предварительные настройки Телеграм бота

Начнем с настройки Телеграм. Первое действие – создание Телеграм бота, который будет получать обратную связь с сайта и перенаправлять в указанную локацию (пользователю или группе).

Ищем и открываем бот под названием BotFather и командой

/newbot

создаем нового бота. Для этого необходимо ввести два параметра:

  • name (человекопонятное имя),
  • username (алиас, который обязательно должен оканчиваться подстрокой “bot”).

После создания бота копируем его token. Он понадобится нам в дальнейшем для настройки плагина. Если с первой попытки не вышло, токен можно пересоздать командой

/revoke

Уведомления от бота может получать только один подключившийся пользователь (остальные увидят их только при обращении). На этом пока остановимся и получим id вашего аккаунта. Для этого обратимся к боту userinfobot и введем команду

/start

Полученный id сохраним.

Установка и конфигурирование плагина

Инсталляция стандартная: скачиваем, выгружаем, устанавливаем. Дальше начинается одна маленькая особенность. Возможно, вы уже заметили, что в токене Телеграм бота используется символ “:”. Но в файле настроек любого расширения Cotonti именно этот символ используется в качестве разделителя. Таким образом, единственный выход – использование конфигурационного файла. Дефолтный файл находится здесь: plugins\telegram\inc\telegram.cfg.default.php. Как видим, в нем присутствуют три конфигурационные переменные:

  • $telegram_bot_token,
  • $telegram_chat_id,
  • $telegram_title.

По первым двум все понятно, а в третьей укажем понятное название сайта, с которого будет приходить обратная связь. Это будет полезно при нескольких отслеживаемых проектах.

Чтобы не перезаписать дефолтный файл при обновлении плагина, скопируем его под удобным или понятным названием, например plugins\telegram\inc\telegram.cfg.my_project.php и заполним нашими данными. Для подключения укажем подстроку my_project в единственной настройке нашего плагина:

Настройка плагина Telegram в панели администрирования
Настройка плагина Telegram в панели администрирования

Настройка шаблона и вывод формы

В комплекте плагина идет дефолтный TPL-шаблон с простой формой из трех элементов:

  • имя,
  • телефон,
  • электронная почта,
  • сообщение.

Для вывода шаблона используется функция sedby_telegram_widget(), принимающая единственный аргумент:

  • $tpl = ‘telegram’ – указывает имя шаблона

Таким образом, разместить форму обратной связи в шаблоне можно с помощью ее простого вызова:

{PHP|sedby_telegram_widget()}

Валидация средствами HTML5 на стороне клиента. Через кастомный шаблон можно подключить собственный Javascript или jQuery валидатор.

Тестирование и расширение возможностей плагина

Если все настройки выполнены правильно, на странице будет выведена дефолтная форма обратной связи. При правильном заполнении формы она будет отправлена боту, а ваш аккаунт получит уведомление:

Данные из формы обратной связи, отправленные плагином Telegram
Данные из формы обратной связи, отправленные плагином Telegram

Обратите внимание на то, что вместе с данными вы получите IP отправителя.

При необходимости получения дополнительной информации можно использовать хук telegram.add.content

Предположим, ваши формы располагаются на различных страницах сайта. Модифицируем атрибут action формы в шаблоне плагина для передачи названия страницы:

action="index.php?r=telegram&a=send&location={PHP.pag.page_title}"

В проектном плагине создаем часть с указанным хуком со следующим содержимым:

<?php
/* ====================
[BEGIN_COT_EXT]
Hooks=telegram.add.content
[END_COT_EXT]
==================== */

defined('COT_CODE') or die('Wrong URL');

$location = cot_import('location', 'G', 'TXT');
$content .= Cot::$L['Location'] . ": " . $location . "\n";

Теперь в сообщении вы получите также и название страницы:

С помощью хука плагин может отправлять дополнительную информацию
С помощью хука плагин может отправлять дополнительную информацию

Для кастомизации желательно использовать собственный TPL-шаблон.

По умолчанию плагин Telegram доступен в локации страниц модуля Page (хук page.tags). При необходимости расширить доступность, используйте часть проектного плагина с соответствующим хуком. Например, для разделов страниц:

<?php
/* ====================
[BEGIN_COT_EXT]
Code=telegram
Hooks=page.list.tags
[END_COT_EXT]
==================== */

defined('COT_CODE') or die('Wrong URL');

require_once cot_langfile('telegram', 'plug');
require_once cot_incfile('telegram', 'plug');

Resources::linkFileFooter('plugins/telegram/js/telegram.js', 'js');

Отправка уведомлений нескольким аккаунтам Telegram

Часто необходимо сделать так, чтобы уведомления и сами сообщения об отправке форм с сайта получали несколько telegram-аккаунтов. Для этого создаем группу, куда добавляем нашего бота (с параметрами администратора) и другие необходимые аккаунты.

Теперь заходим в бот IDBot и командой

/getgroupid

получаем id группы (должен начинаться с “-100”). Указываем данный код в параметре $telegram_chat_id. Теперь данные обратной связи будут приходить в группу, в все ее участники – получить соответствующие уведомления.

Приятного использования. Свои отзывы, пожелания и багрепорты отставляйте в комментариях на нашем сайте (не требуют регистрации) или в Issues на Github.

Обновления плагина Telegram:
10.12.2025 Пакет мелких исправлений от 10 декабря 2025 г.

Комментарии:
Комментарии отсутствуют

Новый комментарий

Ваш комментарий будет доступен для редактирования 10 минут
Блок пользователя
Регистрация на нашем сайте позволит вам общаться на форумах и получить доступ к другому полезному функционалу
Вы вошли как Гость