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

# Configuration

> Customize Infusion to fit your server's needs

## Overview

Infusion offers extensive configuration options to tailor the bot's behavior to your server's specific requirements. This guide covers all available settings and how to configure them.

## Basic configuration

### Access configuration

Use the configuration command to access and modify settings:

```
/config
```

This displays the main configuration menu where you can navigate through different settings categories.

### View current settings

To view your current configuration:

```
/config view
```

## Moderation settings

Configure how Infusion handles moderation actions in your server.

### Moderation log channel

Set a channel where all moderation actions will be logged:

```
/config modlog <channel>
```

**Parameters:**

* `channel` - The channel to use for moderation logs.

**Example:**

```
/config modlog #mod-logs
```

The moderation log includes:

* Kicks and bans
* Timeouts and warnings
* Message deletions
* Role changes
* Channel locks

### Auto-moderation

Enable or disable automatic moderation features:

```
/config automod <setting> <value>
```

**Available settings:**

* `spam` - Detect and prevent spam messages.
* `links` - Filter unauthorized links.
* `invites` - Block Discord invite links.
* `mentions` - Limit mass mentions.
* `caps` - Limit excessive capital letters.
* `profanity` - Filter inappropriate language.

**Example:**

```
/config automod spam enabled
/config automod invites enabled
```

### Warning thresholds

Configure automatic actions based on warning counts:

```
/config warnings threshold <count> <action>
```

**Parameters:**

* `count` - Number of warnings to trigger the action.
* `action` - Action to take (timeout, kick, ban).

**Example:**

```
/config warnings threshold 3 timeout
/config warnings threshold 5 kick
```

## Role settings

### Auto-roles

Automatically assign roles to new members when they join:

```
/config autorole add <role>
/config autorole remove <role>
/config autorole list
```

**Example:**

```
/config autorole add @Member
```

### Moderator roles

Define which roles have access to moderation commands:

```
/config modrole add <role>
/config modrole remove <role>
/config modrole list
```

**Example:**

```
/config modrole add @Moderator
/config modrole add @Admin
```

## Welcome and goodbye messages

### Welcome messages

Set up welcome messages for new members:

```
/config welcome channel <channel>
/config welcome message <message>
/config welcome enable
/config welcome disable
```

**Parameters:**

* `channel` - Channel to send welcome messages in.
* `message` - Custom welcome message (supports variables).

**Available variables:**

* `{user}` - Mentions the user.
* `{username}` - User's username.
* `{server}` - Server name.
* `{membercount}` - Total member count.

**Example:**

```
/config welcome channel #welcome
/config welcome message Welcome {user} to {server}! You are member #{membercount}
/config welcome enable
```

### Goodbye messages

Set up goodbye messages for members who leave:

```
/config goodbye channel <channel>
/config goodbye message <message>
/config goodbye enable
/config goodbye disable
```

**Example:**

```
/config goodbye channel #goodbye
/config goodbye message {username} has left the server. We'll miss you!
/config goodbye enable
```

## Logging settings

### Event logging

Configure which events to log and where:

```
/config logging <event> <channel>
```

**Available events:**

* `messages` - Message edits and deletions.
* `members` - Member joins, leaves, and updates.
* `roles` - Role changes.
* `channels` - Channel creation, deletion, and updates.
* `server` - Server settings changes.
* `voice` - Voice channel activity.

**Example:**

```
/config logging messages #message-logs
/config logging members #member-logs
```

### Disable logging

To disable logging for a specific event:

```
/config logging <event> disable
```

## Prefix settings

While Infusion primarily uses slash commands, you can configure a text prefix for legacy commands:

```
/config prefix <prefix>
```

**Example:**

```
/config prefix !
```

## Language settings

Set the language for bot responses:

```
/config language <language>
```

**Available languages:**

* English (en)
* Spanish (es)
* French (fr)
* German (de)
* Portuguese (pt)

**Example:**

```
/config language en
```

## Reset configuration

### Reset specific settings

Reset a specific configuration category to defaults:

```
/config reset <category>
```

**Categories:**

* `moderation`
* `logging`
* `welcome`
* `autoroles`

### Reset all settings

Reset all configuration to default values:

```
/config reset all
```

<Warning>
  This will reset all your server's configuration. This action cannot be undone.
</Warning>

## Export and import

### Export configuration

Export your current configuration to a file:

```
/config export
```

This creates a JSON file with all your settings that you can save as a backup.

### Import configuration

Import a previously exported configuration:

```
/config import <file>
```

**Parameters:**

* `file` - The configuration file to import.

<Tip>
  Regularly export your configuration as a backup, especially before making major changes.
</Tip>

## Best practices

1. **Set up logging first** - Configure your log channels before enabling other features.
2. **Test auto-moderation** - Start with lenient settings and adjust based on your server's needs.
3. **Define moderator roles** - Clearly establish which roles can use moderation commands.
4. **Backup your config** - Export your configuration regularly.
5. **Review settings periodically** - Adjust settings as your server grows and changes.
