> For the complete documentation index, see [llms.txt](https://docs.bluedev.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bluedev.xyz/premade-bots/service-bot.md).

# Service Bot

## Configuration

### Tickets

* `tickets.reaction.enabled` : If set to true, users create a ticket by reacting to a message rather than running a command. This message can be created with -createmessage
* `tickets.numbered` : Toggles whether tickets use a name or number (ticket-blue vs (ticket-10)
* `tickets.limit` : Sets the limit for the number of tickets a user is allowed to have at a time
* `tickets.roles` : A list of roles to be added to all tickets

```javascript
"tickets": {
  "reaction": {
    "enabled": true,
    "channel": "",
    "msg": "",
    "reactions": {
      "new": "📝",
      "hr": "📋"
    }
  },
  "category": "Tickets",
  "layout": "ticket-",
  "numbered": true,
  "limit": 10,
  "roles": [
    "Staff",
    "Support Staff"
  ]
}
```

### Commissions

* `commissions.ghostMention` : Enables/disables ghost mentioning for commissions.
* `commissions.roles` : The list of the available roles a user can mention/select when going through the commission process.
* `commissions.budget.checkBudget` : Toggles whether the bot should validate the budget while the user is going through the commission process.

```javascript
"commissions": {
  "channel": "claiming",
  "ghostMention": true,
  "budget": {
    "checkBudget": true
  },
  "roles": [
    "Example Role 1",
    "Example Role 2"
  ]
}
```

### Packages

* `packages.enabled` : Enables/disables the package system
* `packages.time` : The amount of time the user has to post their package
* `packages.departments` : A list of all the available package channels and the roles which are allowed to post in them

```javascript
"packages": {
  "enabled": true,
  "time": 15,
  "reaction": "📦",
  "category": "packages",
  "ticket": {
    "limit": 2,
    "layout": "package-",
    "roles": [
      "Support Staff"
    ]
  },
  "departments": [
    {
      "name": "bots",
      "channel": "bot-packages",
      "roles": [
        "Bot Developer"
      ]
    },
    {
      "name": "builder",
      "channel": "building-packages",
      "roles": [
        "Builder"
      ]
    }
  ]
}
```

### Reviews/ratings

* `review.time` : The amount of time (in minutes) the client has to respond to a review prompt.
* `review.requireComment` : Toggles whether the client needs to leave a comment with their review or not

```javascript
"review": {
  "time": 360,
  "requireComment": true,
  "useThumbnail": true,
  "channel": {
    "enabled": true,
    "name": "reviews"
  }
}
```
