Затем добавляю цепочку сообщений, чтобы протестировать:
В настройках пишу: Результат и вывожу переменную:
Если я сейчас кликну на кнопку Получить бонус, то результат 0. Начислять баллы не буду. К этому тоже нужно быть готовым.
Для того чтобы отслеживать сколько у пользователя рефералов, я создаю блок Условие:
Кликаю на него, выбираю:
Ставлю: меньше 1:
Если Да, то пишу, что недостаточно рефералов:
Если у пользователя другое условие, больше 1, то по ветке Да создаю еще условие. Здесь буду проверять в первый раз он получает начисление или нет. Выбираю:
Пишу название:
Кликаю Enter. Если у пользователя нет этого тега, он идет по ветке Нет.
Здесь я добавляю блок Операция над переменной. Сразу сделаю Тэг, чтобы в следующий раз он пошел по другой ветке:
Кликаю на блок Операции над переменной, где переменная первый уровень. Здесь формируется число (любое) и с этим числом я должна произвести какие-то математические выражения. Если у меня 1 реферал, то я за него получу 100 рублей (баллов), а если 5 рефералов, то я должна получить 500 рублей.
Следовательно в блоке Операции над переменной, выбираю:
Здесь добавляю 2 локальные переменные:
А в значении пишу:
Затем заполняю:
После этого можно добавить блок Цепочка сообщений, где сообщаем о начислении баллов:
Затем добавлю кнопку Главное меню и добавлю сценарий, где выбираю Главный сценарий.
Теперь я продублирую блок Операции над переменной с переменной первый уровень и поменяю название на 1 уровень получено, а формула будет таже:
В тот момент, когда пользователь пройдет сквозь этот блок, здесь формируется число рефералов и попадет в переменную один уровень получено. Таким образом в эту переменную первый уровень получено, попадет то количество рефералов, за которые пользователь получил начисление. А когда он в следующий раз придет, я могу брать эту переменную и использовать как прошлое число.
После блока Условие, который проверяет наличие тега, он направит по ветке Да. Я могу сделать такую проверку. Добавлю блок Операция над переменной, выберу математическое выражение 2.0. Добавлю локальную переменную, которая называется 1 уровень получено, а также возьму еще 1 локальную переменную фактическое количество рефералов и сделаю вычисление:
В данной переменной будет разница между фактическим и полученным.
Далее поставлю блок Условие, чтобы лишний раз не назначать баллы:
Здесь я выбираю:
И делаю настройки:
Если хотите настроить не баллы, а рубли, то после имени переменной нужно написать слово – рублей. Например так: {{$ball}} рублей.
То здесь ему нет смысла чего – то начислять, так как у него нет рефералов. А ему отправлю сообщение, что у него нет новых рефералов.
Здесь меняю условия:
В боте это будет выглядеть так:
Если я войду в Главное меню и сразу кликну опять на кнопку Получить бонус, то мне бот ответит:
Но в случае, если у пользователя будет больше рефералов, то должны проделаться следующие вычисления.
У меня есть предыдущий блок, который знает новых рефералов. Он берет и вычитает, получает переменную 1 уровень новая. У пользователя если больше 1 рефералов, то он попадает сюда и я буду использовать переменную 1 уровень новая. это X и это буду умножать на 100 и прибавляю текущее значение переменной баллы:
Таким образом бот будет знать новое количество рефералов и данное число умножать на 100 и прибавлять к новым баллам. После всех этих вычислений я также буду использовать блок Операция над переменной, в которой формируется переменная получен 1 уровень с текущим количеством всех рефералов.
Можно добавить блок Цепочка сообщений:
И здесь написать: