Absolet’s runtime behavior is controlled entirely by two YAML files in theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/devjhoan/absolet/llms.txt
Use this file to discover all available pages before exploring further.
config/ directory. config/config.yml holds global settings — your bot token, database URI, embed color, and activity rotation. config/commands.yml gives you fine-grained control over every slash command: whether it’s active at all, and which server roles are allowed to invoke it. Both files are parsed once when the bot process starts, so any changes require a restart to take effect.
config/config.yml
This file contains all global bot settings. There are three top-level sections:GeneralSettings, DatabaseSettings, and ActivitySettings.
config/config.yml
GeneralSettings
GeneralSettings.Token
GeneralSettings.Token
Type:
string — RequiredYour Discord bot token, obtained from the Discord Developer Portal under your application’s Bot page.GeneralSettings.LicenseKey
GeneralSettings.LicenseKey
Type:
string — RequiredYour Absolet license key. This is provided when you purchase or are granted access to Absolet and is validated on startup.GeneralSettings.EmbedColor
GeneralSettings.EmbedColor
Type:
string (hex color) — Default: #E74C3CThe accent color used in all Discord embeds the bot sends. Accepts any CSS-style hex color string.DatabaseSettings
DatabaseSettings.Uri
DatabaseSettings.Uri
Type:
string — RequiredA valid MongoDB connection string. Absolet uses Mongoose to connect, so any URI that Mongoose accepts will work — local instances, Docker containers, and MongoDB Atlas clusters are all supported.ActivitySettings
Controls the rotating status messages shown on your bot’s Discord profile.ActivitySettings.Enabled
ActivitySettings.Enabled
Type:
boolean — Default: trueSet to false to disable activity rotation entirely. The bot will remain online with no custom status.ActivitySettings.Activities
ActivitySettings.Activities
Type:
The
array of [type, text, status] tuples — Required when Enabled: trueEach element is a three-item array that defines one activity entry in the rotation:| Index | Field | Accepted Values |
|---|---|---|
| 0 | type | Watching, Playing, Listening |
| 1 | text | Any string displayed after the type label |
| 2 | status | online, dnd, idle |
status value changes the colored indicator on the bot’s avatar as well:online→ green dotidle→ yellow crescent moondnd→ red minus (Do Not Disturb)
ActivitySettings.Interval
ActivitySettings.Interval
Type:
string (duration) — Default: "1m"How long each activity is shown before the bot rotates to the next one. Uses the ms library format, so values like "30s", "1m", "5m", or "1h" are all valid.config/commands.yml
This file controls every slash command Absolet can register. Each top-level key maps to a command using PascalCase — for example, the/ticket-manage slash command is configured under the key TicketManage, and /now-playing maps to Nowplaying.
Every command entry supports the following fields:
| Field | Type | Description |
|---|---|---|
Enabled | boolean | Whether the command is loaded and registered at all |
Permissions | string[] | List of role names (or @everyone) that can use the command |
Cooldown | string | (Optional) Per-user cooldown in ms format, e.g. "1h" |
Permission Levels
Permissions incommands.yml work by matching server role names (not IDs) against the roles a member has at the time they invoke the command.
@everyone— any server member can use the command, regardless of their roles.- A role name (e.g.
"Staff","Admin","Owner") — only members who hold a role with that exact name can invoke the command. - Multiple role names — the member only needs to hold one of the listed roles (OR logic).
Role names are case-sensitive and must exactly match the role names configured in your Discord server.
"Staff" and "staff" are treated as different values.commands.yml are:
| Role name | Intended audience |
|---|---|
@everyone | All server members |
Staff | Moderators and support staff |
Admin | Server administrators |
Owner | Server owner(s) and trusted admins |
Representative Examples
config/commands.yml
PascalCase Key Mapping
The internal command key is derived from the slash command name by capitalizing each hyphen-separated word and joining them without hyphens. A few examples:| Slash command | commands.yml key |
|---|---|
/help | Help |
/ban | Ban |
/ticket-manage | TicketManage |
/nowplaying | Nowplaying |
/give-money | GiveMoney |
/shop-manage | ShopManage |
/role-prefixes | RolePrefixes |
/staff-history | StaffHistory |
/custom-commands | CustomCommands |