JuniperBot урок
26 subscribers
5 photos
6 links
Движок джунипера в дискорд.
Приступим 🌙
Download Telegram
Эта функция добавит к результирующему сообщению шаблона кнопку. Принимает шесть строковых аргументов.


Первый аргумент — стиль кнопки:

LINK — Кнопка-ссылка серого цвета, используется для открытия веб-страниц;
PRIMARY — Основная кнопка синего цвета, обычно используется для подтверждения какой-либо операции;
SECONDARY — Вторичная кнопка серого цвета, используется как отмена или для редко используемых операций;
SUCCESS — Кнопка зелёного цвета, используется для выполнения какой-либо положительной операции;
DANGER — Кнопка красного цвета, используется для выполнения какой-либо деструктивной операции;

Второй аргумент — URL для кнопки-ссылки, для остальных видов кнопок уникальный идентификатор;

Третий аргумент — наименование кнопки;

Четвёртый аргумент — эмоция (опциональная, можно указать null);

Пятый аргумент — UUID Действия для выполнения (для всех видов кнопок, кроме кнопки-ссылки)
Можно найти в действии, кнопка i;

Шестой опциональный аргумент - логический признак того, отключена ли кнопка.

{% do button('LINK', 'https://juniper.bot/', 'Website', '🦊') %}
{% do button('PRIMARY', 'acceptBtn', 'Подтвердить', '', 'b39297ea-cc2d-4f88-a475-d4a9df94cb99') %}
{% do button('PRIMARY', 'acceptBtn', 'Accept (Disabled)', '', 'b39297ea-cc2d-4f88-a475-d4a9df94cb99', true) %}

#кнопка #компонент #UUID
Расскажу немного для того что бы научиться обращаться к компонентам

{% 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
Расскажу про run. Ран запускает другое действие. Это очень пригодится для многофункциональных или для тех кто купил донат в Juniper.

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

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

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


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

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


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

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

#run #UUID
#ifelseifelse #role