Платная подписка на группу или канал
В этом пособии мы расскажем о том как создать Платную Подписку для вашей группы или канала средствами конструктора @MenuBuilderBot.
Данное пособие рассчитано на людей НЕ владеющих конструктором, поэтому в нём подробно будут описаны все этапы организации Платной Подписки. Те кто знаком с основными функциями конструктора, может напрямую обратиться к главе Платная Подписка раздела "Группы".
❖ Как это работает
Созданный вами бот добавляется в группу в качестве админа. В самом боте, при помощи кнопки с двумя Action-ами создаётся механизм оплаты подписки (тариф) и сохранение даты её окончания. Время окончания подписки для каждого юзера сохраняется в специальной, созданной вами, переменной. Один раз в сутки ваш бот (система) будет проверять время в этой переменной и удалять из группы тех юзеров время подписки которых уже истекло или оповещать тех чьё время скоро истечёт. Вы, как создатель, оплачиваете функцию Платной Подписки при помощи Токенов Функций в момент непосредственной проверки юзеров в группе (50000 Токенов Функций ЕЖЕМЕСЯЧНО доступно каждому боту. Этого достаточно для группы из примерно 160 человек в течение месяца).
Надо понимать что создание всего функционала происходит средствами конструктора, с использованием механизмов и функций уже имеющихся в конструкторе. Для новичков это может показаться сложным и в чём-то, на начальном этапе, возможно это действительно сложнее чем создание подобного функционала на специализированных ботах. Однако при этом и инструмент которым вы пользуетесь и соответственно - функционал который вы создадите в результате, это гораздо более гибкие, простые в управлении проекты, которые будут находиться под вашим полным контролем. Кроме того, в последствии, не если, а КОГДА, у вас появятся новые идеи, вы с лёгкостью сможете добавлять в ваш проект дополнительные функции, огромное количество которых уже имеется в конструкторе и вам для этого не понадобится, ни искать программиста, ни искать очередной специализированный инструмент - всё уже будет под рукой.
❖ Создаём бот
Для создания функционала платной подписки вам будет необходим бот созданный на платформе @MenuBuilderBot, это позволит вашему боту взаимодействовать с системными функциями конструктора.
Если у вас уже есть бот созданный и подключённый к платформе @MenuBuilderBot, то просто пропустите этот шаг.
ИНФО: Подробнее о том как создать свой первый бот смотри по ссылке:
https://docs.menubuilder.cc/books/1-rukovodstvo-novichka/page/kak-sozdat-svoy-pervyy-bot
❖ Приобретаем функционал
Весь необходимый функционал можно приобрести заранее или приобретать его по мере необходимости в процессе создания отдельных функций. Функционала описанного в этом пособии будет достаточно для создания самой Платной Подписки и одного тарифа для её оплаты. Каждый новый тариф, в своём базовом виде, будет требовать двух дополнительных Action-ов. Весь остальной функционал является общим для всего проекта Платной Подписки.
Для тех кто совершенно не знаком с проектом @MenuBuilderBot, отметим, что в нашем проекте мы предпочитаем не брать агульно ежемесячную оплату по одному, двум тарифам, за функции которые вы никогда не будете использовать. Тем более что функционала в конструкторе настолько много что это ежемесячная плата была бы просто огромной. Вместо этого мы предоставляем возможность платить только за тот функционал который вам действительно необходим. При этом в 99% случаев этот функционал оплачивается ОДИН РАЗ и используется до тех пор пока существует ваш бот или аккаунт. Функционала который оплачивается ежемесячно в проекте практически нет. Поэтому в начале подключение новых функций вам может показаться излишне запутанным, однако впоследствии вы оцените данный подход.
Последовательность действий:
1. Пополнить баланс вашего Аккаунта
2. Обменять средства на внутренний токен TMH
3. Приобрести нужные функции за TMH.
ИНФО: Подробнее о КОШЕЛЬКАХ вашего Аккаунта смотри по ссылке:
https://docs.menubuilder.cc/books/1-rukovodstvo-novichka/page/koshelki-akkaunta
ИНФО: Подробнее о том как ПОПОЛНИТЬ Баланс Аккаунта смотри по ссылке:
https://docs.menubuilder.cc/books/1-rukovodstvo-novichka/page/kak-popolnit-balans-akkaunta
ИНФО: Подробнее о том как обменять внутренний ТОКЕН TMH смотри по ссылке:
https://docs.menubuilder.cc/books/1-rukovodstvo-novichka/page/kak-obmenyat-kupit-tmh
ИНФО: Подробнее о том как ПРИОБРЕТАТЬ функционал смотри по ссылке:
https://docs.menubuilder.cc/books/1-rukovodstvo-novichka/page/kak-priobretat-dopolnitelnyy-funktsional
Вам понадобится:
1. Токены групп (любое количество для начала)☞ 🔐Админ | 🧩Расширения | 📂Каналы и Группы
2. Переменная (1 штука) (исходим из того что оплата буде происходить с Баланса который уже и так доступен всем)☞ 🔐Админ | 🧩Расширения | 📂Переменные
3. Условия (плагин)☞ 🔐Админ | 🧩Расширения | 📂Кнопки
4. Макросы и выражения для кнопок☞ 🔐Админ | 🧩Расширения | 📂Кнопки
5. Action-ы (2 штуки)☞ 🔐Админ | 🧩Расширения | 📂Action-ы
❖ Создаём переменную Даты и Времени
Переменная нам нужна для того чтобы хранить в ней время окончания подписки для каждого юзера и функция Платной Подписки могла каждый день проверять это значение. Включение самой функции Платной Подписки (смотри ниже) осуществляется в момент когда вы укажете данную переменную в её настройках.
Чисто технически, переменную можно задать и позже, но для целей данного Пособия мы зададим её сейчас, что в дальнейшем позволит нам более последовательно настраивать функционал группы, не отвлекаясь на переменные.
Последовательность действий:
1. Перейти в Админку вашего бота:☞ 🔐Админ | 🗄Переменные | 📕Время
2. Создать переменную задав ей имя
Имя переменной вы можете выбрать сами и далее использовать его в ваших настройках, мы назовём её date_var
.
ИНФО: Подробнее о том как СОЗДАТЬ ПЕРЕМЕННУЮ смотри по ссылке:
https://docs.menubuilder.cc/books/5-rukovodstva-po-funktsiyam/page/peremennye
❖ Добавляем бот в группу
В рамках создания функционала Платной Подписки в группе ваш бот будет заниматься тем что, во-первых, принимать или отклонять запросы на вступление, а во-вторых, удалять пользователей чья подписка истекла.
Помимо указанных выше функций бот в группе может выполнять и другие обязанности - обо всех возможностях бота смотри в руководстве по группам.
ВАЖНО: надо понимать что бот в группе "видит", а точнее знает о существовании, только тех пользователей, которых он лично запускал в группу при помощи функционала «Приёма запросов на вступление». Соответственно если в вашей группе уже присутствуют юзеры, то "старых" пользователей, которые были в группе до того как был включён функционал приёма заявок, бот видеть не может. В идеале создание функционала Платной Подписки должно осуществляться для новой группы - пользователи в которой отсутствуют.
Последовательность действий:
1. Настроить группу на прием заявок
2. Узнать ID группы
3. Подключить и ( ! )активировать группу в боте (Понадобятся Токены Групп)
4. Только после этого - добавить сам бот в группу (иначе бот будет её покидать)
НАСТРОЙКА ГРУППЫ Для работы представленного функционала вам понадобится:
• Публичная Группа
• Включённая опция «Заявки на вступление».
Чтобы включить опцию «Заявки на вступление» перейдите в вашей ПУБЛИЧНОЙ группе:Настройки группы > Тип группы > Заявки на вступление
ВАЖНО: Подробнее о том КАК БОТЫ РАБОТАЮТ В ГРУППАХ смотри по ссылке:
https://docs.menubuilder.cc/books/5-rukovodstva-po-funktsiyam/page/gruppy-obshhie-svedeniya
ИНФО: Подробнее о том как ДОБАВИТЬ БОТ В ГРУППУ смотри по ссылке:
https://docs.menubuilder.cc/books/5-rukovodstva-po-funktsiyam/page/kak-dobavit-nastroit-i-udalit-gruppu
❖ Настраиваем Платную Подписку в боте
Теперь когда ваша группа настроена и бот добавлен в группу, нужно настроить поведение бота в группе, чтобы бот знал чем он там будет заниматься. Минимально необходимыми настройками для проверки подписки в группе являются:
• Приём запросов
• Платная подписка
Последовательность действий:
1. Переходим в настройки групп в боте
2. Выбираем добавленную вами группу
3. Настраиваем раздел «Управление юзерами» (Приём запросов и Платная подписка)
Вам нужно будет включить опцию «Приём Запросов», а также указать все необходимые данные для опции «Платная Подписка».
ИНФО: Подробнее о настройках раздела УПРАВЛЕНИЕ ЮЗЕРАМИ смотри по ссылке:
https://docs.menubuilder.cc/books/5-rukovodstva-po-funktsiyam/page/modul-upravleniia-iuzerami
❖ Создаём тариф платной подписки в меню бота
2. Создайте кнопку для приобретения юзером нужного тарифа.
2.1 На кнопку поставьте Условие которое будет проверять достаточно ли средств на Балансе пользователя.
Например: {%balance% >= 100} (это стоимость)
2.2 На кнопку поставьте Команду (эту команду можно будет указать в сообщении об окончании подписки или в сообщении об удалении из группу (кик))
Например: /sub
2.3 В самой кнопке добавьте «Action Чисел» который будет списывать указанную вами сумму с Баланса.
2.4 Добавьте второй «Action Чисел» который будет устанавливать дату, на месяц большую чем записано в созданной вами переменной Даты и Времени при условии что юзер сейчас подписан.
Например:
Действие {dt_add("%date_var%", 1, "m")}
Условие: {dt_left("%date_var%", "s") >= 1} (оставшееся время хотя бы секунда)
2.5 Добавьте третий «Action Чисел» который будет устанавливать дату, на месяц большую чем сейчас при условии что юзер сейчас НЕ подписан.
Например:
Действие {dt_add(dt_now(), 1, "m")}
Условие {dt_left("%date_var%", "s") < 1} (оставшееся время меньше секунды)
2.6 Добавьте сообщение которое показывает новую дату подписки.
Например: Новая дата подписки: %date_var%.