Рефералка

Материал из wiki-MyMakerBot

Затестим начало реферальной системы

https://t.me/PinForwardBot?start=ref-231821337

Моя реф-ссылка на бота выглядит так. Данный формат един и учитывается системой, считаются уровни

если распечатать {$argv|json} то будет так

 [
   "start",
   "ref-123456",
   "referal",
   "123456",
   1
 ]

0 и 1 - стандартные параметры 2 - 'referal' 3- кто пригласил 4 - текущий уровень пользователя в системе

т.е. как минмум в start вы можете по наличию параметров 2 3 4 проверить и дополнительно сами отреагировать. Какие доп данные нужны будут, могу внести сюда

$argv[3] - это тот, кто пригласил $user_id - текущий пользователь

А потому вы можете спокойно уведомить того пользователя, что его реф ссылка сработала.

Есть еще особенность. Хозяин ссылки должен быть в реф системе, т.е. хотя бы раз, но должен запустить команду /start

т.е. если сейчас вы сами сделаете себе ссылки и разместите, но сами с этого момента ниразу не запускали /start ,то ваши ссылки не сработают! (ну эт старых пользователей касается, новые автоматом через start проходят)

Грубо говоря реф система работает только через команду start.


Теперь если человек кликает на реферальную ссылку и он ранее по ней не проходил, и ранее в бота не заходил, то в боте будет срабатывать метод /main__referal если такого метода нет, то он будет автосоздан с текстом {import c='/start'} сделано так, чтоб не ломать совместимость.

какие переменные видим

Спасибо

{$user|json}

{$refer|json}

{$refer_level}

{key l=10 t='Начать' c='/start'}

$refer - пользователь по чьей ссылке пришли, $user - текущий пользователь $refer_level - уровень

Вы можете сделать кнопку и поблагодарить в методе, а можете оставить {import c='/start'} и по тихому что-то начислить. Все зависит от вашей реализации