Telegram API - компонент для работы с мессенджером Telegram

Компонент для InstantCMS 2.x , совместимость 2.5.1-2.8.2 , открытый исходный код

  • Рейтинг: 5.0
  • Просмотры: 7764
  • Подписчики: 25
  • Добавлен: 23.10.2017

Компонент позволяет подружить InstantCMS и мессенджер Telegram и упростить пользователям мессенджера использование сайта.

Возможности компонента:

  1. Отправка любых уведомлений в мессенджер Телеграм (настраивается пользователем)
  2. Выгрузка в заданный админом канал Ленты событий сайта (можно настроить типы выгружаемых событий)
  3. Выгрузка в заданный владельцем группы канал событий Группы (можно настроить типы выгружаемых событий)
  4. Поддержка компонента SmartChat — транслирование сообщений в Телеграм канал (заданный в виджете или в настройке группы если это чат Группы)
  5. Массовая или выборочная отправка сообщений пользователям в мессенджер Телеграм.
  6. Выгрузка событий друзей в приват пользователю (реализуется с помощью дополнительного компонента)
  7. Выгрузка событий по созданию записей в типах контента с иллюстрациями
  8. Хештеги для типов контента
  9. Выгрузка собственной ленты пользователя в свой собственный канал Телеграм
  10. Поле в профиль для авторизации в Телеграм, которое отображается только в своем профиле
  11. Поддержка коротких ссылок goo.gl — реализуется дополнительным компонентом (бесплатным).


В комплект входят три поля

  1. «URL канала Telegram», которое можно добавить в профиль или типы контента.
  2. «Число подписчиков на telegram канале'»
  3. «QR код для авторизации в Телеграм»

Важно! В этой версии обязательное условие для работы компонента — ssl сертификат. Это необходимое требование для того, чтобы бот мог получать и обрабатывать новые сообщения. Без этого бот не сможет авторизовать пользователей (и соответственно не сможет слать им уведомления) и не сможет выводить в чат сообщения из Телеграм. Будет работать только выгрузка сообщения компонента SmartChat (из виджета или группы) в Телеграм и вывод Ленты событий в Телеграм.


Настройка компонента в админке

1. нужно создать специального бота для сайта (если сайтов у вас много, то для каждого создаем отдельного бота)

2. создаем новый Телеграм канал (например, для выгрузки Ленты событий или чата). И добавляем в него нашего бота в качестве Администратора — чтобы он мог писать в канал новые сообщения. Делаем канал публичным и заполняем публичную ссылку, которая пригодится для заполнения на сайте. После этого если нужно — можно сделать канал приватным (чтобы посторонние не смогли его найти и читать сообщения).

3. Заполняем настройки для работы с Лентой активности и Группами.

4. Включить флаг вывода закладки в профиле. Для подключения Телеграм пользователями сайта.

Инструкция по созданию бота

Создается новый бот при помощи еще одного бота: @BotFather.

  1. ввести команду /newbot – создание нового бота. Затем BotFather попросит придумать новое уникальное имя для этого бота. Оно обязательно должно заканчиваться на «bot»;
  2. можно также добавить аватар для бота и его описание;
  3. далее BotFather присылает уникальный токен API, который нужно будет указать в админке вместо с именем бота

Что нужно сделать пользователю для подключения уведомлений:

  1. Открыть вкладку Телеграм в своем профиле и считать QR код (или кликнуть на него) — открыть ссылку в приложении Telegram
  2. Нажать Start в чате с ботом, бот должен ответить «НикнеймПользователя, вы успешно авторизовались.»
  3. Настроить уведомления в редактировании профиля (вкладка «Уведомления»)


Видео — делаем нового бота и назначаем его админом Телеграм канала.



Работу компонента можно посмотреть на демо сайте (http://v28.smartcontrol.today).

t1@t1.ru
........
t10@t10.ru

пароль у всех 123123


Код открыт. Компонент можно установить на все свои сайты. Купив это дополнение, вы получаете 6 месяцев бесплатных обновлений.


После установки компонента

1. необходимо добавить события на странице Компоненты -> Управление событиями.

2. Добавить два хука (события) в файлы. Нужные строки выделены жирным.

/system/controllers/users/model.php

~#448 строка
public function getUserNotifyTypes($only_default_values = false) {

$notify_types = cmsEventsManager::hookAll('user_notify_types');
$notify_types = cmsEventsManager::hook('update_user_notify_types',$notify_types); //добавить эту строку


/system/controllers/messages/frontend.php
~#145 строка


public function sendNoticeEmail($letter_name, $notice = array(), $notice_type = false){

cmsEventsManager::hook('before_send_email_notice', array($this->recipients, $notice, $notice_type,$letter_name)); //добавить эту строку

Видео Демо
Купить
1290 890 руб.
Покупка производится
на сайте oplata.info