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

# Streaks

> Reward members for showing up every day, with freezes, milestone roles and a grace window.

A member is active today, their streak goes up. They miss a day, it resets — unless a freeze saves it.

<Info>
  **Free on every tier**, apart from milestone role rewards (which scale by tier) and custom emoji.
</Info>

<Note>
  Streaks must be enabled in [Server Setup](/en/server-management/setup). This page stays editable while it is off, with only a banner as warning.
</Note>

## What counts as an active day

Four options:

<CardGroup cols={2}>
  <Card title="Send messages" icon="message-square" />

  <Card title="Spend time in voice" icon="microphone" />

  <Card title="Messages or voice" icon="circle-plus" />

  <Card title="Messages and voice" icon="circle-check" />
</CardGroup>

Then the thresholds: **minimum messages per day** (1–100) and **minimum voice minutes per day** (1–1440).

The page shows a plain-language sentence summarising exactly what a member must do — read it after every change, it is the fastest way to catch a mistake.

## Advanced options

| Setting                     | Range               | Purpose                                                                     |
| --------------------------- | ------------------- | --------------------------------------------------------------------------- |
| Minimum words per message   | 1–50                | Stops "hi" counting                                                         |
| Measured in                 | words or characters | **Use characters for Chinese, Japanese and other languages without spaces** |
| Grace window                | 0–240 minutes       | Late-night activity still counts for the previous day                       |
| Minimum account age         | 0–365 days          | Blocks alt accounts                                                         |
| Count reactions as activity |                     |                                                                             |
| Excluded channels / roles   | 100 each            |                                                                             |

<Tip>
  A grace window of 120 minutes is worth setting. Without it, a member active at 00:15 loses a streak they were genuinely maintaining.
</Tip>

## Milestones and role rewards

Two separate things:

**Custom milestones** are celebration-only, added alongside the built-in 3, 7, 14, 30, 60, 100 and 365.

**Milestone role rewards** grant an actual Discord role at a given day count.

<Info>
  Milestone role rewards: **1** on Starter, **5** on Basic, **15** on Max, unlimited on Black.
</Info>

Two related switches: remove reward roles when a streak breaks, and keep only the highest milestone role.

<Note>
  The page limits you to 25 custom milestones. Rewards over your tier's cap are marked "Disabled · over tier limit" rather than deleted, and return when you upgrade.
</Note>

<Warning>
  Vetox refuses to grant any reward role holding Administrator, Manage Server or Manage Roles — a safety measure that cannot be overridden.
</Warning>

## Freezes

A freeze consumes itself to save a streak from one missed day. Members are granted freezes monthly by tier:

| Starter | Basic | Max | Black |
| ------- | ----- | --- | ----- |
| 0       | 2     | 4   | 8     |

<Note>
  Freezes are granted automatically on the first of each month. There is no control for them on this page — the allowance follows your tier.
</Note>

## Notifications

* **DM streak reminders** — a nudge before their day runs out
* **DM when a streak is lost**
* **Show streak in nickname** — requires **Manage Nicknames**
* **Milestone announcement channel**

<Warning>
  Reminders are **DM-only**. The channel setting is for milestone announcements — it cannot be used to post reminders publicly. Members with DMs closed get no reminder.
</Warning>

<Note>
  Members can opt out of reminders themselves from the DM.
</Note>

## Appearance

<Info>
  Requires **Basic**.
</Info>

Replace the default 🔥 with your own emoji, with optional distinct emoji at 100 days and one year.

<Warning>
  **Downgrading to Starter clears your custom emoji permanently.** Unlike milestone rewards, they are not kept and restored — note them down before downgrading.
</Warning>

## Leaderboard

Rank by **current** streak or **longest ever**.

## Reset all streaks

In the red Danger Zone. Clears every member's streak on the server.

<Warning>
  Immediate and irreversible. It does not go through the save bar, and there is no preview of how many members it affects.
</Warning>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Streaks are not counting">
    Check the module is on in Server Setup, the member's channel and roles are not excluded, and the thresholds are actually achievable — the plain-language sentence on the General tab is the quickest way to verify.
  </Accordion>

  <Accordion title="Members lose streaks despite being active">
    Their messages are probably below the minimum word count, or they are active after midnight with no grace window. Both are common on servers with short, chatty messages.
  </Accordion>

  <Accordion title="Nicknames are not updating">
    Vetox needs **Manage Nicknames**, and it can never rename the server owner — that is a Discord restriction.
  </Accordion>

  <Accordion title="A reward row will not save">
    Every enabled row must have a role selected. Rows sharing the same day are merged, keeping the enabled one.
  </Accordion>

  <Accordion title="The custom emoji is rejected">
    It must be a single emoji or one custom emoji from a server Vetox is in — not a word or several emoji.
  </Accordion>
</AccordionGroup>

<Card title="Battle Pass" icon="trophy" horizontal href="/en/engagement/battle-pass">
  Seasonal quests on top of daily streaks.
</Card>
