# Welcome to InviteCount

The official documentation for InviteCount — the most advanced invite tracking bot for Discord.

## Introduction

[**InviteCount**](https://invite-count.xyz) is a powerful Discord bot that tracks invites, manages welcomer messages, runs giveaways, handles levelling, and much more — trusted by **10,000+** servers worldwide.

{% hint style="info" %}
InviteCount uses **slash commands** exclusively. The default prefix is `/`.
{% endhint %}

## Quick Start

1. [**Invite InviteCount**](https://invite-count.xyz/invite) to your server.
2. Make sure the bot has the [required permissions](/faq#what-are-the-required-permissions-for-invitecount).
3. InviteCount will immediately start tracking invites.
4. Use `/help` to see all available commands.
5. Configure your settings from the [Dashboard](https://invite-count.xyz/dashboard) or with slash commands.

{% hint style="warning" %}
If InviteCount does not have the [necessary permissions](/faq#what-are-the-required-permissions-for-invitecount), it will **not** track invites and will alert you when running `/invites`.
{% endhint %}

## Features at a Glance

| Feature                                          | Description                                                           |
| ------------------------------------------------ | --------------------------------------------------------------------- |
| [**Invite Tracking**](/features/invite-tracking) | Accurate real-time invite tracking with inviter identification        |
| [**Welcomer**](/features/welcomer)               | Customizable join, leave, and join DM messages with rich variables    |
| [**Leaderboards**](/features/leaderboards)       | Rank your members by invites, messages, or other metrics              |
| [**Giveaways**](/commands/giveaways)             | Feature-rich giveaway system with role requirements and bonus entries |
| [**Levelling**](/features/levelling)             | Message-based XP and levelling system with customizable rank cards    |
| [**Verification**](/features/verification)       | Protect your server from raids with button or captcha verification    |
| :star2: [**Logging**](/features/logging)         | Track important events on your server                                 |
| :star2: [**Alert Invites**](/features/alerts)    | Get notified when a member reaches an invite milestone                |

## Syntax Guide

Throughout this documentation:

| Symbol  | Meaning            |
| ------- | ------------------ |
| `<...>` | Required parameter |
| `[...]` | Optional parameter |
| :star2: | Premium feature    |

## Useful Links

* [**Dashboard**](https://invite-count.xyz/dashboard) — Manage your server settings
* [**Premium**](https://invite-count.xyz/premium) — Unlock advanced features
* [**Support Server**](https://invite-count.xyz/discord) — Get help from our team
* [**Vote for Us**](https://invite-count.xyz/vote) — Support InviteCount on top.gg


# FAQ

Frequently asked questions about InviteCount.

## General

### What is the prefix for InviteCount?

InviteCount uses [**slash commands**](https://support.discord.com/hc/en-us/articles/1500000368501-Slash-Commands-FAQ) exclusively. Type `/` in any channel to see available commands.

### How can I get help with InviteCount?

Join the [InviteCount Support Server](https://invite-count.xyz/discord) to get help from our team and community.

### How can I vote for InviteCount?

You can vote on [top.gg](https://invite-count.xyz/vote). Voting helps us grow — thank you for your support!

### How do I access the dashboard?

Visit [invite-count.xyz/dashboard](https://invite-count.xyz/dashboard), log in with your Discord account, and select a server to configure.

***

## Invite Tracking

### Who is "Unknown#0000" in my welcomer?

There are four main reasons:

1. **Permission issues** — InviteCount cannot see the channel the invite links to. Grant the bot Administrator or ensure it has `View Channel` in all channels.
2. **Multiple joins** — Multiple people joined at the exact same time, making it impossible to determine who used which invite.
3. **Unregistered invites** — The invite was created before InviteCount joined your server and hasn't been synced.
4. **Bot restart** — The bot recently restarted and the invite cache for your server wasn't loaded yet. This is temporary and resolves itself.

### What is a fake invite?

A fake invite is when someone joins with an account younger than the minimum account age you configured with `/fakedelay`. This helps filter out alt accounts and bot raids.

### Why aren't my invites being tracked?

Make sure InviteCount has the [required permissions](/getting-started/permissions). The most important ones are **Manage Server** and **Manage Channels** — without these, the bot cannot read or detect invites.

Run `/permscheck` to verify all permissions are correctly set.

### How do I sync invites?

Use `/syncinvites` to synchronize the current invite counts with the bot. You can also sync a specific member with `/syncinvites <@member>`.

***

## Roles & Rewards

### Why isn't InviteCount granting reward roles?

1. The bot's role must be **higher** in the role hierarchy than the role it's trying to assign.
2. The bot needs the **Manage Roles** permission.
3. Check that the rank/autorole is correctly configured with `/rank list` or `/autorole list`.

### What's the difference between autoroles and ranks?

* **Autoroles** — Roles given to every new member who joins the server.
* **Ranks** — Roles rewarded when a member reaches a specific message count.

***

## What are the required permissions for InviteCount?

| Permission             | Usage                                                                                                  |
| ---------------------- | ------------------------------------------------------------------------------------------------------ |
| `Manage Server`        | Read the server's active invites for tracking                                                          |
| `Manage Channels`      | Detect new invites created or deleted                                                                  |
| `Manage Roles`         | Grant [reward roles](/commands/configuration#ranks) and [autoroles](/commands/configuration#autoroles) |
| `Manage Messages`      | Pin and delete messages for [pinned leaderboards](/features/leaderboards)                              |
| `Send Messages`        | Send welcomer, leave, giveaway, and leaderboard messages                                               |
| `Read Message History` | Edit existing messages (pinned leaderboards, giveaways)                                                |
| `Add Reactions`        | React to [giveaway](/commands/giveaways) messages                                                      |
| `Attach Files`         | Send [graph](/commands/general#graphs) images and exports                                              |
| `Use External Emojis`  | Display custom emojis in command responses                                                             |
| `Ban Members`          | Only needed for [verification](/features/verification) with `ban` action                               |
| `Kick Members`         | Only needed for [verification](/features/verification) with `kick` action                              |

{% hint style="info" %}
Run `/permscheck` at any time to verify that InviteCount has all the permissions it needs.
{% endhint %}

***

## Premium

### What is InviteCount Premium?

InviteCount Premium unlocks advanced features like logging, alert invites, pinned leaderboards, XP management, and higher limits. See the full list on the [Premium page](/reference/premium).

### How do I activate Premium?

1. Subscribe on [Patreon](https://invite-count.xyz/patreon).
2. Link your Discord account on Patreon.
3. Use `/premium add` in the server you want to upgrade.

### Can I transfer Premium to another server?

Yes. Use `/premium remove` on the current server, then `/premium add` on the new one.

### Can I cancel anytime?

Absolutely. Cancel your Patreon subscription at any time. Premium remains active until the end of your billing period.


# Setting Up

How to add InviteCount to your Discord server and get started.

## Step 1 — Invite the Bot

Click the link below to add InviteCount to your server:

{% embed url="<https://invite-count.xyz/invite>" %}

Select the server you want to add the bot to, then click **Authorize**. Make sure all requested permissions are granted.

## Step 2 — Verify Permissions

Once InviteCount joins your server, run:

```
/permscheck
```

This will tell you if any permissions are missing. See [Permissions](/getting-started/permissions) for the full list.

{% hint style="warning" %}
Without **Manage Server** and **Manage Channels**, InviteCount **cannot track invites**.
{% endhint %}

## Step 3 — Automatic Tracking

InviteCount starts tracking invites **immediately** after joining. No additional setup is required for basic invite tracking.

To sync existing invites that were created before the bot joined, run:

```
/syncinvites
```

## Step 4 — Configure Features

Use the [**Dashboard**](https://invite-count.xyz/dashboard) to configure:

* **Join/leave messages**
* **Autoroles**
* **Ranks**
* **Verification**
* **Giveaways**

Use `/help` to see the full list of available commands, or `/help <command>` for details about a specific command.

## Step 5 — Explore Premium (Optional)

InviteCount works great for free, but [**Premium**](/reference/premium) unlocks advanced features like:

* Pinned leaderboards
* Server logging
* Alert invites with webhooks
* XP management
* Extended graph history
* And more

Visit [invite-count.xyz/premium](https://invite-count.xyz/premium) to learn more.


# Permissions

Required and optional permissions for InviteCount.

InviteCount requires specific permissions to function correctly. Below is a breakdown of each permission and what it's used for.

## Required Permissions

| Permission             | What It's Used For                                                                            |
| ---------------------- | --------------------------------------------------------------------------------------------- |
| `Manage Server`        | Read the server's active invite codes so InviteCount can track them                           |
| `Manage Channels`      | Detect when invites are created or deleted in channels                                        |
| `Manage Roles`         | Assign [autoroles](/commands/configuration#autoroles) and [rank rewards](/features/levelling) |
| `Send Messages`        | Send welcome, leave, giveaway, leaderboard, and level-up messages                             |
| `Read Message History` | Edit existing messages such as pinned leaderboards and giveaway embeds                        |
| `Use External Emojis`  | Display custom emojis in InviteCount's responses                                              |
| `Attach Files`         | Send graph images (`/graph joins`, `/graph leaves`) and CSV exports                           |

## Optional Permissions

| Permission        | When It's Needed                                                          |
| ----------------- | ------------------------------------------------------------------------- |
| `Manage Messages` | Only for [pinned leaderboards](/features/leaderboards) (pin messages)     |
| `Add Reactions`   | Only for [giveaways](/commands/giveaways) (reaction-based type)           |
| `Ban Members`     | Only for [verification](/features/verification) system with `ban` action  |
| `Kick Members`    | Only for [verification](/features/verification) system with `kick` action |

## Checking Permissions

Run the following command at any time to verify that InviteCount has everything it needs:

```
/permscheck
```

{% hint style="danger" %}
If the bot is missing **Manage Server** or **Manage Channels**, invite tracking **will not work**. The bot will warn you when you run `/invites`.
{% endhint %}

## Role Hierarchy

For InviteCount to assign roles (autoroles, rank rewards, verification roles), the bot's role must be **above** the target role in your server's role list.

Go to **Server Settings → Roles** and drag the InviteCount role above any roles you want it to manage.


# Invite Tracking

How InviteCount tracks invites, detects fake invites, and calculates invite totals.

InviteCount automatically tracks every invite on your server. When a member joins, the bot identifies who invited them and updates the inviter's stats in real-time.

***

## How It Works

1. **The bot monitors all invite links** — every time someone creates an invite, the bot records it.
2. **When a member joins**, the bot compares the invite usage counts before and after the join to determine which invite was used.
3. **The inviter's stats are updated** — their total invite count increases by one.

***

## Invite Types

Each inviter has four invite counters:

| Type        | Description                                         |
| ----------- | --------------------------------------------------- |
| **Regular** | Valid invites — members who joined and stayed       |
| **Leaves**  | Members who were invited but left the server        |
| **Fakes**   | Members flagged as fake by the detection system     |
| **Bonus**   | Manually added or removed invites by administrators |

### Total Invites Formula

```
Total = Regular + Bonus - Leaves - Fakes
```

***

## Fake Invite Detection

InviteCount detects suspicious joins using configurable flags. When a new member matches one or more flags, their join is counted as a **fake invite**.

### Detection Flags

| Flag               | Description                                                           |
| ------------------ | --------------------------------------------------------------------- |
| Young account      | Account is younger than the server's configured `fakedelay` (in days) |
| Self-invited       | User joined using their own invite link                               |
| No profile picture | User has no avatar set                                                |
| No profile banner  | User has no banner set                                                |
| Rejoin             | User has previously joined and left the server                        |
| AutoMod flagged    | User was flagged by Discord's AutoMod (username quarantine)           |

### Detection Modes

| Mode    | Behavior                                                      |
| ------- | ------------------------------------------------------------- |
| **ANY** | A join is flagged as fake if **any** enabled flag matches     |
| **ALL** | A join is flagged as fake only if **all** enabled flags match |

### Configure Fake Delay

Use `/fakedelay <days>` to set the minimum account age:

* `/fakedelay 7` — Accounts younger than 7 days are flagged as fake
* `/fakedelay -1` — Disables account age detection

***

## Viewing Invites

| Command                      | Description                                          |
| ---------------------------- | ---------------------------------------------------- |
| `/invites [@member]`         | View invite stats for yourself or another member     |
| :star2: `/inviter <@member>` | See who invited a specific member — **Premium only** |
| `/leaderboard invites`       | View the server's top inviters                       |

***

## Blacklist

Prevent specific users from being counted as valid inviters using the blacklist system:

```
/blacklist add <@member>
/blacklist remove <@member>
/blacklist list
/blacklist reset
```

When a blacklisted user's invite is used, the join is not counted toward their invite total.

***

## Tips

* Make sure the bot has the **Manage Server** permission to track invites correctly.
* If the bot was offline when a member joined, it may not be able to determine the inviter.
* Use `/add invites` and `/remove invites` to manually adjust invite counts when needed.


# Welcomer

Set up automatic welcome, leave, and join DM messages with fully customizable embeds.

The Welcomer system lets you send automatic messages when members join or leave your server, or send DMs to new members. Messages support rich embeds with [variables](/reference/variables) for dynamic content.

***

## Quick Setup

1. Use `/welcome channel #your-channel` to set the welcome channel
2. Use `/welcome gui` to open the message editor
3. Customize your message with [variables](/reference/variables)
4. Use `/welcome on` to enable welcome messages
5. Use `/welcome test` to preview your message

Repeat the same steps for leave messages (`/leave`) and join DMs (`/joindm`).

***

## Message Types

Each welcomer type (welcome, leave, join DM) has **five** message variants to handle different scenarios:

| Type         | When it's used                                   |
| ------------ | ------------------------------------------------ |
| **Normal**   | The inviter was successfully identified          |
| **Vanity**   | The member joined using the server's vanity URL  |
| **Bot**      | A bot was added to the server                    |
| **No Perms** | The bot doesn't have permission to track invites |
| **Unknown**  | The inviter could not be determined              |

{% hint style="info" %}
Set each type separately to provide accurate information. For example, the `unknown` type shouldn't reference `{inviter}` since the inviter is unknown.
{% endhint %}

***

## Commands

### Welcome Messages

| Command                       | Description                  |
| ----------------------------- | ---------------------------- |
| `/welcome gui`                | Open the modal editor        |
| `/welcome text <type> [text]` | Set the welcome message text |
| `/welcome channel <#channel>` | Set the welcome channel      |
| `/welcome on`                 | Enable welcome messages      |
| `/welcome off`                | Disable welcome messages     |
| `/welcome test <type>`        | Preview a welcome message    |
| `/welcome show`               | Show current configuration   |

### Leave Messages

| Command                     | Description                |
| --------------------------- | -------------------------- |
| `/leave gui`                | Open the modal editor      |
| `/leave text <type> [text]` | Set the leave message text |
| `/leave channel <#channel>` | Set the leave channel      |
| `/leave on`                 | Enable leave messages      |
| `/leave off`                | Disable leave messages     |
| `/leave test <type>`        | Preview a leave message    |
| `/leave show`               | Show current configuration |

### Join DM Messages

| Command               | Description                  |
| --------------------- | ---------------------------- |
| `/joindm gui`         | Open the modal editor        |
| `/joindm text <text>` | Set the join DM message text |
| `/joindm on`          | Enable join DM messages      |
| `/joindm off`         | Disable join DM messages     |
| `/joindm test`        | Preview your join DM message |
| `/joindm show`        | Show current configuration   |

***

## Example Messages

### Simple Welcome

```
Welcome {member_mention} to **{guild_name}**! 🎉
You were invited by **{inviter}** who now has **{inviter_invites}** invites.
We are now **{guild_count}** members!
```

### Embed Welcome (JSON)

Welcomer messages support Discord embed format using JSON. Use the GUI editor (`/welcome gui`) for the easiest editing experience, or write the JSON directly.

### Unknown Inviter

```
Welcome {member_mention} to **{guild_name}**! 🎉
We couldn't determine who invited you.
We are now **{guild_count}** members!
```

***

## Variables

See the full list of available variables on the [Variables](/reference/variables) page.

**Welcome-only variables** (not available in leave or join DM):

| Variable        | Description                         |
| --------------- | ----------------------------------- |
| `{invite_code}` | The invite code the member used     |
| `{invite_uses}` | Number of times the invite was used |
| `{invite_url}`  | Full invite URL                     |

***

## Tips

* Use the **GUI editor** (`/welcome gui`) for the easiest experience — it opens a Discord modal where you can type your message.
* Always set up an **Unknown** message type for when the bot can't identify the inviter.
* Use `/welcome test` to preview your message before enabling it.
* The bot needs the **Send Messages** and **Embed Links** permissions in your welcome/leave channel.
* For join DMs to work, the member must have DMs enabled. Use `/verification channel` to set a fallback channel.


# Leaderboards

Leaderboards for invites and messages — view, pin, and customize.

InviteCount provides leaderboards for both invites and messages, allowing your community to compete and track their rankings.

***

## Viewing Leaderboards

| Command                        | Description                     |
| ------------------------------ | ------------------------------- |
| `/leaderboard invites [page]`  | Top inviters by total invites   |
| `/leaderboard bonus [page]`    | Top inviters by bonus invites   |
| `/leaderboard fakes [page]`    | Top inviters by fake invites    |
| `/leaderboard left [page]`     | Top inviters by left invites    |
| `/leaderboard regular [page]`  | Top inviters by regular invites |
| `/leaderboard messages [page]` | Top members by messages sent    |

Each page displays 10 members. Use the `page` parameter to browse further.

***

## :star2: Pinned Leaderboard

**Premium only.** Create an auto-updating leaderboard embed that refreshes every 15 minutes.

### Create a Pin

```
/leaderboard pin create [channel] [title] [description] [only_members]
```

| Parameter      | Default         | Description                               |
| -------------- | --------------- | ----------------------------------------- |
| `channel`      | Current channel | Channel where the pin will be posted      |
| `title`        | *(default)*     | Custom title for the embed                |
| `description`  | *(default)*     | Custom description for the embed          |
| `only_members` | `false`         | Only show members currently in the server |

### Update a Pin

```
/leaderboard pin update [title] [description] [only_members]
```

Updates the existing pin's settings and refreshes it immediately.

{% hint style="info" %}
The pinned leaderboard displays the **top 10 inviters** and updates automatically every 15 minutes. Only one pin per server is supported.
{% endhint %}

### Pin Embed Customization

The pinned leaderboard embed can be further customized via the [dashboard](https://invite-count.xyz/dashboard):

* Title, description, and color
* Footer text and icon
* Thumbnail and image
* Author name, icon, and URL

{% hint style="warning" %}
If your server loses premium status, the pinned leaderboard will be automatically deleted.
{% endhint %}

***

## Tips

* Use `/delete invites <@member>` to completely remove a member from the leaderboard.
* Use `/reset all invites` to reset everyone's invites to 0 without deleting the data.
* Leaderboards only show members who have data — new members with 0 invites won't appear until they get their first invite.


# Levelling

XP system, levels, message ranks, level cards, and level-up announcements.

InviteCount includes a complete levelling system with XP, levels, message ranks, customizable level cards, and level-up announcements.

***

## How It Works

1. Members earn **2–5 XP** per message (randomized)
2. XP accumulates until the member reaches the next level threshold
3. A **level-up announcement** is sent (if configured)
4. Members can earn **role rewards** at specific message counts

### XP Formula

Each level requires a specific amount of XP to advance:

$$
XP\_{required} = 10 \times (level \oplus 2) + 50 \times level + 100
$$

Where $\oplus$ is the bitwise XOR operation.

### XP Rate & Cooldown

| Setting            | Default | Description                                 |
| ------------------ | ------- | ------------------------------------------- |
| `xp_rate`          | 1       | Multiplier applied to XP earned per message |
| `message_cooldown` | 1s      | Minimum time between messages that award XP |

These settings can be configured via the [dashboard](https://invite-count.xyz/dashboard).

***

## Enable/Disable Levelling

| Command         | Description                  |
| --------------- | ---------------------------- |
| `/leveling on`  | Enable the levelling system  |
| `/leveling off` | Disable the levelling system |

***

## Viewing Stats

| Command               | Description                               |
| --------------------- | ----------------------------------------- |
| `/level [@member]`    | Display a member's level card (image)     |
| `/messages [@member]` | Display messages count and next rank info |

***

## Level-Up Announcements

Configure where and what message is sent when a member levels up.

| Command                        | Description                              |
| ------------------------------ | ---------------------------------------- |
| `/leveling text <text>`        | Set the level-up announcement message    |
| `/leveling channel [#channel]` | Set a specific channel for announcements |

### Announcement Modes

| Mode            | Description                                                |
| --------------- | ---------------------------------------------------------- |
| Current channel | Message is sent in the channel where the member leveled up |
| Custom channel  | Message is sent in a configured channel                    |
| Private (DM)    | Message is sent as a DM to the member                      |
| Disabled        | No level-up announcement                                   |

### Level-Up Variables

| Variable           | Description                     |
| ------------------ | ------------------------------- |
| `{member}`         | Member's name and discriminator |
| `{member_name}`    | Member's name                   |
| `{member_mention}` | Member's mention                |
| `{member_id}`      | Member's Discord ID             |
| `{member_avatar}`  | Member's profile picture URL    |
| `{level}`          | Current level                   |
| `{next_level}`     | Next level (current + 1)        |
| `{previous_level}` | Previous level (current - 1)    |

***

## Message Ranks (Role Rewards)

Automatically assign roles when members reach a specific number of messages.

| Command                             | Description                     |
| ----------------------------------- | ------------------------------- |
| `/rank add <@role> <messages_need>` | Add a role reward at X messages |
| `/rank remove <@role>`              | Remove a role reward            |
| `/rank list`                        | List all message rank rewards   |

**Limits:** 10 ranks (free) / 500 ranks (premium).

### Reward Announcements

When a member earns a rank role, an announcement can be posted in a configured channel. This feature can be enabled via the [dashboard](https://invite-count.xyz/dashboard).

***

## Level Card

The `/level` command generates a personalized level card image showing:

* Profile picture and username
* Current level and XP progress bar
* Total messages and XP
* Rank position on the server
* User badges

### Card Customization

Level card appearance can be customized via the [dashboard](https://invite-count.xyz/dashboard):

| Setting            | Default   | Description                 |
| ------------------ | --------- | --------------------------- |
| Accent color       | `#593695` | Card accent color           |
| Progress bar color | `#593695` | Progress bar fill color     |
| Overlay color      | `#000000` | Card overlay color          |
| Background opacity | `0.4`     | Overlay opacity             |
| Text color         | `#E8E8E8` | Text color                  |
| Custom background  | *(none)*  | Custom background image URL |

***

## XP/Messages Exclusions

Exclude specific roles or channels from earning XP or counting messages. Configure these via the [dashboard](https://invite-count.xyz/dashboard):

| Setting              | Description                            |
| -------------------- | -------------------------------------- |
| No XP roles          | Roles that don't earn XP               |
| No XP channels       | Channels where XP is not earned        |
| No messages roles    | Roles whose messages aren't counted    |
| No messages channels | Channels where messages aren't counted |


# Verification

Protect your server with button or captcha verification for new members.

The verification system protects your server from raids and bot accounts by requiring new members to complete a challenge before gaining access.

***

## How It Works

1. A new member joins the server
2. The bot sends them a **verification prompt** via DM (or in a fallback channel)
3. The member must complete the challenge (click a button or solve a captcha) within the timeout
4. On success: the member receives the **verified role** and gains access
5. On failure: the configured action is applied (ignore, kick, or ban)

***

## Setup

### 1. Set the Verification Level

```
/verification level <Button|Captcha>
```

| Level       | Description                                  |
| ----------- | -------------------------------------------- |
| **Button**  | Member must click a button to verify         |
| **Captcha** | Member must solve a text captcha sent via DM |

### 2. Set the Verified Role

```
/verification role <@role>
```

The role granted to members after successful verification. Typically, this is a role that unlocks access to your server's channels.

### 3. Set the Timeout

```
/verification timeout <seconds>
```

How long the member has to complete verification (15–600 seconds). Default behavior depends on your configuration.

### 4. Set the Failure Action

```
/verification action <Ignore|Kick|Ban>
```

| Action     | Description                                   |
| ---------- | --------------------------------------------- |
| **Ignore** | Do nothing if verification fails or times out |
| **Kick**   | Kick the member from the server               |
| **Ban**    | Ban the member from the server                |

### 5. Set the Fallback Channel (Optional)

```
/verification channel <#channel>
```

If a member has DMs disabled, the verification prompt will be sent in this channel instead.

***

## Commands

| Command                            | Description                                            |
| ---------------------------------- | ------------------------------------------------------ |
| `/verification disabled`           | Disable the verification system                        |
| `/verification level <level>`      | Set the verification level (`Button` or `Captcha`)     |
| `/verification action <action>`    | Set the action on failure (`Ignore`, `Kick`, or `Ban`) |
| `/verification timeout <seconds>`  | Set the verification timeout (15–600 seconds)          |
| `/verification role <@role>`       | Set the role granted upon verification                 |
| `/verification channel <#channel>` | Set the fallback channel for users with DMs closed     |
| `/autoverify <@member>`            | Manually verify a member                               |

***

## Recommended Setup

1. Create a role (e.g., "Verified") and configure your channels so only verified members can see them
2. Set up verification: `/verification level Captcha`
3. Assign the role: `/verification role @Verified`
4. Set a timeout: `/verification timeout 120`
5. Set failure action: `/verification action Kick`
6. Set a fallback channel: `/verification channel #verify-here`
7. Test with a new account or ask a friend to join

{% hint style="warning" %}
The bot needs the **Manage Roles** permission and its role must be **above** the verified role in the role hierarchy.
{% endhint %}


# Logging

Track server events with the premium logging system.

**Premium only.** The logging system sends automatic notifications to a dedicated channel when important events occur on your server.

***

## Setup

### 1. Set the Logging Channel

```
/logger channel <#channel>
```

### 2. Enable Log Types

```
/logger add <log_type>
```

***

## Commands

| Command                              | Description                      |
| ------------------------------------ | -------------------------------- |
| :star2: `/logger channel <#channel>` | Set the channel for log messages |
| :star2: `/logger add <log_type>`     | Enable a specific log type       |
| :star2: `/logger remove <log_type>`  | Disable a specific log type      |
| :star2: `/logger list`               | List all enabled log types       |

***

## Log Types

| Log Type         | Description                                            |
| ---------------- | ------------------------------------------------------ |
| 🏆 Message Ranks | Logs when a member reaches a configured rank reward    |
| 🎉 Giveaways     | Logs when a giveaway ends, including winners           |
| 🕵️ Fake Invites | Logs when a member's join is detected as a fake invite |
| 🔔 Alert Invites | Logs when an invite alert is triggered                 |

***

## Example

After setting up the logger:

```
/logger channel #server-logs
/logger add Message Ranks
/logger add Giveaways
/logger add Fake Invites
```

The bot will automatically send detailed embed messages in `#server-logs` whenever one of these events occurs.

{% hint style="info" %}
You need an active premium subscription to use the logging system. See [Premium](/reference/premium) for details.
{% endhint %}


# Alert Invites

Get notified when an inviter reaches a specific invite count, with optional webhook integration.

**Premium only.** Get notified when a member reaches a specific number of invites. You can receive alerts both in Discord and via external webhooks.

***

## Setup

### Add an Alert

```
/alert-invites add <amount>
```

When any member reaches the specified invite count, a notification will be sent.

### Manage Alerts

| Command                                  | Description                             |
| ---------------------------------------- | --------------------------------------- |
| :star2: `/alert-invites add <amount>`    | Add an invite alert at a specific count |
| :star2: `/alert-invites remove <amount>` | Remove an invite alert                  |
| :star2: `/alert-invites list`            | List all configured alerts              |

***

## Webhook Integration

Send real-time HTTP notifications to your own server when an alert triggers. Perfect for integration with external dashboards, notification systems, or custom bots.

### Webhook Commands

| Command                                       | Description                 |
| --------------------------------------------- | --------------------------- |
| :star2: `/alert-invites webhook url <url>`    | Set a custom webhook URL    |
| :star2: `/alert-invites webhook secret`       | View your webhook secret    |
| :star2: `/alert-invites webhook reset-secret` | Reset your webhook secret   |
| :star2: `/alert-invites webhook test`         | Send a test webhook request |

### Webhook Payload

When an alert triggers, a `POST` request is sent to your configured URL with the following JSON body:

```json
{
  "guild_id": "123456789012345678",
  "member_id": "987654321098765432",
  "invites": 50,
  "alert_amount": 50,
  "timestamp": "2024-01-15T12:00:00Z"
}
```

### Webhook Security

Each webhook is secured with a **secret key**. The secret is included in the request headers so you can verify the authenticity of incoming requests:

```
X-Webhook-Secret: your-secret-key
```

* Use `/alert-invites webhook secret` to view your current secret
* Use `/alert-invites webhook reset-secret` to generate a new secret if compromised
* Use `/alert-invites webhook test` to send a test request and verify your endpoint

{% hint style="warning" %}
Always validate the `X-Webhook-Secret` header on your server to ensure requests are coming from InviteCount.
{% endhint %}

***

## Example

Set up alerts at 10, 50, and 100 invites:

```
/alert-invites add 10
/alert-invites add 50
/alert-invites add 100
```

When any member reaches 10, 50, or 100 total invites, you'll be notified in the logging channel and via your webhook (if configured).

{% hint style="info" %}
Alert Invites requires an active premium subscription. See [Premium](/reference/premium) for details.
{% endhint %}


# General

All general, information, and utility commands available in InviteCount.

## Invites

| Command                                        | Description                                             |
| ---------------------------------------------- | ------------------------------------------------------- |
| `/invites [@member]`                           | Displays the number of invites a user has on the server |
| :star2: `/inviter [@member]`                   | Check who invited a specific member                     |
| `/invitecodes [@member] [page]`                | Displays all invite codes for you or another user       |
| :star2: `/invitedby [@member]`                 | Displays a list of users someone has invited            |
| :star2: `/invitedwith [@member]`               | See which invite code was used to invite someone        |
| `/search <min> <max> [type]`                   | Show all users with invites between min and max         |
| `/trace <@member> [only_fakes] [only_members]` | Trace the full invite tree of a member                  |
| `/syncinvites [@member]`                       | Synchronize current invites with the bot                |
| `/deleteinvite <invite_code>`                  | Delete a specific invite by its code                    |
| `/export csv`                                  | Export all invite data to a CSV file                    |

{% hint style="info" %}
`/trace` has a 1 use per day cooldown on free servers. Premium servers have unlimited use.
{% endhint %}

## Information

| Command               | Description                                       |
| --------------------- | ------------------------------------------------- |
| `/help [command]`     | Get the list of available commands                |
| `/ping`               | Show ping and latency information                 |
| `/botinfo`            | Display information about InviteCount             |
| `/userinfo [@member]` | View detailed information about a user            |
| `/serverinfo`         | View basic information about the server           |
| `/roleinfo <@role>`   | View information about a specific role            |
| `/permscheck`         | Check if InviteCount has all required permissions |

## Graphs

| Command                | Description                                           |
| ---------------------- | ----------------------------------------------------- |
| `/graph joins [days]`  | Show joins history in chart format (default: 7 days)  |
| `/graph leaves [days]` | Show leaves history in chart format (default: 7 days) |

{% hint style="info" %}
Free servers can view up to **7 days** of history. Premium unlocks up to **90 days**.
{% endhint %}

## Leaderboards

| Command                                                            | Description                                                        |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| `/leaderboard invites [page]`                                      | List top inviters ordered by total invites                         |
| `/leaderboard bonus [page]`                                        | List top inviters ordered by bonus invites                         |
| `/leaderboard fakes [page]`                                        | List top inviters ordered by fake invites                          |
| `/leaderboard left [page]`                                         | List top inviters ordered by left invites                          |
| `/leaderboard regular [page]`                                      | List top inviters ordered by regular invites                       |
| `/leaderboard messages [page]`                                     | List top members ordered by message count                          |
| :star2: `/leaderboard pin create [#channel] [title] [description]` | Create an auto-updating pinned leaderboard (refreshes every 15min) |
| :star2: `/leaderboard pin update [title] [description]`            | Update an existing pinned leaderboard's settings                   |

## Links & Utilities

| Command          | Description                               |
| ---------------- | ----------------------------------------- |
| `/support`       | Get the invite link to the support server |
| `/getbot`        | Get the bot invite link                   |
| `/vote`          | Get voting links for top.gg               |
| `/dashboard`     | Get the link to the web dashboard         |
| `/documentation` | Get the link to this documentation        |
| `/variables`     | Get the link to the variables reference   |
| `/getpremium`    | Get the link to InviteCount Premium       |

## Context Menu Commands

Right-click a user → **Apps** to access these shortcuts:

| Name       | Description                   |
| ---------- | ----------------------------- |
| `Userinfo` | View the user's information   |
| `Invites`  | View the user's invite count  |
| `Level`    | View the user's level         |
| `Messages` | View the user's message count |


# Configuration

All configuration commands for welcomer, autoroles, ranks, verification, blacklist, and logging.

## Welcomer

Set up automatic messages when members join or leave your server. See [Variables](/reference/variables) for all available placeholders.

### Join Messages

| Command                       | Description                                |
| ----------------------------- | ------------------------------------------ |
| `/welcome gui`                | Open the modal editor for welcome messages |
| `/welcome text <type> [text]` | Set the welcome message text directly      |
| `/welcome channel <#channel>` | Set the channel for welcome messages       |
| `/welcome on`                 | Enable welcome messages                    |
| `/welcome off`                | Disable welcome messages                   |
| `/welcome test <type>`        | Preview your welcome message               |
| `/welcome show`               | Show current welcome configuration         |

### Leave Messages

| Command                     | Description                              |
| --------------------------- | ---------------------------------------- |
| `/leave gui`                | Open the modal editor for leave messages |
| `/leave text <type> [text]` | Set the leave message text directly      |
| `/leave channel <#channel>` | Set the channel for leave messages       |
| `/leave on`                 | Enable leave messages                    |
| `/leave off`                | Disable leave messages                   |
| `/leave test <type>`        | Preview your leave message               |
| `/leave show`               | Show current leave configuration         |

### Join DM Messages

| Command               | Description                                |
| --------------------- | ------------------------------------------ |
| `/joindm gui`         | Open the modal editor for join DM messages |
| `/joindm text <text>` | Set the join DM message text directly      |
| `/joindm on`          | Enable join DM messages                    |
| `/joindm off`         | Disable join DM messages                   |
| `/joindm test`        | Preview your join DM message               |
| `/joindm show`        | Show current join DM configuration         |

{% hint style="info" %}
Use `/welcome gui`, `/leave gui`, or `/joindm gui` for the easiest way to edit messages with a modal editor.
{% endhint %}

***

## Autoroles

Automatically assign roles to new members when they join.

| Command                    | Description                               |
| -------------------------- | ----------------------------------------- |
| `/autorole add <@role>`    | Add a role to be given to all new members |
| `/autorole remove <@role>` | Remove an autorole                        |
| `/autorole list`           | List all configured autoroles             |
| `/autorole reset`          | Remove all autoroles                      |

{% hint style="warning" %}
The bot's role must be **above** the autorole in the role hierarchy for it to be assigned.
{% endhint %}

***

## Ranks

Reward roles based on message count. When a member reaches the required number of messages, they automatically receive the configured role.

| Command                             | Description                                   |
| ----------------------------------- | --------------------------------------------- |
| `/rank add <@role> <messages_need>` | Add a role reward at a specific message count |
| `/rank remove <@role>`              | Remove a role reward                          |
| `/rank list`                        | List all configured rank rewards              |

***

## Blacklist

Prevent specific users from being counted as valid inviters.

| Command                       | Description                        |
| ----------------------------- | ---------------------------------- |
| `/blacklist add <@member>`    | Add a member to the blacklist      |
| `/blacklist remove <@member>` | Remove a member from the blacklist |
| `/blacklist list`             | List all blacklisted members       |
| `/blacklist reset`            | Clear the entire blacklist         |

***

## Verification

Protect your server from raids by requiring new members to verify themselves.

| Command                            | Description                                            |
| ---------------------------------- | ------------------------------------------------------ |
| `/verification disabled`           | Disable the verification system                        |
| `/verification level <level>`      | Set the verification level (`Button` or `Captcha`)     |
| `/verification action <action>`    | Set the action on failure (`Ignore`, `Kick`, or `Ban`) |
| `/verification timeout <seconds>`  | Set the verification timeout (15–600 seconds)          |
| `/verification role <@role>`       | Set the role granted upon successful verification      |
| `/verification channel <#channel>` | Set a fallback channel if the member has DMs closed    |
| `/autoverify <@member>`            | Manually verify a member                               |

***

## :star2: Logging

Track important server events in a dedicated channel. **Premium only.**

| Command                              | Description                 |
| ------------------------------------ | --------------------------- |
| :star2: `/logger add <log>`          | Enable a specific log type  |
| :star2: `/logger remove <type>`      | Disable a specific log type |
| :star2: `/logger channel <#channel>` | Set the logging channel     |
| :star2: `/logger list`               | List all enabled log types  |

### Log Types

| Log              | Description                                        |
| ---------------- | -------------------------------------------------- |
| 🏆 Message Ranks | Log when a member reaches a configured rank reward |
| 🎉 Giveaways     | Log when a giveaway ends                           |
| 🕵️ Fake Invites | Log when a member is detected as a fake invite     |
| 🔔 Alert Invites | Log alert invite triggers                          |

***

## :star2: Alert Invites

Get notified when a member reaches a specific invite count. **Premium only.**

| Command                                  | Description                             |
| ---------------------------------------- | --------------------------------------- |
| :star2: `/alert-invites add <amount>`    | Add an invite alert at a specific count |
| :star2: `/alert-invites remove <amount>` | Remove an invite alert                  |
| :star2: `/alert-invites list`            | List all configured invite alerts       |

### Webhooks

Send real-time HTTP notifications to your own server when alerts trigger.

| Command                                       | Description                 |
| --------------------------------------------- | --------------------------- |
| :star2: `/alert-invites webhook url <url>`    | Set a custom webhook URL    |
| :star2: `/alert-invites webhook secret`       | View your webhook secret    |
| :star2: `/alert-invites webhook reset-secret` | Reset your webhook secret   |
| :star2: `/alert-invites webhook test`         | Send a test webhook request |

See the [Alert Invites feature page](/features/alerts) for full webhook documentation.

***

## Fake Delay

| Command                            | Description                                                               |
| ---------------------------------- | ------------------------------------------------------------------------- |
| :star2: `/fakedelay <days_amount>` | Set the minimum account age (in days) before an invite is counted as real |

{% hint style="info" %}
Set to `-1` to disable fake detection. Any member with an account younger than the configured number of days will be flagged as a fake invite.
{% endhint %}


# Management

All management commands for adding, removing, setting, resetting, and deleting invites, messages, and XP.

All management commands require **Administrator** permission.

{% hint style="info" %}
**Reset vs Delete**: `/reset` sets values to 0 (the member stays on the leaderboard). `/delete` removes the database row entirely (the member disappears from the leaderboard).
{% endhint %}

***

## Add

| Command                                  | Description                                                           |
| ---------------------------------------- | --------------------------------------------------------------------- |
| `/add invites <@member> <amount> [type]` | Add invites to a member. Type: `bonus` (default), `fakes`, or `lefts` |
| `/add messages <@member> <amount>`       | Add messages to a member                                              |
| :star2: `/add xp <@member> <amount>`     | Add XP to a member — **Premium only**                                 |

***

## Remove

| Command                                     | Description                                                                |
| ------------------------------------------- | -------------------------------------------------------------------------- |
| `/remove invites <@member> <amount> [type]` | Remove invites from a member. Type: `bonus` (default), `fakes`, or `lefts` |
| `/remove messages <@member> <amount>`       | Remove messages from a member                                              |

***

## Set

| Command                                  | Description                                                          |
| ---------------------------------------- | -------------------------------------------------------------------- |
| `/set invites <@member> <amount> [type]` | Set exact invite count. Type: `bonus` (default), `fakes`, or `lefts` |
| `/set messages <@member> <amount>`       | Set exact message count                                              |

***

## Reset (Individual)

| Command                       | Description                                                 |
| ----------------------------- | ----------------------------------------------------------- |
| `/reset invites <@member>`    | Reset all invite counts (bonus, invites, fakes, lefts) to 0 |
| `/reset messages <@member>`   | Reset message count to 0                                    |
| :star2: `/reset xp <@member>` | Reset XP and level to 0 — **Premium only**                  |

***

## Reset All (Server-wide)

{% hint style="danger" %}
These commands affect **every member** in the server. A confirmation prompt will appear before execution.
{% endhint %}

| Command               | Description                                    |
| --------------------- | ---------------------------------------------- |
| `/reset all invites`  | Reset all invite counts for every member to 0  |
| `/reset all messages` | Reset all message counts for every member to 0 |
| `/reset all xp`       | Reset all XP and levels for every member to 0  |

***

## Delete (Individual)

| Command                      | Description                                              |
| ---------------------------- | -------------------------------------------------------- |
| `/delete invites <@member>`  | Completely remove a member from the invites leaderboard  |
| `/delete messages <@member>` | Completely remove a member from the messages leaderboard |

***

## Delete All (Server-wide)

{% hint style="danger" %}
These commands **permanently delete** all data for every member. A confirmation prompt will appear before execution.
{% endhint %}

| Command                | Description                                             |
| ---------------------- | ------------------------------------------------------- |
| `/delete all invites`  | Delete all invite data for the entire server            |
| `/delete all messages` | Delete all message and level data for the entire server |

***

## Parameters

| Parameter | Range             | Description                                |
| --------- | ----------------- | ------------------------------------------ |
| `member`  | Server member     | The member to modify                       |
| `amount`  | 1 — 1,000,000     | The amount to add, remove, or set          |
| `type`    | bonus/fakes/lefts | The invite type to modify (default: bonus) |


# Giveaways

All giveaway commands — create, manage, and customize giveaways on your server.

All giveaway commands require **Administrator** permission.

**Limits**: 5 active giveaways (free) / 50 active giveaways (premium).

***

## Start a Giveaway

```
/giveaway start <duration> <winners> <prize> [options...]
```

### Required Parameters

| Parameter  | Type                 | Description                                       |
| ---------- | -------------------- | ------------------------------------------------- |
| `duration` | Time string          | Duration of the giveaway (min: 10s, max: 31 days) |
| `winners`  | 1–100                | Number of winners to pick                         |
| `prize`    | Text (max 200 chars) | Prize description                                 |

### Optional Parameters

| Parameter               | Type                   | Description                                                      |
| ----------------------- | ---------------------- | ---------------------------------------------------------------- |
| `description`           | Text (max 1500 chars)  | Giveaway description shown in the embed                          |
| `channel`               | Text channel           | Channel to post the giveaway (default: current channel)          |
| `roles_required`        | Up to 5 roles          | Roles required to enter the giveaway                             |
| `roles_number_required` | 1–999                  | How many of the required roles a user must have                  |
| `roles_blacklist`       | Up to 5 roles          | Roles that cannot enter the giveaway                             |
| `role_bonus_entries`    | `@role amount` pairs   | Bonus entries for specific roles (max 5 roles, 1–1000 entries)   |
| `messages_needed`       | 1–1,000,000            | Minimum messages required to enter                               |
| `joined_age_required`   | Time string            | Minimum time the user must have been in the server               |
| `account_age_required`  | Time string            | Minimum Discord account age                                      |
| `winners_roles`         | Up to 5 roles          | Roles given to winners when the giveaway ends                    |
| :star2: `type`          | `button` or `reaction` | Entry method (default: `button`). `reaction` is **Premium only** |

### Time Format

Use a combination of the following: `1Y 1M 2w 1d 6h 1m 10s`

| Unit | Meaning |
| ---- | ------- |
| `Y`  | Years   |
| `M`  | Months  |
| `w`  | Weeks   |
| `d`  | Days    |
| `h`  | Hours   |
| `m`  | Minutes |
| `s`  | Seconds |

**Example**: `/giveaway start 1d 12h 3 Nitro` — starts a 1 day 12 hours giveaway with 3 winners.

***

## Manage Giveaways

| Command                                 | Description                                            |
| --------------------------------------- | ------------------------------------------------------ |
| `/giveaway end <giveaway>`              | End a running giveaway early and pick winners          |
| `/giveaway reroll <giveaway> [winners]` | Reroll an ended giveaway with new winners              |
| `/giveaway delete <giveaway>`           | Delete a giveaway entirely                             |
| `/giveaway list [ended]`                | List all giveaways. Set `ended: True` to see past ones |

{% hint style="info" %}
The `giveaway` parameter is the **Message ID** of the giveaway message. Right-click the giveaway embed → **Copy Message ID** to get it.
{% endhint %}

***

## Examples

**Simple giveaway:**

```
/giveaway start duration:24h winners:1 prize:Discord Nitro
```

**Giveaway with requirements:**

```
/giveaway start duration:7d winners:2 prize:$50 Gift Card roles_required:@Member messages_needed:100
```

**Giveaway with bonus entries:**

```
/giveaway start duration:3d winners:1 prize:VIP Role role_bonus_entries:@Booster 5 @VIP 3
```


# Variables

All available variables for welcome, leave, join DM, and level-up messages.

Variables are dynamic placeholders that get replaced with real data when a message is sent. Use them in your welcomer messages and level-up announcements.

***

## Guild Variables

Available in: **Welcome**, **Leave**, **Join DM**, **Level-Up**

| Variable          | Description                | Example Output                   |
| ----------------- | -------------------------- | -------------------------------- |
| `{guild_name}`    | Server name                | My Server                        |
| `{guild_avatar}`  | Server icon URL            | <https://cdn.discordapp.com/>... |
| `{guild_count}`   | Total member count         | 1,234                            |
| `{server_name}`   | Alias for `{guild_name}`   | My Server                        |
| `{server_avatar}` | Alias for `{guild_avatar}` | <https://cdn.discordapp.com/>... |
| `{server_count}`  | Alias for `{guild_count}`  | 1,234                            |

***

## Member Variables

Available in: **Welcome**, **Leave**, **Join DM**, **Level-Up**

| Variable                 | Description             | Example Output                   |
| ------------------------ | ----------------------- | -------------------------------- |
| `{member}`               | Name and discriminator  | Alex#0001                        |
| `{member_name}`          | Username                | Alex                             |
| `{member_display_name}`  | Display name (nickname) | Alex                             |
| `{member_id}`            | Discord ID              | 123456789012345678               |
| `{member_discriminator}` | Discriminator           | 0001                             |
| `{member_mention}`       | Mention (clickable)     | @Alex                            |
| `{member_avatar}`        | Profile picture URL     | <https://cdn.discordapp.com/>... |

### Account Creation Timestamps

| Variable             | Format          | Example Output                    |
| -------------------- | --------------- | --------------------------------- |
| `{member_created:R}` | Relative time   | 2 months ago                      |
| `{member_created:F}` | Long date/time  | Monday, January 15, 2024 12:00 PM |
| `{member_created:f}` | Short date/time | January 15, 2024 12:00 PM         |
| `{member_created:d}` | Short date      | 01/15/2024                        |

***

## Inviter Variables

Available in: **Welcome**, **Leave**, **Join DM** (not available in level-up messages)

| Variable                    | Description             | Example Output                   |
| --------------------------- | ----------------------- | -------------------------------- |
| `{inviter}`                 | Name and discriminator  | John#0002                        |
| `{inviter_name}`            | Username                | John                             |
| `{inviter_display_name}`    | Display name (nickname) | John                             |
| `{inviter_id}`              | Discord ID              | 987654321098765432               |
| `{inviter_discriminator}`   | Discriminator           | 0002                             |
| `{inviter_mention}`         | Mention (clickable)     | @John                            |
| `{inviter_avatar}`          | Profile picture URL     | <https://cdn.discordapp.com/>... |
| `{inviter_invites}`         | Total invite count      | 42                               |
| `{inviter_regular_invites}` | Regular invite count    | 35                               |
| `{inviter_leave_invites}`   | Leave invite count      | 5                                |
| `{inviter_bonus_invites}`   | Bonus invite count      | 15                               |
| `{inviter_fakes_invites}`   | Fake invite count       | 3                                |

### Inviter Account Creation Timestamps

| Variable              | Format          | Example Output                 |
| --------------------- | --------------- | ------------------------------ |
| `{inviter_created:R}` | Relative time   | 1 year ago                     |
| `{inviter_created:F}` | Long date/time  | Monday, March 10, 2023 3:00 PM |
| `{inviter_created:f}` | Short date/time | March 10, 2023 3:00 PM         |
| `{inviter_created:d}` | Short date      | 03/10/2023                     |

***

## Invite Variables

Available in: **Welcome only** (not available in leave, join DM, or level-up)

| Variable        | Description                         | Example Output              |
| --------------- | ----------------------------------- | --------------------------- |
| `{invite_code}` | The invite code used                | abc123                      |
| `{invite_uses}` | Number of times the invite was used | 15                          |
| `{invite_url}`  | Full invite URL                     | <https://discord.gg/abc123> |

***

## Level-Up Variables

Available in: **Level-up announcements only**

| Variable           | Description                  | Example Output |
| ------------------ | ---------------------------- | -------------- |
| `{level}`          | Current level                | 5              |
| `{next_level}`     | Next level (current + 1)     | 6              |
| `{previous_level}` | Previous level (current - 1) | 4              |

{% hint style="info" %}
Level-up messages also have access to all [Member Variables](#member-variables) and [Guild Variables](#guild-variables).
{% endhint %}

***

## Utility Variables

Available in: **Welcome**, **Leave**, **Join DM**

| Variable          | Description      | Example Output |
| ----------------- | ---------------- | -------------- |
| `{random_color}`  | Random hex color | #800080        |
| `{random_letter}` | Random letter    | K              |

***

## Usage Example

```
Welcome {member_mention} to **{guild_name}**! 🎉
You were invited by **{inviter}** who now has **{inviter_invites}** invites.
Your account was created {member_created:R}.
You joined using invite `{invite_code}` ({invite_uses} uses).
We are now **{guild_count}** members!
```

{% hint style="warning" %}
**Important:** Inviter variables will show as empty or an error if used in the `unknown`, `vanity`, or `bot` message types, since no inviter information is available. Always set up separate messages for each type.
{% endhint %}


# InviteCount Premium

Premium features, tiers, and how to activate premium on your server.

Unlock advanced features for your server with an InviteCount premium subscription via Patreon.

***

## Premium Features

| Feature                        | Free       | Premium     |
| ------------------------------ | ---------- | ----------- |
| Invite tracking                | ✅          | ✅           |
| Welcomer (welcome/leave/DM)    | ✅          | ✅           |
| Leaderboards                   | ✅          | ✅           |
| Giveaways (button)             | ✅ (5 max)  | ✅ (50 max)  |
| Giveaways (reaction type)      | ❌          | ✅           |
| Verification system            | ✅          | ✅           |
| Autoroles                      | ✅          | ✅           |
| Fake invite detection          | ✅          | ✅           |
| Message ranks                  | ✅ (10 max) | ✅ (500 max) |
| Levelling / XP system          | ✅          | ✅           |
| `/inviter` command             | ❌          | ✅           |
| `/add xp` & `/reset xp`        | ❌          | ✅           |
| Pinned leaderboard             | ❌          | ✅           |
| Logging system                 | ❌          | ✅           |
| Alert invites                  | ❌          | ✅           |
| Alert webhooks                 | ❌          | ✅           |
| Graph extended range (90 days) | ❌ (7 days) | ✅           |
| Fake delay configuration       | ❌          | ✅           |

***

## Tiers

| Tier       | Servers You Can Upgrade |
| ---------- | ----------------------- |
| **Tier 1** | 1 server                |
| **Tier 2** | 3 servers               |
| **Tier 3** | 5 servers               |

Each tier gives you a number of **vouchers**. Each voucher lets you activate premium on one server.

***

## How to Subscribe

1. Visit the InviteCount Patreon page
2. Choose a tier based on how many servers you want to upgrade
3. Link your Discord account to Patreon
4. Use `/premium add` in the server you want to upgrade

***

## Commands

| Command           | Description                                           |
| ----------------- | ----------------------------------------------------- |
| `/premium add`    | Activate premium on a server (uses 1 voucher)         |
| `/premium remove` | Remove premium from a server (frees 1 voucher)        |
| `/premium guilds` | List all your premium servers with activation details |

### Activate Premium

```
/premium add [guild]
```

If no guild is specified, premium is activated on the current server. You can also specify a server ID.

### Remove Premium

```
/premium remove [guild]
```

Removes premium from a server and frees up the voucher for use on another server.

### View Your Servers

```
/premium guilds
```

Displays all servers where you've activated premium, including member count and activation date.

***

## FAQ

**Can I switch premium to a different server?** Yes! Use `/premium remove` on the current server, then `/premium add` on the new one.

**What happens when premium expires?** Premium features are disabled. Your data is **not** deleted — if you resubscribe, everything will be restored.

**Do I lose my pinned leaderboard if premium expires?** Yes, the pinned leaderboard is automatically deleted when premium status is lost.

**Can I use my vouchers on servers I don't own?** Yes, as long as you have Administrator permission in the server.


