JuniperBot урок
26 subscribers
5 photos
6 links
Движок джунипера в дискорд.
Приступим 🌙
Download Telegram
Ну что ж, сегодня мы научимся писать свой браузер или информацию. Например !инфа стул, !инфа Стул прошу заметить то что с большой буквы вас не будет слушаться бот работает только по указанному аргументу, большие буквы вы должны сами поставить, если в вам надо. Что ж научимся переменной {{ arguments.get(1) }} это выведет 1 аргумент команды, !инфа иврит и выведет иврит. Если хотите все аргументы, то {{ arguments }}
Что ж пишем

{% if arguments.get(1) == "стул" %}
Стул - это прибор, что бы на нем сидеть.


Внимание! Прошу заметить то что нужно написать {% endif %} если пишет ошибку ожидание закрытие островка кода. Данный метод должен быть везде где if


Прошлый код выведет что мы написали. Что ж теперь давайте ещё один запрос. И да мы не пишем опять if, а elseif

{% if arguments.get(1) == "стул" %}
Стул - это прибор что бы на нем сидеть.
{% elseif arguments.get(1) == "стол" %}
Стол нужен для того что бы класть туда приборы или кушать на нем.
{% endif %}


Это выведет информацию 1 аргумента. Чтобы сделать больше запросов, пишем: elseif.
Запомните! Обязательно после if идет elseif, elseif и т.д.


Что ж если вы закончили делать запросы то пишем

{# здесь аргументы и запросы здесь не должно быть endif #}
{% else %}
По запросу {{ arguments.get(1) }} не нашлось результатов, попробуйте написать с маленькой буквы и без пробелов.
{% endif %}


Если появилась проблема — пиши в комментарии.

Полезно! arguments.get(1) можно изменить цифру 1, на 2. Бот будет искать второй аргумент. Например: !инфа неважно важно
Будет искать аргумент важно. Или 3 и т.д


Важно! Если ничего не понятно, смотреть ниже.


{% if (выражение) %}
... Блок вычисляется если "выражение" вычислено как true ...
{% elseif (другоеВыражение) %}
... Блок вычисляется если "другоеВыражение" вычислено как true,
а так же "выражение" вычислено как false ...
{% else %}
... Блок вычисляется если ни одно из
указанных условий не было удовлетворено ...
{% endif %}

#ifelseifelse
👍3
Как сделать удачу и не удачу?
{% set rand = random(1, 2) %}
1 - минимальное значение
2 - максимальное значение, вы можете изменить эти оба значения...
То же самое пишите и для рандомных денег. set ranf., Например
{% if rand = 1 %}
Не удача
{% elseif rand = 2 %}
Вы удачно поработали и получили {{ ranf }}

{{ member.getAttribute(). increment}} - если хотите выполнить это действие с тем сколько стало денег.

Подсказка! Если мы пишем {{member.getAttribute("coin").increment(1)}} - выведет уже изменённый атрибут. К примеру: если у нас в атрибуте есть 50, то если приписать инкремент 1 то будет показываться 51. Что бы показывало только сколько мы заработали, можно прописать через set, а потом вывести через действие do и в строчку. Смотреть ниже.


Новое! Если мы поставили через set например ranf, то мы можем им пользоваться.
Вы заработали {{ranf}} денег.
{% do member.getAttribute("coin"). increment(ranf) %}

#attribute #ifelseifelse #random
Расскажу с возвращением что такое else многие не знают. В переводе оно означает: "ещё" а если говорить проще, то: если все варианты не подходят то я.

Например:
{% if arguments.get(1) == "" %}
Вы задали пустую строчку запроса
{% else %}
Вы крутой дядя, вы написали что-то!)
{% endif %}


Ладно, давайте сделаем что-что то типа браузера по словам. Берём наше создание ^

{% if arguments.get(1) == "" %}
Вы задали пустую строчку запроса
{% elseif arguments.get(1) == "инфа"%}
Инфа инфа инфа
{% else %}
Ничего не найдено
Попробуйте фильтр слов информации
- "инфа"
{% endif %}

Внимание! Вы уже заметили arguments.get(1)? Кроме 1 можно взять любую другую цифру, например 2. Будет искать 2 аргумент. Можно использовать другие методы:

arguments - Ищет во всех аргументах

arguments.range(от,до) - ищет в аргументах от например> 1 до 3: есть есть есть нет.

arguments.after(от) - ищет аргументы от 2: нет есть есть....;или от 3: нет нет нет есть и т.д. То есть все максимально упрощено, можно брать любую цифру.

arguments.before(до) - антоним after. Теперь аргументы до какого то числа, а не от какого то числа, например 4. Цифру так же можно взять любую: Есть есть есть есть нет..


Как вы видите, добавили elseif - ещё если, сами поймёте что это означает.
#ifelseifelse #arguments
Расскажу немного для того что бы научиться обращаться к компонентам

{% if component.id == "1" %}
{# В коде возможны ошибки, пишите в комментариях о них #}
Вы в пункте номер 1.
{% else %}
Привет, выбери чо ни будь
{% endif %}


Зачем я написал это?
Если мы пропишем команду, то мы увидим вот это:
«Привет выбери что ни будь»

Или мы можем увидеть пустой ответ. Если написать else и endif.

Если мы туда напишем кнопку, получим текст с кнопкой. Указав наш ID, где мы можем указать его в component.id. То мы направим нашу кнопку на него.

Немного не так написал. Айди кнопки, работают вместе с компонентом.
Примечание: у кнопок есть лимит, лучше не используйте кнопок слишком много


Так же мы можем направить на обратно, т.к у нас в конце else логично, то что если мы пропишем кнопку с ID: back или другим содержанием, сначала поищет айди, если его нет, то переведет на старт меню.

{% if component.id == "1" %}
{# В коде возможны ошибки, пишите в комментариях о них #}
Вы в пункте номер 1.
{% do button('PRIMARY', 'back12112', 'Назад', '🔙', 'b39297ea-cc2d-4f88-a475-d4a9df94cb99') %}
{% else %}
Привет, выбери чо ни будь
{% endif %}

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

Вроде мы разобрались с главным
#кнопка #компонент #UUID
#ifelseifelse
Черепунька☠️ (Александр Красиков)
Привет. Ты тут живой? Как-то нашёл тебя через яндекс поисковик. Ты случайно не сможешь помочь? Нужно в общем-то сделать навигацию вот так вот, как на скрине. Тобишь, 1 виджет это картинка, а 2-ой виджет это надпись, 3 уже получается сама навигация с кнопками.…
Теперь перейдем к ответу на вопрос

Если мы напишем в 1 Действии. Какой ни будь текст, или без него. Перейти в компоненты сообщения и просто нажмём на кнопку "Меню выбора строк" то мы увидим кучу значений!

Ознакомимся с главным. Идентификатор важная вещь. Если мы будем заводить новые меню выбора строк или другого, то ориентироваться будет сложнее. Или наоборот не сложно, но как то запутанно.

Уххх, давайте начинать. Давайте напишем тогда цифру 0. Для всех она стандартная.

Дальше 2 пункта, ну они понятны, но нужна отдельная тема для этого. Оставляем всё как есть.

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

Далее сами пункты выбора. Добавляем пункт и добавляем значение. Значение такое же будет как для обычной кнопки. Немного по другому работает.
ОБЯЗАТЕЛЬНО ВЫБИРАЕМ ДРУГОЕ ДЕЙСТВИЕ, потому что это удобнее.


Далее уже во втором действии пишем наш первый код

{% if component.selectedOptions[0] == "1" %}

Где 0 в квадратных скобках, там наш идентификатор меню, а где 1 это значение строки действия или немного по другому это называется.

Все работает так же как и с компонентами кнопок, добавляется лишь квадратная скобка с новым номером.

К сожалению нельзя сделать само меню через код.



#меню #компонент #кнопка #айди #ID
#ifelseifelse
Расскажу про run. Ран запускает другое действие. Это очень пригодится для многофункциональных или для тех кто купил донат в Juniper.

Например сделаем показ баланса пользователя. Если у него окажется: куплен скрытый баланс(есть роль или проверяется через атрибут) то ран пригодится и переносимся на другое действие где показывают баланс тип "Эфемерное сообщение" то есть извизибл сообщение, кроме того кто вызвал команду.

Примерно так это выглядит:

1 действие.
{% if member.hasRole(ID role) %}
{% run("id второго действия") %}
{% else%}
Тут должен быть баланс для тех у кого нет этой услуги
{% endif %}


Так же может использоваться при проверке на роль:
hasRoles(Роли)
Проверяет, есть ли все указанные роли у участника.

hasAnyRole(Роли)
Проверяет, есть ли у участника хотя бы одна из перечисленных ролей.


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

Полезно! Если у вас используются кнопки, важно указывать отредактировать сообщение компонента.

#run #UUID
#ifelseifelse #role
JuniperBot урок
Как сделать удачу и не удачу? {% set rand = random(1, 2) %} 1 - минимальное значение 2 - максимальное значение, вы можете изменить эти оба значения... То же самое пишите и для рандомных денег. set ranf., Например {% if rand = 1 %} Не удача {% elseif rand =…
Ещё один урок на сегодня. Дополнение к этому

Настройка шансов для рандома. Все же хотят регулировать шансы, а не так что бы было всё 50/50(если 2) или 25/25/25/25(если 4) и т.д

Так начнём просто пишем ещё квадратные скобки.

{% set rand = random([1, 2]) %}

Ну и что же здесь изменилось? Ну теперь рандом не будет работать по логике. Верно теперь мы добавляем шансы.

{% set rand = random([1, 2], [20, 80]) %}

Если что 20 и 80 это шансы к определенному. Причисляются они следующим образом:
1 - 20%
2 - 80%
Надеюсь понятно

Запомните где разница. Если мы не решаем шансы, а просто пишем от 1 до 500 или любое другое, то это пригодится для зачисления то есть рандомное число которое мы получим зачислится/отчислиться в атрибуте(для экономики, можно по другому)

А где настраиваются шансы - это только на определенные вещи. Например:

{% set rand = random([1, 2], [20, 80]) %}

{% if rand == 1 %}
Gg
{% elseif rand == 2 %}
Ff


То есть удобно в разных случаях. Если мы хотим оставить шансы 50/50 то делаем так же как и с работой, т.е так же независимо от шансов которые мы установим, устанавливается автоматически шанс, все должно быть равномерно. Ещё раз. Мы можем сделать от 1 до 100 и к каждому из них причисляется 1 доля от 100%.
#ifelseifelse #random
👍1