Найти тему

Создание своей экономики в Juniper.bot в дискорде

Не смотря на то, что дискорд сейчас переживает не лучшие времена в связи с РКН, но он всё же пользуется большой популярностью.

Juniper.bot - специальный бот для дискорда, имеющий просто огромный функционал, где всё зависит от вашей фантазии.

Это первая часть по работе с Juniper.bot, где ниже я вам подробно расскажу как сделать проверку баланса пользователя, увеличить, уменьшить, или установить пользователю определённый баланс.

Нам нужно создать кастомную команду, например /balance - соответственно для просмотра баланса. Затем мы переходим в "Действие" и пишем следующий код: (код буду помещать в " ``` ", чтобы вы не путались)

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

``` Ваш баланс: {{ member.getAttribute('money') }} ₽ ```

Теперь сохраняем, и если мы введём нашу команду, то получим следующий результат:

*Ваш баланс: ₽*

Связано это с тем, что в атрибуте 'money' у вас нет вообще ничего, пустота.

Есть 3 метода изменить значение атрибута:

1. Увеличить баланс

2. Уменьшить баланс

3. Установить баланс

Так что нужно сделать? Создаём для удобства слэш-команду, в которой будет аргументы [пользователь] и [сумма], лично мне привычнее 'user' и 'amount'.
Перед этим не забудьте включить слэш-команды! Делается это как показано на скриншоте ниже

Включение слэш-команд
Включение слэш-команд

Теперь добавляет параметр (аргумент) 'user'

Добавление аргумента user
Добавление аргумента user

Теперь добавляет параметр (аргумент) 'amount'

Добавление аргумента amount
Добавление аргумента amount

И теперь в поле кода пишем одну из следующих строк (по вашему усмотрению)

Методы изменения баланса
Методы изменения баланса

Для удобства можете скопировать их ниже:

``` {% do arguments.getOption('user').getAttribute('money').update(arguments.getOption('amount')) %} {# Установить указанный баланс #} ```

``` {% do arguments.getOption('user').getAttribute('money').increment(arguments.getOption('amount')) %} {# Увеличить баланс на указанную сумму #} ```

``` {% do arguments.getOption('user').getAttribute('money').decrement(arguments.getOption('amount')) %} {# Уменьшить баланс на указанную сумму #} ```

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

Теперь вы создали простейшую систему баланса пользователя, и это открывает перед вами огромные возможности. Примеры я расскажу в следующих статьях.

Спасибо за внимание!