Life-Hack #3: Временный ТОП рефералов в @MenuBuilderBot
MegaHubTelegram![](/file/ae85810ea518adf1c7ae9.png)
Данный Life-Hack позволит вам создавать временные ТОПы рефералов (топ рефералов за период), а так же сбрасывать значения при необходимости. Количество рефералов можно будет как откорректировать для отдельного юзера, так и очистить все значения для всех юзеров при необходимости.
📜 Перевод представленных материалов на ваш родной язык может быть автоматически осуществлен при помощи переводчика Google. Перейдите по ссылке и выберите нужный язык в заголовке:
https://translate.googleusercontent.com/translate_c?depth=1&sl=ru&tl=es&u=https://telegra.ph/Life-Hack-3-Temporary-TOP-of-referrals-in-MenuBuilderBot-RU-05-03
Life-Hack - предполагает использование имеющегося функционала не очевидными и достаточно хитроумными способами, создавая в своём боте функции не заложенные разработчиками конструктора изначально.
В данном разделе мы публикуем различные варианты и готовые решения того, что может быть создано с использованием возможностей, уже имеющихся в конструкторе @MenuBuilderBot.
При создании подобных руководств предполагается, что вы, в той или иной степени, уже знакомы с основными функциями конструктора и базовыми механизмами работы с ним. Если в процессе изучения представленного материала ваших базовых знаний окажется не достаточно, советуем изучить основы прежде чем продолжать.
![](/file/107f5193ac92a71cfb788.png)
Общее количество рефералов у пользователя - это объективная цифра. Она не может (да и не должна) быть сброшена или каким-то образом изменена. Она отражает то реальное количество рефералов, которое пригласил отдельный пользователь вашего бота. Однако, существуют случаи (проведение различных конкурсов, соревнований или челленджей с розыгрышем призов), когда есть необходимость учёта количества рефералов за отдельный период. Для таких случаев и создан данный Life-Hack.
⬛ Чтобы создать временный ТОП рефералов вам понадобится:
1. Числовая переменная, допустим, ref_top (1$)
☞ 🔐Админ | 🧩Расширения | 📂Переменные | Доп. переменные
2. Топ по переменной (1$)
☞ 🔐Админ | 🧩Расширения | 📂Переменные | Базовый топ по переменной
Если у вас уже есть ненужная цифровая переменная и/или базовый топ по переменной - можно использовать их.
⬛ Подготовка
1. Приобретите "Базовый ТОП по Переменной" как описано выше.
2. Приобретите переменную как описано выше.
3.1. Перейдите ☞ 🔐Админ | 🗄Переменные | 📙Цифровые
3.2 Создайте Переменную и присвойте ей подходящее имя (Например ref_top).
3.3. Переключите настройку "Топ по Переменной" в режим "ВКЛ" (включено).
4. Создаете служебную кнопку, допустим, “Реф.настройка” для настройки переменной.
5. Устанавливаете ей настройки:
- Только админ
- Назначить редактор (в редакторе выбрать переменную "ref_top")
6. Заходите в кнопку, появится редактор
- В редакторе нажимаете “Реферальный Бонус”
- Задаете там список из одной строки, в которой просто число "1".
![](/file/61ad29720d230919a3feb.jpg)
Для владельцев многоуровневой рефералки здесь можно делать более интересные вещи, см. ниже.
Все, в общем: вся магия состоялась. Теперь в переменной "ref_top" у юзеров будет накапливаться количество рефералов. Учет будет идти с того момента, с которого вы включили эту настройку.
Юзерам можно показывать их достижения через обычный макрос переменной
%ref_top%, использовать ее в условиях, выражениях, в общем, все как обычно.
⬛ Вывод ТОПа
Топ выводится как обычный ТОП по переменной (коим он и является). Особенностью вывода является то, что необходимо добавить
Префикс: top
Постфикс: 1u, 1v; 2u, 2v; и так далее в зависимости от уровня.
Чтобы показать время, оставшееся до обновления данных, используйте следующие макросы:
Префикс: top
Постфикс: h - часов
Постфикс: m - для минут
Сброс топа
Сброс такого топа - это обычная очистка переменной. Когда решите начать новый цикл сбора - просто обнуляете переменную у всех юзеров командой
При этом с обычными параметрами реферальной системы (ref_count и прочее) ничего не произойдет, там все как было, так и останется.
Изменение значения для отдельного юзера
Изменение значения производится так же как и для других переменных - командами:
/varget ref_top user_id
запросить значение переменной
/varset ref_top user_id value
установить значение переменной
/varadd ref_top user_id delta
добавить значение к переменной (чтобы вычесть - используйте отрицательное число).
/vardel ref_top user_id
чистит переменную указанному юзеру.
Если вы использовали другое имя для переменной, а не "ref_top", то в командах используйте его.
user_id - это Telegram ID вашего юзера (можно использовать его UserCode)
value - это значение для установки
delta - значение для изменения
⬛ Несколько ТОПов
Как вы понимаете, этот механизм не ограничивает вас одним ТОПом. Вы можете таким образом создать сколько угодно параллельных ТОПов. Например, ТОП за день, ТОП за неделю и ТОП за месяц, или что-то в этом роде. Повторите указанные действия несколько раз, с разными переменными и сбрасывайте ТОПы по отдельности тогда, когда вам нужно.
⬛ Фокусы для продвинутых
Увеличенное вознаграждение
Число 1, указанное выше, не является единственно возможным. Вы можете играть этой цифрой как хотите. На какое-то время давать повышенное значение, если хотите поощрить приглашающих. Например, “следующие 10 часов за каждого реферала вы будете получить полтора очка” и поставить там 1.5 в качестве реферального вознаграждения.
Многоуровневое вознаграждение
Владельцы многоуровневых реферальных систем могут также давать бонусы за рефералов второго, третьего и так далее уровней, добавляя это вознаграждение в список реферальных вознаграждений.
Например:
1
0.5
0.1
Будет давать в ТОПе дополнительно 0.5 за реферала второго уровня, 0.1 за третьего и так далее.
![](/file/790a19edfcff149830828.png)