Skip to main content

Кнопка - Вывод средств

Конструктор ботов @MenuBuilderBot позволяет автоматизировать работу со сторонними платежными платежными системами в вашем боте. Вы можете автоматически принимать платежи, а также выводить средства, накопленные пользователями в боте. Доступна отправка отчётов о выплатах в публичные группы, а все средства находятся на ваших собственных кошельках.

Функционал Вывода Средств работает в тесной связи и дополняет возможности Автоматических Платежей (пополнений), который в свою очередь позволяет принимать и дублировать на балансе бота, платежи поступающие от сторонних (Third Party) платежных систем и кошельков. Таким образом пользователи могут автоматически (без участия админа) пополнять свой баланс в неких условных единицах, ценность которых соотноситься с ценностью переведённых ими активов. Сами данные при этом сохраняются в переменных в виде числовых значений. Список кошельков, бирж, платежных систем и отдельных криптовалют для которых создан функционал авто платежей, доступен в вашем боте:

☞ 🔐Админ | 🧩Расширения | 📂Авто Платежи

Особенности и инструкции по подключению каждой из доступных платежных систем для Авто Платежей вы найдете там же, а в данном руководстве мы расскажем о работе с Автоматическими Выплатами.


Автоматические выплаты (выводы средств)


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

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


Что позволяет кнопка вывода средств

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

2. Настроить и отправить запрос вывода, админам в отдельную группу, с возможностью подтвердить или отказать в выводе, после рассмотрения запроса и ручного перечисления средств - в случае полуавтоматического вывода. Для систем в которых доступен автоматический режим, перевод с внешнего кошелька осуществляется непосредственно при утверждении админом в группе.

3. Настроить сообщения оповещения пользователя о подтверждении, отказе в выплате или несоблюдении условий.

4. Настроить группу и сообщение для публичных отчётов о выплатах в вашем боте.

5. Для платёжных систем в которых доступен полностью автоматический перевод средств, доступна и отдельная настройки ID кошелька, а также комментария к автоматическому переводу.


Как работает кнопка вывода средств

1. Юзер указывает желаемую сумму вывода и все необходимые для этого данные.

2. Если все условия соблюдены, то указанная к выводу сумма СПИСЫВАЕТСЯ с баланса юзера в некий "буфер" вывода, а сообщение с запросом вывода поступает в приватный чат с админами.

3. Если запрос по каким-то причинам ОТКЛОНЯЕТСЯ админами, то списанные в "буфер" вывода средства вернутся на баланс юзера. Если админ утвердил вывод, то он должен будет нажать соответствующую кнопку (описание ниже) и либо в ручную осуществить перевод с кошелька платёжной системы на реквизиты указанные юзером, либо (если вывод полностью автоматизирован) перевод осуществит сам бот - прислав отчёт в приватную группу с админами.

Для работы кнопки требуется настроенная и активная группа (смотри ниже)!


Создание кнопки вывода средств


1. Приобретите нужное количество кнопок вывода в своём боте:

Вывод средств.
Для подключения перейдите в вашем боте:
☞ 🔐Админ | 🧩Расширения | 📂Кнопки

2. Создайте обычную кнопку в нужном месте меню (если нужно) и перейдите в её настройки:
• Перейдите в вашем боте:
☞ Редактор Кнопок
• Выберите кнопку, нажав ее.
• Нажмите инлайн кнопку со звездочкой ( * ) в сообщении с данными кнопки для попадания в её Настройки.

3. Нажмите «Назначить Вывод» в меню настроек.


IMG_20211204_153557.jpg


4. Для начала настройки функционала вывода нажмите «Настроить Вывод». Настройка вывода представлена в виде пошагового Мастера Настроек. Обратите внимание что в сообщениях присутствуют дополнительные инструкции, Макросы и все возможные опции и для каждого шага.

4.1 Установка группы, куда присылать сообщения заказов для вывода. Пользователь в боте заказывает вывод - админы добавленные в группу получают данные пользователя.

Если вы хотите получать сообщения о выводах прямо в боте и НЕ хотите настраивать группу, нажмите:
«Отправлять в Чат Владельца».
Сообщения при этом будет получать ТОЛЬКО владелец бота.

Группа уже должна быть настроена и бот должен быть в ней админом. Указание группы осуществляется нажатием на кнопку с номером соответствующим нужной группе. Если данный бот не является админом ни в одной группе то и выбрать будет нечего. По ссылке инструкции по настройке бота для работы в группах. Дополнительные инструкции смотрите в самом сообщении Мастера Настроек.

4.2 Указание переменной юзера с которой будет списано указанное им количество для вывода. Другими словами вывод осуществляется с этой переменной.

4.3 Указание минимальной суммы которую сможет указать юзер для вывода.

4.4 Указание максимальной суммы которую может указать юзер для вывода.

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

4.5 Первое сообщение - указание суммы. Это сообщение которое будет показано пользователю при нажатии создаваемой вами кнопки «Вывод Средств». В этом сообщении вы должны попросить пользователя ввести желаемую сумму для вывода.

Во всех настраиваемых сообщениях (здесь и ниже) можно использовать макросы переменных вашего бота, а также дополнительные макросы которые указаны в инструкциях Мастера Настроек для каждого шага.

4.6 Второе сообщение - запрос реквизитов юзера для перевода. В этом сообщении вы должны попросить пользователя указать его адрес, кошелёк, номер телефона или другой идентификатор в формате той системы для которой создаётся вывод. На этот кошелёк вы будете совершать перевод.

СПИСОК СИСТЕМ ДОСТУПНЫХ ДЛЯ АВТОВЫВОДОВ:
Payeer - указывается адрес кошелька в системе Payeer в формате "Pxxxxxxxx"
Tron - указывается адрес кошелька в блокчейне Tron
CryptoBot - юзером указывается его Telegram ID (можно включить опцию «14. Cвой ID как адрес» - смотри ниже )
xRocket - юзером указывается его Telegram ID (можно включить опцию «14. Cвой ID как адрес» - смотри ниже )

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


На этом НАЧАЛЬНАЯ НАСТРОЙКА кнопки вывода закончена.

Обращаем ваше внимание на то что без Начальной Настройки, кнопка не может считаться активной и все остальные изменения могут быть сброшены через некоторое время - поэтому не настраивайте ничего пока не настроите все указанные выше параметры и не активируете тем самым кнопку.

5. Сообщение об Успехе.
Тут вы можете указать сообщение которое получит пользователь если все введённые им данные верны и запрос вывода отправлен администраторам на рассмотрение.

6. Сообщение о Неудаче.
Тут вы можете указать сообщения которые получит пользователь если введённые им данные неверны либо не соблюдены условия вывода (запрошенная сумма вывода больше чем сумма на балансе, либо меньше минимальной и т.п.).

7. Сообщение Подтверждения.
Тут вы можете указывать сообщение которое получит пользователь если его запрос был подтверждён админом (данная настройка не является обязательной).

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

8. Сообщение Отказа.
Тут вы можете указать сообщение которое получит пользователь если его запрос был отклонён админом (данная настройка не является обязательной).

9. Сообщение Игнора.
Тут вы можете указать сообщение которое получит пользователь если его запрос был проигнорирован админом (данная настройка не является обязательной).

10. Отчёт Приватной Группы.
Настройка позволяет сформировать запрос на вывод который получат админы в закрытой группе. В этом отчёте вы должны поместить все данные которые позволят админам в группе принять решение о подтверждении или отказе в выплате, а также иметь перед собой все данные собранные у юзера. Все доступные для данного сообщения дополнительные макросы указаны в инструкциях к данной опции.

ВАЖНО: В группе, в которую поступают данные отчёты, должны присутствовать только админы и приватность группы должна быть обеспечена вами лично - поскольку данные пользователей (без которых вывод невозможен, и которые по этой причине должны присутствовать в каждом из запросов) являются персональными и не должны быть доступны публично.

11. Отчёт Публичной Группы.
Тут создаётся функционал (сообщение) для дублирования отчёта о выводах, с данными которые можно представить публично в качестве отчётов или подтверждений выводов средств. Настройка производится при помощи пошагового Мастера Настроек.

ВАЖНО: Данный отчёт формируется и отправляется в группу в момент ЗАКАЗА вывода юзером, а НЕ в момент утверждения заказа на вывод админом (то есть не по факту вывода, а по факту запроса). Менять существующую механику, на данный момент, не планируется. Учитывайте это при составлении сообщения.

ВАЖНО: Мы настоятельно НЕ рекомендуем публиковать какие-либо личные данные пользователей - идентификаторы, Telegram ID, кошельки платёжных систем, адреса почты и тому подобное, в публичном пространстве. Все данные в публичных сообщениях и отчётах должны быть максимально обезличены.

10.1 Установка группы куда пересылать сообщение публичного отчёта. Как и для приватного отчёта, группа уже должна быть настроена и бот должен быть в ней админом. Если данный бот не является админом ни в одной группе то и выбрать будет нечего. По ссылке инструкции по настройке бота для работы в группах. Дополнительные инструкции смотрите в самом сообщении Мастера Настроек.

11.2 Отправлять сообщение в публичную группу можно как сразу после запроса вывода пользователем, так и только после подтверждения вывода админом в приватной группе. Настройка этой опции осуществляется ДО добавления самого сообщения.

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

12. Задать PayID (может отсутствовать в вашем меню).
Данная настройка доступна только для систем с полностью автоматическим выводом и позволяет настроить полностью автоматический перевод средств с кошелька вашей сторонней (Third Party) платёжной системы на соответствующий кошелёк вашего пользователя. Перевод осуществляется при подтверждении выплаты админом в группе. Настройка производится при помощи пошагового Мастера Настроек.

ВАЖНО: Возможность подключения и настройки данного функционала рассматривается индивидуально для каждого, поэтому кнопка может либо отсутствовать, либо не работать в вашем случае. Инструкция по настройке и получению соответствующих ключей API вам будут предоставлены в случае положительного решения о предоставлении данного функционала.

12.1 Установка PayID вашего кошелька. Номер присваивается индивидуально при подключении и будет сообщён вам в своё время.

12.2 Комментарий к автоматическому платежу. Это текст который будет помещён в поле "Комментарий" или "Заметка" при автоматическом переводе средств - если платёжная система это позволяет. В этом сообщении можно использовать макросы переменных вашего бота, а также дополнительные макросы которые указаны в инструкциях Мастера Настроек.

13. Переменная Адреса.
Переменную можно назначить из списка имеющихся в боте. Если переменная назначена - то:
● Её можно выводить где угодно в боте (поскольку это обычная переменная, как и все остальные). В том числе в сообщении в котором вы запрашиваете Адреса юзера в кнопке Вывода Средств.
● Если в переменной уже есть значение - то на этапе запроса адреса появляется кнопка "Оставить как Есть". В этом случае будет использовано сохранённое значение.
● Если вводится новое значение руками - оно сохраняется в заданную переменную и будет текущим адресом вывода этого юзера для следующего раза.

14. Cвой ID как адрес
На этапе ввода адреса кошелька подменяет собой стандартное ТЕКСТОВОЕ поле ввода и ограничивает ввод только ЦИФРОВЫМИ данными, внизу появляется кнопка которая позволит юзеру нажатием ввести свой Telegram ID.

Переключение режима ввода адреса кошелька.
Режимы:
Выкл ⏹️ - функция выключена (по умолчанию - ввод текстовых данных).
Вкл ▶️ - функция включена (запрос цифровых данных или ввод Telegram ID).

Опция изначально предполагалось для использования с системами типа xRocket - идентификация юзеров в которой производится посредством Telegram ID. Однако в виду её специфики опция может использоваться для любых систем идентификация юзеров в которых производится при помощи номеров аккаунтов - то есть там где в адресе используются цифровые, а не текстовые данные.

15. Комиссия
Каждому выводу средств может быть назначена Комиссия. Мастер Настроек Комиссии состоит из трёх шагов:
● Указываем комиссию от суммы вывода в процентах. Параметр НЕ обязательный - указывайте только при необходимости.
● Указываем минимальное значение комиссии, которое будет взиматься, если комиссия в процентах (из предыдущего шага) окажется меньше этой фактической минимальной суммы. Параметр НЕ обязательный - указывайте только при необходимости. Настройка будет доступна только если вы указали процент в предыдущем шаге.
● Указываем фиксированную сумму комиссии для вывода. Фиксированная комиссия задаётся в виде конкретного (абсолютного) значения (не процент). Параметр НЕ обязательный - указывайте только при необходимости.
Доступные макросы комиссии:
commission_prc - процент указанный для комиссии
commission_min - минимальная сумма комиссии
commission_fix - фиксированная сумма комиссии
commission - фактическая сумма комиссии с учётом всех предыдущих параметров

Чтобы показать юзеру фактическую сумму процентной комиссии в валюте используйте Выражение:
{round(%withdraw% * (%commission_prc% / 100), 2)}
Где:
%withdraw% - это сумма вывода указанная юзером (описано выше).
%commission_prc% - процент комиссии

Все указанные комиссии будут применены - никакая из комиссий не отменяет и не замещает собой другую.

Комиссия всегда вычитается из суммы вывода указанной юзером.

16. Курс
Позволяет выводить одну валюту с автоматической конвертацией в другую. Например списываем RUB выплачиваем USDT. При наличии заданного Курса - введённая юзером Сумма к Выводу (за вычетом всех Комиссий) будет УМНОЖЕНА на заданный Курс чтобы получить фактическое значение для вывода.

В качестве Курса можно указывать:
• Число
• Макрос (макросы автоматических курсов в том числе)
• Выражение

Вывод средств со стороны админа

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


IMG_20220203_172212.jpg


Сообщение состоит из 3 основных частей:
1. Верхняя часть - создана вами в пункте "9. Отчёт Приватной Группы".
2. "Raw Data" - техническая информация необходимая для для самого бота. Убрать её из сообщения - нельзя.
3. Два ряда инлайн кнопок со схожими названиями. Названия кнопок в нижнем ряду имеют значок " 🗨 " (Speech Bubble). Если в пунктах 7 и 8 вы задавали какие-либо сообщения для оповещения юзера о действиях админа, то в случае нажатия кнопок с этим символом из нижнего ряда - юзер получит эти сообщения.

Кнопка Утвердить

Её нажатие подразумевает что админ утвердил и осуществил вывод средств (в ручном либо автоматическом режиме).

Кнопка Игнорировать

В сущности нажатие этой просто удаляет инлайн клавиатуру для этого сообщения - средства списанные в "буфер" вывода с баланса юзера при заказе вывода, НЕ БУДУТ возвращены на его баланс.

Кнопка Отклонить

Её нажатием админ отклоняет запрос юзера на вывод - средства списанные в "буфер" вывода с баланса юзера при заказе вывода, БУДУТ возвращены на его баланс.


❖ Action-ы в кнопке вывода средств


Action-ы могут быть добавлены в кнопку Вывода Средств. Action-ам доступен %withdraw_v% макрос кнопки, хранящий сумму вывода запрошенную юзером.

Доступ к макросу, в некой форме, позволит вам, например, при необходимости вести статистику запросов на вывод средств. Ещё раз подчеркнем, что макрос содержит именно сумму ЗАПРОСА на вывод и эти данные не могут учитывать возможные (хоть и редкие) отказы в выводе. Если отказы выводов случаются слишком часто, нарушая тем самым статистику, то в сообщение вывода приходящее от юзера можно добавить команду со всем необходимыми данными текущего запроса и возвращать искаженной статистике нужные значения при помощи этой команды.


❖ Ограничение количества выводов


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


Необходимые знания

● Работа с Датой и Временем.
● Управление Action-ами.
Условия.


Как это работает

Создается отдельная кнопка, которая для юзера и будет основной точкой входа. Все функции проверки осуществляются в этой новой кнопке, после чего, по команде, юзер переносится в (невидимую) кнопку с функционалом Вывода. Необходимость создания более сложного механизма связана с механикой работы Функций кнопок и их взаимодействия с Action-ами и Условиями.


1. Создаем переменные

Переменная (Даты и Времени) - Переходим в вашем боте:
☞ 🔐Админ | 🗄Переменные | 📕Время | ➕Создать Переменную Имя переменной: withdraw_time, (можете использовать свое). В переменной будет хранится время последнего запроса вывода.

2.1 Созданной ранее кнопке Вывода присвойте команду.

Например: /withdraw_222

Имя команды должно быть таким чтобы юзеры умышленно или случайно не подобрали это имя и не могли обратиться к кнопке напрямую. Желательно так же изменить имя оригинальной кнопки Вывода, если она ранее была доступна или видна юзерам.

2.2 Скройте созданную ранее кнопку Вывода.

Скрыть кнопку можно двумя способами:
1. Перевести её в режим "Только админ" - защитит функционал кнопки, даже если юзер знает её название.
2. Сделать "Невидимой" - этот вариант применим, если кнопку нужно скрыть, не только от юзера, но и от повседневных действий админа.

Невидимые кнопки.
Для подключения, перейдите в вашем боте:
☞ 🔐Админ | 🧩Расширения | 📂Кнопки

Естественно кнопке которая непосредственно осуществляет Вывод средств можно добавить своё собственное Условие проверяющее последнее время вывода сохранённое в переменной.

3.1 Создайте новую кнопку.

Эта кнопка будет основной и единственной видимой юзеру. Если нужно, заранее переименуйте саму ранее созданную кнопку Вывода.

3.2 Новой кнопке добавляем Action-ы:

● Выбираем "Action Инициализации"
Переменная для изменения: withdraw_time
Значение: {dt_add(dt_now(), -24)}

Данный Action заменит в переменной значение по умолчанию, чтобы добавленное далее Условие не прервало исполнение цепочки Action-ов.

● Выбираем "Action Условий"
Условие: {dt_passed("%withdraw_time%") > 24}
Сообщение о Неудаче: "Заказывать вывод можно 1 раз в 24 часа. Осталось: {dt_left_hm((dt_add("%withdraw_time%", 24)), " - ", " часа(ов)", " минут")}"
Поведение кнопки: Не показывать содержимое.

Данный Action прервет выполнение цепочки Action-ов и покажет сообщение об ошибке.

● Выбираем "Action Команд"
Команда: /withdraw_222 - команда присвоенная кнопке вывода.
Действие 1: Прервать выполнение (Вкл) - (по умолчанию)

Данный Action отправит юзера в кнопку вывода.

4.1  Возвращаемся в кнопку Вывода средств

Не выходя из редактора кнопок (если вышли - зайдите снова) - переходим в ранее созданную (а ныне невидимую) кнопку Вывода.

4.2 Кнопке Вывода добавляем Action-ы:

● Выбираем "Action Чисел"
Переменная для изменения: withdraw_time - созданная нами для хранения времени вывода.
Тип операции: Задать Значение
Значение: {dt_now()}
Условие: Нет

Данный Action  установит в переменной время последнего заказа вывода средств.

4.3 Добавляем сообщение кнопке Вывода

Переходим в Редактор Постов и добавляем сообщение.
Пример: "Время заказа вывода: %date% %time%."

ВАЖНО: Добавление сообщения в кнопку Вывода - обязательно! Без добавленного сообщения не сработает добавленный в эту кнопку Action и время последнего вывода - не будет установлено в переменной. Это связано с механикой работы функционала вывода.


❖ Сообщения об ошибках


❌ Ошибка Вывода Средств!
Ошибка при отправке админу запроса на Вывод Средств.
ℹ️ Попробуйте еще раз, если ошибка повторится - обратитесь к админу бота напрямую.

Данное сообщение будет показано ЮЗЕРУ при попытке запроса на вывод средств с использованием кнопки «Вывод Средств» - если бот не может отправить сообщение в группу куда должны поступать запросы на вывод.
Возможные причины:
1. Вы не настроили или неправильно настроили группу куда должны поступать запросы на вывод.
2. Иногда ID группы меняется после изменения её настроек.
2. Бот не добавлен в группу куда должны поступать запросы на вывод.
3. Бот не является в группе Админом и не может отправлять туда сообщения.

Если данное сообщение показывается НЕ ВСЕМ, а только часть юзеров и НЕ ВСЕГДА, а время от времени, тогда возможно причина в том что у вас слишком много запросов на вывод и бот упирается в лимит на отправку сообщений в КАНАЛ. Попробуйте отправлять запросы в группу вместо канала, там лимиты не такие строгие.


Button update fail

Иногда сообщение появляется при том что внешне всё выглядит правильно.
Возможные причины:
1. Бот не смог удалить кнопки под сообщением о Выводе средств.
2. Возможно сообщение слишком старое.
3. Бот не имеет разрешений на редактирование.
Попробуйте создать вывод заново следуя всем инструкциям, если ошибка не пропадёт и вы исчерпали все варианты - пишите в поддержку.

❌ Вывод не может быть создан (ошибка настроек).
ℹ️ Свяжитесь с админами бота.

Данное сообщение будет показано ЮЗЕРУ при попытке запроса на вывод средств с использованием кнопки «Вывод Средств». Сообщение максимально нейтральное и скорее предназначено админу.
Возможные причины:
1. Неверные настройки кнопки вывода.
Перейдите в данную кнопку и посмотрите сообщение - админу будет показана расширенная версия сообщения с дополнительными данными. После чего настройте кнопку.

Дополнительная информация


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


Лог Транзакций Баланса

Лог (Журнал, Журнализация) изменений — это функция, которая сохраняет информацию, необходимую для восстановления последовательности начислений и представляет собой, хронологическую запись всех изменений затрагивающих баланс бота.

Лог Транзакций Баланса.
Для подключения перейдите в свой бот:
☞ 🔐Админ | 🧩Расширения | 📂Логи и Данные

• • •

Экспорт Данных Юзеров

Позволяет экспортировать в файл данные, ТОЛЬКО тех юзеров которые хоть как-то проявили себя в боте, кроме как просто посмотрели меню.

Экспорт Данных Юзеров.
Для подключения перейдите в свой бот:
☞ 🔐Админ | 🧩Расширения | 📂Логи и Данные

• • •

Курсы Обмена Валют

Добавит в ваш бот автоматически обновляемые курсы валют, которые будут обладать всеми свойствами переменных, а также иметь собственные макросы для каждой валютной пары и каждого направления обмена.

Курсы Валют.
Для подключения перейдите в свой бот:
☞ 🔐Админ | 🧩Расширения | 📂Логи и Данные