> For the complete documentation index, see [llms.txt](https://advion.gitbook.io/advion-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://advion.gitbook.io/advion-docs/commands-and-permissions.md).

# 💻 Commands & Permissions

This page lists all available commands for the plugin and the permissions required to use them.

### 👤 Player Commands

These commands are available to all players by default and do not require specific permissions.

| **Command**          | **Aliases** | **Description**                                  |
| -------------------- | ----------- | ------------------------------------------------ |
| `/messages`          | —           | Opens the main message selection menu.           |
| `/messages on`       | —           | Enable seeing other players' join/quit messages. |
| `/messages off`      | —           | Hide join/quit messages (Silent Mode).           |
| `/messages soundon`  | —           | Enable plugin notification sounds.               |
| `/messages soundoff` | —           | Disable plugin notification sounds.              |

***

### 🛡️ Admin Commands

These commands require the `universalmessages.admin` permission or Operator (OP) status.

Main Command: `/um` (or `/universalmessages`).

| **Command**       | **Arguments**   | **Description**                                                                                                                     |
| ----------------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `/um reload`      | —               | Fully reloads configuration, languages, and database connections.                                                                   |
| `/um givemessage` | `<player> <id>` | <p>Gives a player a specific message (unlocks access).</p><p><br></p><p>Example: <code>/um givemessage Steve join\_ninja</code></p> |
| `/um takemessage` | `<player> <id>` | Takes a message from a player (locks access).                                                                                       |

> Note: Message IDs (e.g., `join_ninja`, `death_lava`) are taken from the section names in the files located in the `/messages/` folder.

***

### 🔑 Permissions List

#### 👮 Administrative Permissions

* `universalmessages.admin` — Grants access to all admin commands (`/um ...`) and update notifications (if enabled).

#### 👥 Group Permissions (Ranks)

Used to set default messages if a player has not selected a personal one. These are configured in `config.yml` under the `groups` section.

Configuration Example:

* `um.group.vip` — The player will use the message defined for VIPs.
* `um.group.premium` — The player will use the message defined for Premium users.
* `um.group.legend` — The player will use the message defined for Legends.

> Important: The plugin checks groups from top to bottom as listed in the config.

#### ✉️ Message-Specific Permissions

You can restrict access to purchasing or selecting specific messages using permissions.

This is configured inside the message files (e.g., messages/join.yml).

YAML

```
join_king:
  name: "&6King's Entrance"
  permission: "um.join.king"  # <--- Access Permission
  price: 0
```

If a `permission` is set for a message, the player will only be able to see/select it if they have that specific permission node (even if the price is 0).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://advion.gitbook.io/advion-docs/commands-and-permissions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
