> For the complete documentation index, see [llms.txt](https://otters-developments.gitbook.io/otters-developments/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://otters-developments.gitbook.io/otters-developments/paid-resources/adverts/configuration.md).

# Configuration

Otters Adverts is designed to be highly configurable while keeping installation straightforward.

Most server-specific settings are controlled through `config.lua`, while interface styling can be changed through `html/css/theme.css`.

## Framework

```lua
Config.Framework = 'auto'
```

The exported documentation lists QBCore, Qbox and ESX support. Automatic detection can be used where supported.

## Command

The command used to open Otters Adverts can be changed through the configuration.

## Advert Categories

Categories are configurable and are used to generate the category navigation in the UI. The documented defaults include Events, Jobs, Business, Services, Property, Vehicles, Community and Other.

## Advert Pricing & Durations

Advert prices and available durations can be configured to suit your server. Expiration dates are stored persistently so adverts continue to expire correctly after a restart.

## Posting & Bump Cooldowns

Posting and bumping can have separate configurable cooldowns. Posting cooldowns persist across reconnects and restarts.

Deleting your own advert restarts the posting cooldown to prevent repeated create/delete spam.

## Advert Limits

```lua
Config.Permissions = {
    StaffAce = 'otters_advert.staff',
    VipAce = 'otters_advert.vip',
    DefaultMaxAdverts = 1,
    VipMaxAdverts = 5,
    StaffMaxAdverts = -1,
}
```

In the documented example:

* Standard players — 1 active advert
* VIP players — 5 active adverts
* Staff — Unlimited adverts

A value of `-1` can be used for unlimited adverts where supported.

## ACE Permissions

The documented staff ACE is:

```
otters_advert.staff
```

VIP access uses:

```
otters_advert.vip
```

Configure the corresponding `add_ace`/principal rules in your server permissions.

## Live Advert Notifications

The resource includes its own live advertisement notification. Multiple notifications are queued so each advert receives its full display time.

## Notification Integration

The exported documentation lists integrations including:

* ox\_lib
* okokNotify
* QBCore
* Qbox
* ESX
* mythic\_notify
* wasabi\_notify
* Chat fallback
* Built-in fallback

Automatic detection can be used where supported.

## Phone Integration

Where supported, the player's phone number can be automatically retrieved and inserted into the Create Advert form. Framework-based phone numbers can be used as a fallback.

## GPS & Location

Advertisements can include coordinates. Selecting the GPS option can set the player's waypoint to the advertised location.

## Advert Images

A 16:9 image is recommended. The exported documentation recommends approximately **800 × 450**.

## Blacklisted Words

Words added to the blacklist can be prevented from being used in advertisements.

## Discord Logging

Discord logging can include:

* Advert created
* Advert edited
* Advert deleted
* Advert bumped
* Advert expired
* Admin actions
* Advert bans
* Advert unbans

## Database

The resource automatically creates required SQL tables and handles supported migrations. A full SQL file remains available as a manual fallback.

## UI Theme

Edit:

```
html/css/theme.css
```

to customise the visual appearance without modifying protected core logic.


---

# 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 following URL with the `ask` and `goal` query parameters:

```
GET https://otters-developments.gitbook.io/otters-developments/paid-resources/adverts/configuration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

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.
