Синхронизация аккаунтов в Telegram и MAX

Просмотров:45

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

Автор статьи Елена Никулина - разработчик Telegram-ботов и мини-приложений. Автор канала @elen_nikulina_channel

Создавать функционал я буду с помощью платформы Puzzlebot.

1 шаг — Подготовка базы данных

Подготовим таблицу с данными пользователей. Обязательно добавьте столбцы с названиями User tg id и User max id

Далее добавьте столбцы с важными данными, которые нужно интегрировать между платформами: какой у пользователя тариф, информация о его прогрессе и другие параметры

2 шаг — Проверка платформы

Подготовим проверку платформы для того, чтобы верно вводить данные в таблицу.

Добавим:

  1. Условие - проверка переменной - переменная {{PLATFORM}}

  2. Тип условия - Полное совпадение

  3. Фраза - tg

  4. Действие - отправить команду Оплата_тариф_тг

Аналогично добавляем еще одну проверку переменной {{PLATFORM}}. При этом Фраза - max, а Действие - отправить команду Оплата_тариф_макс

3 шаг — Вносим данные в базу

В команду с оплатой покупки для платформы Телеграм добавим действие: Создать строку в гугл таблице. Укажем нужные переменные: User tg id, имя, username, тариф

Аналогично добавим действие в команду покупки для платформы Макс: Создать строку в гугл таблице. Укажем нужные переменные: User max id, имя, username, тариф

4 шаг — Создаем ссылки для интеграции

1. Создадим новую команду с названием Интеграция_макс
2. Добавим в команду ссылку вида: https://max.ru/{{BOT_USERNAME_TEXT}}?start= {{USER_ID_TEXT}}

Вы можете скопировать ссылку из раздела Вход, но изменить текст после ?start=

1. Аналогичным образом создаем команду Интеграция_телеграм
2. Добавим в команду ссылку вида: https://t.me/{{BOT_USERNAME_TEXT}}?start= {{USER_ID_TEXT}}

5 шаг — Используем переменную {{START_PAYLOAD}}

При переходе по ссылке {{USER_ID_TEXT}} будет записываться в специальную переменную {START_PAYLOAD}}, а также будет совершаться переход к команде /start.

Поэтому нам нужно добавить проверку в команду /start - узнать, переходит ли пользователь из одной платформы в другую или просто запускает бот.

Добавим условие для платформы Макс: Проверка_макс

Проверим строку в нашей таблице с базой данных купивших обучение - если строка содержит переменную {{START_PAYLOAD}}, это значит, что пользователь переходит между платформами

Если нет, мы просто переводим его на команду с приветствием.

В действии, при успешной проверке, мы обновляем строку и записываем {{USER_ID_TEXT}} пользователя в столбец User max id

6 шаг — Переносим категории и доступы

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

В проверке указываю Строку в гугл таблице:

  • в столбце User max id ищу {{USER_ID_TEXT}}

  • в столбце Тариф ищу название одного из тарифов, например, База (у меня 3 тарифа на обучении)

Добавляю действие - Изменить категории - Оплата_База

Аналогичным образом добавляю проверку остальных тарифов и добавление в соответствующую категорию

Также очищаю переменную {{START_PAYLOAD}}

Аналогичным образом можем настроить проверку для платформы Телеграм, используя проверку переменной {{PLATFORM}}

Была ли страница полезна?