Суть интеграции
Интеграция позволяет удалять из группы/канала в ТГ пользователей, у которых закончился доступ.
Как работает?
Пользователь будет удален из группы, а точнее добавлен в черный список если:
закончилась подписка или сняли группу доступа с пользователя
пользователь удален
левый пользователь, т.е. вступил в группу не покупая продукт.
Если пользователь в черном списке и он покупает доступ, то бот вытаскивает его из черного списка.
Требования
Важно! Обязательно наличие SSL-сертификата.
План интеграции
Создаем бота (с помощью отправки команды /newbot пользователю BotFather в Telegram).
Приглашаем в свой канал, назначаем его администратором с правами на удаление пользователей.
Получаем token бота (с помощью отсылки команды /mybot пользователю BotFather и последующей выбирание функции API Token)
Сохраняем токен и название бота в настройках расширения (/admin/telegramsetting).
Устанавливаем вебхуки (нужно перейти по ссылки из настроек), что бы от приложения Telegram приходили данные пользователей из чата .
Выбираем группу пользователей, которым нужно вывести ссылку в ЛК для интеграции с Telegram.
Если нужно удалять пользователей из чата при окончании подписки , то в настойках подписки во вкладке “Доступ” в настройках интеграции телеграмм указываем id чата Telegram, из которого нужно удалять пользователей. Для получения id чата в свой качанал/чат нужно добавить бота “IDBot (@myidbot)”, после чего с помощью команды “/getgroupid” бот выдаст нужную информацию.
Если нужно удалять пользователей из чата при удалении группы у пользователя, то в настойках группы во вкладке “События” указываем id чата.
Как узнать ID чата: https://docs.leadconverter.su/faq/populyarnye-voprosy/telegram/kak-uznat-id-telegram-kanalaЕсли после заполнения всех настроек и установки вебхук, привязка пользователей к телеграмму не работает, возможно поможет переустановка вебхук (сначала удалить вебхуки, потом заново установить)
Привязка телеграма к профилю пользователя
Если пользователь состоит в группе, которая указана в расширении, в ЛК в настройках профиля напротив поля ника Telegram будет отображаться кнопка для привязки.
При активации кнопки для привязки с Telegram отобразится сообщение с краткой инструкцией, после чего откроется вкладка Telegram с дальнейшим переходом в Telegram.
Для интеграции пользователю нужно нажать на кнопку в чате с ботом, после чего в случае успешной интеграции бот отошлет пользователю сообщение об успехе.
После окончания успешной интеграции кнопка скроется. Если сообщения никакого не вывелось, то скорее всего или у бота недостаточно прав, или нужно пересохранить вебхуки в настройках расширения. Для проверки привязки достаточно перейти во вкладку “Список участников” в настройках расширения, если оба первых поля не пустые и имеют цифровые значения, значит пользователь привязался.
При удалении пользователь вносится в черный список, что бы в дальнейшем не мог подключиться к каналу самостоятельно.
Далее служебная информация.
Описание работы с API
При создании вебхуки на адрес https://api.telegram.org/bot методом GET с параметром "setWebHook" отправляются данные с урлом сайта, на который будут приходить уведомления при какой-нибудь активности с ботом
или в чате, для которого были установлены настройки в чате.
При интеграции пользователя отправляется сообщение с токеном боту (с помощью кнопки START в чате), после чего на сервер сайта приходит сообщение с токеном, а так же данные о пользователе.
Если токен совпадает с токеном, сохраненным для данного пользователя перед открытием приложения Telegram, полученные данные сохраняются в базу данных расширения. После чего с помощью
отправки параметра sendMessage и текстом сообщения, бот отправляет сообщение пользователю в чате об успешной привязке.
При удалении подписки или группы у пользователя, если пользователь есть в базе данных расширения Telegramи для этой подписки(группы) сохранено название чата, из которого нужно удалять пользователей,
на API Telegram отправляются данные с параметром kickChatMember и айди пользователя, после чего в API Telegram происходит удаление данного пользователя из чата.