Бот Телеграм для перераспределения клиентов на разные аккаунты

Сбор и хранение данных о подписчиках Телеграм бота организовать очень просто. Рассмотрим инструменты для ведения такого рода базы, а также настройки мультиязычности интерфейса бота.

Собрать базу подписчиков бота не сложно, потому что при «старте» бота вместе с запросом приходят нужные данные. Нам необходимо только организовать сбор этих данных. Они нам могу пригодиться, например для хранения настроек пользователя, или при формировании рассылки информационных сообщений. Без самостоятельного ведения базы или использования сторонних ресурсов получить список тех, кто начал диалог с вашим ботом невозможно, то есть Телеграм вам такой информации нигде не выведет, по крайней мере на момент написания статьи, я такого функционала в мессенджере не встречал.

Для примера сделаем возможность пользователю выбирать язык интерфейса (мультиязычность), и соответствующую настройку будем хранить вместе с данными пользователя.

Как организовать сбор данных?

Для начала создадим таблицу users в базе MySQL (используйте кодировку utf8mb4_unicode_ci )
CREATE TABLE IF NOT EXISTS `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `telegram_id` bigint(20) DEFAULT NULL, `first_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `last_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `lang` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

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

Стрим. Как искать клиентов на чат-боты? Как создать новое меню?

Добавим новый метод setPdo в класс по организации соединения с СУБД MySQL, сам класс Db вы можете посмотреть в предыдущей статье «Авторизация на сайт через Телеграм без использования официального виджета», также в прикрепленном к статье файле будут все приведенные скрипты.

else < $set .= «`» . str_replace(«`», ««», $field) . «`» . «=:» . $field . «, «; >> > return substr($set, 0, -2); > ?>

Вынесем все необходимые в рамках этой статьи методы взаимодействия с Telegram Bot API в отдельный класс Bot, не забудьте заменить ___TOKEN__ВАШЕГО__БОТА___ на токен от своего бота. Класс при необходимости можно расширить, а методы дополнить, но это на ваше усмотрение.

Добавляем боту мультиязычность

В качестве примера применения базы пользователей сделаем боту мультиязычный интерфейс, для этого необходимо при старте пользователю выводить возможность выбора языка в случае, если ранее им язык не был выбран. Мультиязычность позволит вам как создателю бота расширить круг пользователей, повысить лояльность и соответственно получить больше клиентов. Класс Lang работает с файлами, которые содержат текстовые данные на разных языках в формате JSON. На сервере сделаем для них отдельную директорию lang и поместим ее в корень. Структура приложения по итогу будет выглядеть так:

Еще по теме:  Как скрыть номер телефона в Телеграме

Метод getParam() принимает один обязательный параметр и один необязательный. Обязательный параметр — это ключ в массиве данных языкового файла, по нему мы будем получать значение контента. В качестве не обязательного параметра можно передать массив (ключ — значение) для подстановки необходимых нам динамических данных, например имя пользователя:

$this->lang->getParam(«helloText», [ ‘name’ => $this->user->getFullName() ]);

Lang.php

Файлы с контентом ru.json и en.json
ru.json < «error»: «Произошла исключительная ситуация», «helloText»: «Привет мой друг. nТвое имя nn/lang — Сменить настройки языка» > en.json < «error»: «An exceptional situation has occurred», «helloText»: «Hello, my friend. nYour name is nn/lang — Change language» >

Переходим к самому интересному, это класс WebHook. После того как пришел запрос от пользователя мы создаем необходимые объекты и отправляем на проверку языковой настройки. В случае если у пользователя еще не выбран язык (это возможно при первом старте бота) то ему выводится предложение со списком языковых настроек. Если у него язык уже выбран, то все данные передаются в роутер, и там в зависимости от команды выполняются необходимые действия. В нашем варианте выводится приветствие. Еще есть команда на смену языка /lang при ее выполнении пользователю предлагается список на смену языковой настройки.

Index.php — это файл, на который необходимо настроить вебхук.

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

Источник: imakebots.ru

Способы подключения пользователей к чат-боту Телеграм. Дубли пользователей. Часть 1

Но при интеграции необходимо решить, какой способ подключения пользователей к чат-боту Телеграм будет использоваться.

Существует 2 способа подключения пользователя через Telegram, которые регулируются опцией « Создавать пользователя без email если его нет в системе ». То есть можно регистрировать пользователей в Телеграм с вводом емейл и без ввода емейл.

Напомню, что подключение к Телеграм-боту может происходить:

  • в профиле на вкладке «Уведомления»
  • по короткой ссылке вида httрs://адрес_аккаунта/tlgrm
  • на странице сайта по кнопке «Войти через Телеграм» (блок «Вход через соцсети»)
  • из Телеграм-бота (например, по поиску).
Еще по теме:  Как проверить человека через Телеграмм

В этой статье я хочу продемонстрировать вам, как будет реагировать система на подключение пользователей при включенной опции « Создавать пользователя без email если его нет в системе »

Опция «Создавать пользователя без email если его нет в системе» включена.

Эта опция позволяет регистрировать пользователей через Телеграм на GetCourse без необходимости ввода email и обязательной авторизации.

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

Также новые пользователи не будут учитываться в аккаунте проекта как «Активные», то есть остаются со статусом «В базе» и не учитываются в тарифе, даже если вы взаимодействуете с пользователями через чат-бот посредством процесса, текстовых рассылок и callback-операций. Пользователь остаётся статусе «В базе» до тех пор, пока, в примеру, в рассылке в Телеграм не перейдёт по авторизационной ссылке.

Итак как работает эта опция при подключении пользователей к Телеграм? Есть несколько вариантов в зависимости от того, если:

— пользователь ранее регистрировался и в данный момент авторизован, то Телеграм будет привязан к профилю с действующей почтой без создания дубля профиля.

Таким образом, есть вероятность создания дублирующих профилей в том случае, если пользователь ранее был зарегистрирован в аккаунте GetCourse, но на момент перехода в Телеграм-бот не был авторизован в аккауне.

Как раз о том, как привязать пользователям с технической почтой реальную почту и какие при этом могут быть «подводные камни» для каждого из вариантов, мы и поговорим в этой статье.

1. Пользователь ранее не регистрировался в проекте (новый пользователь)

В видео ниже мы подробно рассмотрим, как происходит регистрация пользователя, при каких условиях статус пользователя остаётся «В базе» и как вы можете привязать пользователю реальную почту через форму регистрации.

Обратите внимание, что при тестировании с использованием форм, где предусмотрена переадресация на другую страницу

В следующем видео мы рассмотрим, как происходит привязка реальной почты через форму создания заказа:

То есть, как мы видим, в случае, если при подключении к Телеграм происходит регистрация нового пользователя с технической почтой, то при заполнении пользователем формы регистрации, либо формы создания заказа происходит привязка реальной почты пользователю с объединением профилей и переносом групп, в которых находился пользователь с технической почтой.

2. Пользователь ранее регистрировался в проекте и в данный момент не авторизован

Еще по теме:  Найти стору ВК по ТГ

В видео ниже мы подробно рассмотрим, как происходит подключение пользователя к Телеграм, а также что происходит при попытке привязать пользователю реальную почту через форму регистрации.

В следующем видео мы рассмотрим, как происходит привязка реальной почты через форму создания заказа:

Как вы видите из видео, в аккаунте остаётся два активных профиля пользователя: с реальным адресом электронной почты и с техническим адресом. Отследить такие привязки уже намного сложнее. Поэтому для привязки реальной почты в данном варианте лучше использовать формы регистрации, а не формы создания заказа.

3. Пользователь ранее регистрировался и в данный момент авторизован

То есть пользователь ранее регистрировался в проекте с указанием адреса электронной почты и на момент подключения Телеграм (это может быть подключение в профиле, по короткой ссылке, на странице сайта по кнопке «Войти через Телеграм» или прямо из бота) авторизован в аккаунте GetCourse.

В таком случае система узнает пользователя , и пользователь успешно подключит себе Телеграм-бота. Процесс подключения к боту можно посмотреть в видео ниже:

Как вы видите из статьи, где мы рассмотрели различные варианты привязки реальной почты пользователю, попытка привязки реальной почты через форму создания заказа в случае, если пользователь ранее уже был зарегистрирован в проекте, и ему была создана техническая почта через Телеграм, является самым неблагоприятным вариантом. Так как при этом оба профиля остаются в аккаунте и оба профиля имеют статус «Активен» и учитываются в тарифе. Поэтому лучше использовать ссылки на форму регистрации, нежели ссылки на форму создания заказа для привязки реальной почты клиенту.

Техподдержка GetCourse, для того, чтобы минимизировать количество создаваемых дублей, рекомендует использовать двухэтапную регистрацию, когда сначала пользователь заполняет обычную форму регистрации (с email), а затем подключает Телеграм (например, с помощью кнопки входа через соц. сети). Таким образом, вне зависимости от того, новый это пользователь или ранее уже существовавший в вашем проекте, к профилю будет подключен Телеграм без создания технической почты.

Источник: getstart.pro

10 конструкторов для создания Telegram-ботов

10 конструкторов для создания Telegram-ботов

Чат-боты активно внедряются в коммуникации между бизнесом и клиентами. Это удобно всем: менеджеры не тратят время на простые запросы и работают с частными случаями. Клиенты — не ждут ответа поддержки, быстро получают нужную информацию.

Ботов используют в разных сферах: от интернет-магазинов до государственных ведомств. Сейчас набирают обороты чат-боты в Telegram: мессенджер стал самым популярным в России, поэтому все больше компаний используют его для общения с клиентами.

Рейтинг
( Пока оценок нет )
Загрузка ...