Share
Explore

Продажа видеоуроков через бота

Сейчас многим нужна автоматизация продаж видеоконтента, в этих условиях - простой бот может пополнить семейный бюджет))

Собираем бота на платформе JAICP

Loading…
Создаём аккаунт
Читаем документацию
Если сложно просим советов тут

Загрузка и раздача видео в ботах

Способ 1, через загрузку на сервер ТГ

Использовать код в том токене, в котором планируешь раздачу видео, иначе не работает
theme: /
state: Start q!: $regex</start> a: Начнём. state: fileEvent event!: fileEvent event!: telegramAnyMessage event!: telegramApiRequestFailed a: Привет {{$request.rawRequest.message.video.file_id}}

Загружает файлы маленького и большого размера

Минусы подхода

Долгая загрузка файла у пользователя
Отсутствие статистики

Плюсы

Халявное хранение
Блокировка возможности сохранить и переслать (Protect_content)

Способ 2, через Vimeo (платный тариф можно заменить на YouTube)

Минусы подхода

Платный
Иностранный

Плюсы

Быстрая загрузка у пользователя
Небольшая статистика
Защита от скачивания

Способ 3, через Vimeo + Тильда (можно любой конструктор сайтов)

Минусы подхода

Платный
Трудозатратный

Плюсы

Повышает индексацию материнского сайта
Очень гибкая статистика
Защита от скачивания
Размещаю видео на Vimeo ( фишка в том, что можно после видео возвращать по кнопке в нужный стейт (бонусный модуль https://t.me/{какой то бот}?start=bonus2244 (надеюсь идея ясна)

Снимок экрана 2022-04-16 в 09.25.17.png
Встраиваем видео на сайт - беру блок Т123 и ставлю код для встраивания из Vimeo
Снимок экрана 2022-04-16 в 09.14.23.png
👇Ссылка на то, что получилось
This link can't be embedded.
Подключаем яндекс метрику, гугл аналитику и тд
даём пользователю из бота ссылку с utm метками в utm метке указываем user_Id

Снимок экрана 2022-04-16 в 09.08.42.png

Оплата в ТГ

Тестовый токен Юкасса

В ТГ находим @BotFather
Вводим команду /mybots и выбираем нужного бота
Снимок экрана 2022-04-16 в 18.11.40.png
Жмякаем на кнопку Payments
Снимок экрана 2022-04-16 в 18.12.32.png
Жмякаем на Юкассу
Снимок экрана 2022-04-16 в 18.13.23.png
Жмякаем на Тест

Снимок экрана 2022-04-16 в 18.21.54.png
Далее по инструкции получаем токен
Снимок экрана 2022-04-16 в 18.24.01.png

Код оплаты и выдачи контента с utm метками

Пишем код в main.sc
require: slotfilling/slotFilling.sc module = sys.zb-commonrequire: functions.js theme: /
state: Start q!: $regex</start> # запоминаем user id для utm метки script: $client.user_id = $request.rawRequest.message.from.id; a: Напиши 1 для оплаты state: Hello q!: 1 # отправляем метод sendInvoice script: var id = $request.rawRequest.message.chat.id; $temp.response = postData(id);
state: Precheckout event: telegramPrecheckoutEvent # отправляем метод answerPreCheckoutQuery script: var id = $request.query; $temp.response = postData2(id);

state: PaymentFailed event: telegramPaymentFailedEvent a: Возникли неполадки. Пожалуйста, напишите нам, куда-то.
state: PaymentSuccessful event: telegramPaymentSuccessEvent # при успешной оплате формируем ссылку на контент с utm меткой и делаем ссылку короткой, так мы можем посмотреть сколько юзер был на страничке с видео script: $temp.url = "https://intensive-online.ru/perenos01?utm_source=bot&utm_medium=" + $client.user_id var utm_url = $temp.url $temp.response = GetUrl(utm_url) a: Оплата прошла успешно. \nВам открыт доосуп \nЛекция 1 - {{$temp.response}}
state: CatchAll event: noMatch a: Платеж не прошел. Проверьте, пожалуйста, правильность введенных данных и повторите попытку.
state: Bye intent!: /пока a: Пока пока
state: NoMatch event!: noMatch a: Я не понял. Вы сказали: {{$request.query}}
Пишем код в functions.js
function postData(id) { var url = "https://api.telegram.org/bot2050539171:AAGt-GpY8_bG0xwI1qe5QUH8Y7d_aF11yY4/sendInvoice"; var options = { dataType: "json", body: { "chat_id":id, "title": "Тариф профи", "description": "Тестовый платеж в тестовом боте для проверки", "payload":{}, "provider_token":"381764678:TEST:36029", "currency": "RUB", "start_parameter":"mybot", "photo_url":"https://447906.selcdn.ru/Tc/photo_2022-04-16%2017.55.06.jpeg", "prices":[{"label":"руб","amount": 10000}], "need_phone_number": true } }; var response = $http.post(url, options); return response.isOk ? response.data : false;}
function postData2(id) { var url = "https://api.telegram.org/bot2050539171:AAGt-GpY8_bG0xwI1qe5QUH8Y7d_aF11yY4/answerPreCheckoutQuery"; var options = {
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.