> ## Documentation Index
> Fetch the complete documentation index at: https://fxscripts.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Where every setting lives.

Every config file is editable and survives updates.

```
fxChat/
├── config.lua
├── configs/
│   ├── chat.lua
│   ├── chat-sv.lua
│   ├── blacklist.lua
│   ├── commands.lua
│   └── translation.lua
├── translations/
└── themes/
```

## `config.lua`

Admin permissions and the Discord webhook.

```lua theme={null}
Config = {}

Config.AdminGroups = { 'admin', 'superadmin' }

Config.Webhooks = {
    enabled = false,
    url = 'https://discord.com/api/webhooks/...',
    name = 'fxChat',
    avatar = 'https://i.imgur.com/...'
}
```

## `configs/chat.lua`

Behavior — open key, default theme, ranges, rate limit.

```lua theme={null}
Chat = {}

Chat.OpenKey = 'T'
Chat.DefaultTheme = 'default'
Chat.AutoHideAfter = 10000      -- ms before chat fades out
Chat.HiddenMode = false         -- only show while open

Chat.Proximity = {
    me  = 15.0,   -- /me /do range in meters
    ooc = 10.0,   -- /ooc range
}

Chat.RateLimit = {
    messages = 5,
    window   = 3000, -- per N ms
}
```

## `configs/blacklist.lua`

Block prefixes, words and links.

```lua theme={null}
Blacklist = {
    prefixes = { '/cmd', '/give' },
    words    = { 'forbidden', 'spamword' },
    urls     = true,
}
```

<Tip>
  Set `urls = false` if you want players to share links freely.
</Tip>

## `configs/commands.lua`

Toggle and gate each built-in command.

```lua theme={null}
Commands = {
    me           = { enabled = true },
    do_          = { enabled = true },
    ooc          = { enabled = true },
    pm           = { enabled = true },
    reply        = { enabled = true },
    announcement = { enabled = true,  group = 'admin' },
    lspd         = { enabled = true,  job = 'police' },
    ems          = { enabled = true,  job = 'ambulance' },
    cls          = { enabled = true },
    clear        = { enabled = true,  group = 'admin' },
    chatadmin    = { enabled = true,  group = 'admin' },
}
```

Full reference at [Commands](/docs/fxchat/commands).

## `configs/translation.lua`

```lua theme={null}
Translation = {
    locale = 'en',
}
```

To add a language: copy `translations/en.lua` to
`translations/<locale>.lua`, translate the values, set `locale` to your
filename.

## Themes

Each `themes/*.json` is one look. Drop a new file — it appears in the
theme picker. Schema and editor live at [Themes](/docs/fxchat/themes).

## Applying changes

* Most edits → `restart fxChat`
* Theme edits → `/reloadthemes` (no restart needed)
