# Configuration

URL: https://zerodev.ca/docs/emoji-locker/configuration

> Every option in emojilocker.json5 and emojilocker-lang.json5.



Emoji Locker has two files in AthenaBot's `configuration/` folder:

| File                     | What it holds                                           |
| ------------------------ | ------------------------------------------------------- |
| `emojilocker.json5`      | License, panel style, persistent roles and permissions. |
| `emojilocker-lang.json5` | Every panel and message.                                |

Restart AthenaBot after editing either file.

## emojilocker.json5

```json5 title="configuration/emojilocker.json5"
{
  config: {
    LICENSE_KEY: "",
    panel: {
      type: "SELECT_MENU",
    },
    persistentRoles: [],
    permissions: {
      emojilocker_command: "admin",
      emojilocker_events: "admin",
    },
  },
}
```

| Option                            | What it does                                                                                      |
| --------------------------------- | ------------------------------------------------------------------------------------------------- |
| `LICENSE_KEY`                     | Your Emoji Locker license key.                                                                    |
| `panel.type`                      | How the main menu shows its actions. `SELECT_MENU` for a dropdown, or `BUTTON` for three buttons. |
| `persistentRoles`                 | Role IDs added to every emoji you lock, such as staff or booster roles.                           |
| `permissions.emojilocker_command` | Permission level that can run `/emojilocker`.                                                     |
| `permissions.emojilocker_events`  | Permission level that can use the panel's buttons and menus.                                      |

Permission levels come from `configuration/permission.json5`.

<Callout type="info">
  AthenaBot's own role is always added to locked emojis, so the bot can keep using them in its messages.
</Callout>

## emojilocker-lang.json5

### Messages

| Key                        | Shown when                                                            |
| -------------------------- | --------------------------------------------------------------------- |
| `processing`               | While emojis are being updated. Uses `%action%`, `%num%` and `%max%`. |
| `no_emojis_found`          | There are no emojis to show.                                          |
| `select_at_least_one`      | Confirm is pressed with no emojis picked.                             |
| `no_locked_emojis`         | Unlock is opened with nothing locked.                                 |
| `no_roles_selected`        | Lock is confirmed with no roles picked.                               |
| `select_emoji_placeholder` | The emoji menu's empty text.                                          |
| `select_role_placeholder`  | The role menu's empty text.                                           |

### Panels

Each panel uses AthenaBot's components format. `%primary_color%` is your accent colour and `%custom_emoji_<id>%` any AthenaBot emoji.

| Panel               | Shown when                    | Placeholders                                                                        |
| ------------------- | ----------------------------- | ----------------------------------------------------------------------------------- |
| `emojilocker_panel` | `/emojilocker` is run.        | `%guild%`, `%userMention%`, `%locked_count%`, `%unlocked_count%`, `%input_type%`    |
| `lock_panel`        | Lock Emojis is opened.        | `%emoji_count%`, `%role_count%`                                                     |
| `unlock_panel`      | Unlock Emojis is opened.      | `%emoji_count%`                                                                     |
| `list_panel`        | List Emojis is opened.        |                                                                                     |
| `processing_panel`  | Emojis are being updated.     | `%message%`                                                                         |
| `success_panel`     | The update finished.          | `%message%`                                                                         |
| `error_panel`       | Something went wrong.         | `%message%`                                                                         |
| `log_panel`         | Posted in `emojiLocker-logs`. | `%action%`, `%emoji_count%`, `%roles%`, `%emoji_list%`, `%userMention%`, `%userId%` |
