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

30 октября 2017 - Feodor
Приветствую,

Компонент позволяет подружить InstantCMS и мессенджер Telegram и упростить пользователям мессенджера использование сайта.
Возможности компонента: 1. Отправка любых уведомлений в мессенджер Телеграм (настраивается пользователем)
2. Выгрузка в заданный админом канал Ленты событий сайта (можно настроить типы выгружаемых событий)
3. Выгрузка в заданный владельцем группы канал событий Группы (можно настроить типы выгружаемых событий)
4. Поддержка компонента SmartChat — транслирование сообщений в Телеграм канал (заданный в виджете или в настройке группы если это чат Группы)
5. Массовая или выборочная отправка сообщений пользователям в мессенджер Телеграм.
6. Выгрузка событий друзей в приват пользователю (реализуется с помощью дополнительного бесплатного компонента)



В комплект входят два поля
1. "URL канала Telegram", которое можно добавить в профиль или типы контента.
2. "Число подписчиков на telegram канале'"
Видео презентация

Важно! В этой версии обязательное условие для работы компонента — ssl сертификат. Это необходимое требование для того, чтобы бот мог получать и обрабатывать новые сообщения. Без этого бот не сможет авторизовать пользователей (и соответственно не сможет слать им уведомления) и не сможет выводить в чат сообщения из Телеграм. Будет работать только выгрузка сообщения компонента SmartChat (из виджета или группы) в Телеграм и вывод Ленты событий в Телеграм.
Настройка компонента в админке 1. нужно создать специального бота для сайта (если сайтов у вас много, то для каждого создаем отдельного бота)
2. создаем новый Телеграм канал (например, для выгрузки Ленты событий или чата). И добавляем в него нашего бота в качестве Администратора — чтобы он мог писать в канал новые сообщения. Делаем канал публичным и заполняем публичную ссылку, которая пригодится для заполнения на сайте. После этого если нужно — можно сделать канал приватным (чтобы посторонние не смогли его найти и читать сообщения).
3. Заполняем настройки для работы с Лентой активности и Группами.
4. Включить флаг вывода закладки в профиле. Для подключения Телеграм пользователями сайта.

Инструкция по созданию бота Создается новый бот при помощи еще одного бота: @BotFather, Далее нужно

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

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


Работу компонента можно посмотреть на демо сайте.

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

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


Код открыт. Компонент можно установить на все свои сайты.
После установки компонента
Спойлер
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)); //добавить эту строку
Канал демо сайта, в который выгружается Лента активности сайта и чат - https://t.me/instantchat.
Канал группы, в который выгружает чат группы и Лента активности группы https://t.me/instantchata1.

Уведомления пользователю отправляет бот, с которым можно установить контакт на странице своего профиля на вкладке "Telegram".

PS Дальнейшие шаги по развитию компонента пока в стадии обдумывания. Если будут конкретные идеи - пишите. Можно реализовать постинг в тип контента (что-то вроде твитов, с картинками), поиск по сайту. Рассылку новостей. Изменение статуса заказа (для интернет магазинов) и тд.. Ограничивает только фантазия.

Обновление для SmartChat с поддержкой чата групп будет на этой неделе. Та версия, что есть сейчас поддерживает выгрузку в Телеграм канал из виджета SmartChat и публикацию в чат сообщений из Телеграм канала.
Понравилась запись? Поделитесь ею в соцсетях!


Instantcms.ru


Похожие статьи:

Новости разработчиковАнонс модуля "Поощрение пользователей"

Новости разработчиковКомпонент Сервис Ёлок ver.1.1

Новости разработчиковЗагрузка расширений через админку

Новости разработчиковМодуль аккардион статей

Новости разработчиковЗаменяем название компонента, url и т.д. на примере FAQ

Рейтинг: 0 Голосов: 0 52 просмотра
Комментарии (0)

Нет комментариев. Ваш будет первым!