Telegram-бот с выдачей уроков, ограниченным доступом и интеграцией с AmoCRM

Telegram-бот с выдачей уроков, ограниченным доступом и интеграцией с AmoCRM

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

👥Клиент и ЦА

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

ЦА: его подписчики со всех социальных сетей, заинтересованные в развитии навыков создания коротких роликов.

🎯Цели и задачи

  • Создать Telegram-бота. После его запуска пользователь получает доступ к Уроку №1 только на 24 часа; после этого доступ к Уроку №1 должен быть закрыт. Всего в боте должно быть 3 урока.
  • Реализовать возможность сдачи ДЗ после Урока №1 в виде текста, после Урока №2 в виде видео.
  • Сделать интерфейс бота понятным, чтобы пользователь не путался и не попадал на этапы, на которых он не должен быть.
  • Провести опрос из трех вопросов для пользователя перед получением доступа к Уроку №3. Первый и второй вопросы требуют выбора одного варианта ответа. В третьем вопросе можно выбрать несколько вариантов. Необходимо визуально показать пользователю, какие варианты он выбрал, и позволить завершить опрос только при выборе минимум одного варианта ответа в каждом вопросе опроса.
  • После сдачи ДЗ №1 открывать Урок №2. После сдачи ДЗ №2 предлагать пройти опрос. После завершения опроса открывать Урок №3.
  • Отслеживать количество пользователей, получивших доступ к каждому из уроков №1, №2 и №3; кто кликал на ссылки с уроками №1, №2, №3; кто начал проходить опрос перед Уроком №3, кто его завершил и кто ответил на вопросы опроса. Также отслеживать тех, кто нажимал кнопки сдачи ДЗ к Уроку №1 и №2, а также тех, кто сдал ДЗ №1 и №2. Определить ответственного за каждого пользователя в боте (Наставник 1, Наставник 2) и того, кто завершил мини-курс.
  • После первого запуска бота пользователь должен быть случайным образом распределен между двумя Наставниками. В зависимости от этого пользователь должен видеть ссылку для связи именно с его наставником.
  • Вся переписка с клиентом должна записываться в AmoCRM. После сдачи ДЗ №1 должна формироваться сделка, ответственным в которой будет тот, кто был назначен ответственным в боте после рандомного распределения. Также нужно создавать задачу «Связаться» и формировать примечание с ответом на ДЗ №1. Аналогичные действия выполняются и после Урока №2, а выбранные варианты ответа в опросе перед Уроком №3 должны сразу попадать в поля в AmoCRM. После завершения опроса должна создаваться новая задача «Связаться» для ответственного.
  • Сделать 3 сообщения-напоминания о закрытии Урока №1.
  • Обеспечить возможность пользователю получить доступ к уроку только один раз. Если он вводит /start повторно после получения доступа к Уроку №1, бот направляет его к наставнику.

🧩Процесс работы

1. В качестве визуального конструктора для проектирования бота был выбран Salebot. В нем есть всё, что нам нужно, включая готовую интеграцию с AmoCRM. Мы создаем бота в BotFather и переходим к реализации. Шаг с созданием схемы мы пропустили, так как заказчик хотел разработку этого бота поэтапно, а не сразу всего описанного выше.

2. Делаем так, чтобы при запуске бота пользователь был случайным образом распределен на одного из двух наставников. В зависимости от этого в сообщении пользователю будет отображаться никнейм его наставника в Telegram. Важно, что бот можно запустить только один раз, и доступ к первому уроку будет предоставлен на 24 часа. Также будет отслеживаться нажатие на кнопку с ссылкой на видео, и эта ссылка будет удалена через 24 часа (такое только в Уроке №1).

Вот что происходит после первого запуска команды /start. В кнопке «🎬Смотреть урок» есть уникальная ссылка на видео YouTube, которая позволяет ограничить доступ к видео через 24 часа, а также отслеживать нажатия на кнопку
Вот что происходит после первого запуска команды /start. В кнопке «🎬Смотреть урок» есть уникальная ссылка на видео YouTube, которая позволяет ограничить доступ к видео через 24 часа, а также отслеживать нажатия на кнопку
Если пользователь пытается снова ввести команду /start, бот не предоставляет доступ к мини-курсу. В кнопке «🛎Написать наставнику» содержится ссылка на Telegram наставника, к которому был направлен пользователь
Если пользователь пытается снова ввести команду /start, бот не предоставляет доступ к мини-курсу. В кнопке «🛎Написать наставнику» содержится ссылка на Telegram наставника, к которому был направлен пользователь
Ссылка на видео действительна в течение суток
Ссылка на видео действительна в течение суток
С интервалом в 3 минуты отправляются сообщения: голосовое сообщение от наставника, заранее заложенное в бота, а также кнопки для сдачи домашнего задания. В данном случае их две: кнопка «📝Отправить ДЗ №1» будет отображаться, пока человек не сдаст задание
С интервалом в 3 минуты отправляются сообщения: голосовое сообщение от наставника, заранее заложенное в бота, а также кнопки для сдачи домашнего задания. В данном случае их две: кнопка «📝Отправить ДЗ №1» будет отображаться, пока человек не сдаст задание
Переписка с клиентом автоматически загружается в AmoCRM на этап «Неразобранное» в соответствующей воронке для заказчика
Переписка с клиентом автоматически загружается в AmoCRM на этап «Неразобранное» в соответствующей воронке для заказчика

3. Теперь нужно сделать напоминания о закрытии Урока №1. Их будет три: через 3 часа после запуска, через 12 часов и через 22 часа. После отправки каждого следующего напоминания предыдущее должно удаляться, чтобы не засорялся чат. Также заказчику нужно сделать так, чтобы в сообщениях-напоминаниях были кнопки. При нажатии на них сообщение также должно быть удалено. Сообщение с напоминанием должно удалиться, если доступ к уроку закрывается или если пользователь сдает ДЗ №1.

Через 3 часа после запуска. При нажатии на кнопки «Сдаю домашку!» или «Не смогу», сообщение удаляется
Через 3 часа после запуска. При нажатии на кнопки «Сдаю домашку!» или «Не смогу», сообщение удаляется
Через 12 часов после запуска
Через 12 часов после запуска
За 2 часа до закрытия урока
За 2 часа до закрытия урока
Если прошло 24 часа, то урок закрывается, и ссылка на урок, которая была в кнопке, больше не работает (даже если пользователь ее отдельно сохранил себе)
Если прошло 24 часа, то урок закрывается, и ссылка на урок, которая была в кнопке, больше не работает (даже если пользователь ее отдельно сохранил себе)

4. Нужно сделать так, чтобы бот принимал ДЗ №1, а после принятия ДЗ передавал данные в AmoCRM, назначал ответственного в зависимости от того, на какого наставника назначен в боте. Если Наставник 1 в боте, то это, например, Михаил в AmoCRM, а если Наставник 2 в боте, то это, например, Андрей в AmoCRM. Бот должен также создавать задачу со сроком выполнения 1 час для того, чтобы менеджер проверил ДЗ и связался с клиентом. Необходимо загружать ответ пользователя на ДЗ №1 в AmoCRM в виде примечания, чтобы оно не потерялось.

Видно, что бот реагирует на нажатие кнопок «📝Отправить ДЗ №1» и «Отлично, бегу отправлять!». Обе эти кнопки остаются активными до тех пор, пока пользователь не сдаст ДЗ
Видно, что бот реагирует на нажатие кнопок «📝Отправить ДЗ №1» и «Отлично, бегу отправлять!». Обе эти кнопки остаются активными до тех пор, пока пользователь не сдаст ДЗ
Если пользователь отправил ДЗ №1, то сразу открывается Урок №2
Если пользователь отправил ДЗ №1, то сразу открывается Урок №2
В AmoCRM сделка перемещается на этап «Новый лид», назначается ответственный (по рандомному распределению в боте), создаётся задача со сроком 1 час, в примечание добавляется ответ на ДЗ №1, а в поле «Username в TG» подгружается юзернейм, если указан
В AmoCRM сделка перемещается на этап «Новый лид», назначается ответственный (по рандомному распределению в боте), создаётся задача со сроком 1 час, в примечание добавляется ответ на ДЗ №1, а в поле «Username в TG» подгружается юзернейм, если указан
Через 3 минуты после запуска Урока №2 бот может начать принимать ДЗ №2. Он проверяет формат отправленного сообщения: в этом случае принимаются только видео
Через 3 минуты после запуска Урока №2 бот может начать принимать ДЗ №2. Он проверяет формат отправленного сообщения: в этом случае принимаются только видео
После сдачи ДЗ №2 (отправки видео), бот сразу предлагает открыть доступ к Уроку №3
После сдачи ДЗ №2 (отправки видео), бот сразу предлагает открыть доступ к Уроку №3
В AmoCRM в сделке ставится задача на ответственного менеджера со сроком выполнения 1 час для проверки ДЗ №2. Также в примечаниях сохраняется ссылка на видео, которое пользователь отправил в боте
В AmoCRM в сделке ставится задача на ответственного менеджера со сроком выполнения 1 час для проверки ДЗ №2. Также в примечаниях сохраняется ссылка на видео, которое пользователь отправил в боте

5. Теперь нужно сделать так, чтобы для получения доступа к Уроку №3 пользователь должен ответить на 3 коротких вопроса. В первом и втором вопросах он должен выбрать по одному варианту ответа, а в вопросе №3 он может выбрать несколько, хоть все. В вопросе №3 нужно пользователю визуально показывать, что он выбрал, а также не давать возможность «проскочить» вопрос, если не выбран ни один вариант. Пользователю также нужно оставить возможность в любой момент вернуться к первому вопросу, пока тот не завершил опрос. Внизу должна быть кнопка, позволяющая вернуться к началу опроса. Все этапы и действия пользователей нужно фиксировать в статистике, чтобы понимать, на каком этапе и сколько пользователей «отвалилось». Также необходимо сделать так, чтобы ответы, выбранные пользователем, сразу подгружались в карточку сделки в AmoCRM.

Если пользователь нажимает на кнопки «Бегу отвечать» или «🔐Открыть доступ к Уроку №3», то ему отправляется вопрос №1
Если пользователь нажимает на кнопки «Бегу отвечать» или «🔐Открыть доступ к Уроку №3», то ему отправляется вопрос №1
При выборе ответа в вопросе №1 сообщение удаляется, и отправляется вопрос №2. Если пользователь в какой-то момент прохождения опроса ещё раз нажмет кнопки «Бегу отвечать» или «🔐Открыть доступ к Уроку №3», то он вернется к первому вопросу
При выборе ответа в вопросе №1 сообщение удаляется, и отправляется вопрос №2. Если пользователь в какой-то момент прохождения опроса ещё раз нажмет кнопки «Бегу отвечать» или «🔐Открыть доступ к Уроку №3», то он вернется к первому вопросу
При выборе ответа в вопросе №2 сообщение удаляется, и отправляется вопрос №3. Здесь пользователь может выбрать несколько вариантов ответа
При выборе ответа в вопросе №2 сообщение удаляется, и отправляется вопрос №3. Здесь пользователь может выбрать несколько вариантов ответа
Пользователь выбрал вариант «Продавать свой продукт». После этого этот вариант помечается как ✅, и внизу появляется кнопка «➡Завершить опрос»
Пользователь выбрал вариант «Продавать свой продукт». После этого этот вариант помечается как ✅, и внизу появляется кнопка «➡Завершить опрос»
Если пользователь выбрал все варианты
Если пользователь выбрал все варианты
При нажатии на кнопку «➡Завершить опрос» открывается доступ к Уроку №3, а также отправляется сообщение о завершении курса
При нажатии на кнопку «➡Завершить опрос» открывается доступ к Уроку №3, а также отправляется сообщение о завершении курса
Видно, что выбранные пользователем варианты ответа были загружены в карточку сделки в AmoCRM в заранее созданную группу полей «Опрос в боте». Также была создана задача для ответственного менеджера со сроком в 3 часа о необходимости связаться с клиентом
Видно, что выбранные пользователем варианты ответа были загружены в карточку сделки в AmoCRM в заранее созданную группу полей «Опрос в боте». Также была создана задача для ответственного менеджера со сроком в 3 часа о необходимости связаться с клиентом
Прокси ссылки на все три урока в боте. Видно, что первый урок ограничен по времени, в рамках которого ссылка еще действительна. Уроки №2 и №3 можно посмотреть в любое время
Прокси ссылки на все три урока в боте. Видно, что первый урок ограничен по времени, в рамках которого ссылка еще действительна. Уроки №2 и №3 можно посмотреть в любое время
Вот так выглядят некоторые метки, которые проставляются пользователю автоматически в зависимости от совершенных им действий
Вот так выглядят некоторые метки, которые проставляются пользователю автоматически в зависимости от совершенных им действий
Схема готового бота в Salebot
Схема готового бота в Salebot

💡Что в результате

Был разработан Telegram-бот, предоставляющий пользователю структурированный доступ к трем урокам. Урок №1 доступен на 24 часа с момента запуска бота, после чего доступ автоматически закрывается, в то время как Уроки №2 и №3 доступны без временных ограничений. Для сдачи домашних заданий были предусмотрены текстовый формат после Урока №1 и видеоформат после Урока №2.

Интерфейс бота был разработан интуитивно понятным, что позволяет пользователям легко ориентироваться и избегать попадания на недоступные этапы обучения. Перед Уроком №3 каждому пользователю предлагается опрос из трех вопросов: для первых двух вопросов требуется выбор одного варианта ответа, а для третьего — выбор нескольких вариантов. Все выбранные ответы визуализируются, обеспечивая пользователю прозрачное завершение опроса при выборе хотя бы одного варианта в каждом вопросе.

Также была настроена интеграция с AmoCRM для систематизации данных и отслеживания активности пользователей.

Созданы метки, позволяющие отслеживать количество пользователей по каждому уроку, успешное выполнение заданий и результаты опросов. Это обеспечивает эффективное управление обучающим процессом и оперативную и персонализированную обратную связь с клиентами.

Хочу отметить, что бот становился удобнее благодаря обратной связи и анализу поведения пользователей. В кейсе представлен его почти изначальный вариант, созданный в июне 2024 года.

По любым вопросам, в том числе по созданию ботов, можно писать мне в Telegram

Начать дискуссию