Free on every tier, apart from milestone role rewards (which scale by tier) and custom emoji.
Streaks must be enabled in Server Setup. This page stays editable while it is off, with only a banner as warning.
What counts as an active day
Four options:Send messages
Spend time in voice
Messages or voice
Messages and voice
Qualification rules
Who is eligible, where activity counts, and how much slack members get around midnight. These sit in full view on the Activity tab.Anti-farm
Two controls, on the same Activity tab, that stop a member inflating a streak instead of earning it.These are Streaks’ own rules. Battle Pass has its own separate anti-farm settings, and changing one never affects the other.
Bot and webhook messages never count toward a streak, and that is not configurable — a streak measures human presence.
Milestones and role rewards
Two independent lists: Milestone days is the complete set of streak lengths that get celebrated — not an addition to a hidden built-in list. It merely starts out as 3, 7, 14, 30, 60, 100 and 365, and every one of those is editable: remove 3 and reaching 3 days is no longer announced. Those seven have their own written congratulation; any other day you add uses a generic one. Milestone role rewards grant an actual Discord role at a given day count.Milestone role rewards: 1 on Starter, 5 on Basic, 15 on Max, unlimited on Black.
The page limits you to 25 custom milestones, though the server accepts up to 50. A milestone day is 1–3,650, and the role-reward list is capped at 100 rows whatever your tier. Rewards over your tier’s cap are marked “Disabled · over tier limit” rather than deleted, and return when you upgrade.
Freezes
A freeze spends itself automatically to bridge a missed day, so a streak survives one day off per freeze. Freezes are configured in their own section of the Rewards tab, and they come from two places. Starting freezes (0–10) are credited once, the first time a member’s streak is created. This is an ordinary setting you control, and it is free on every tier. Monthly top-ups are the premium part, added automatically on the 1st of each month:
A member can bank at most twice their tier’s monthly top-up, or your starting-freeze allowance if that is higher — whichever is greater. Starter has no monthly top-up at all, so there the ceiling is simply your starting freezes.
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
Members can opt out of reminders themselves from the DM.
Appearance
Requires Basic.
Leaderboard
Rank by current streak or longest ever. Members whose value on the ranked dimension is zero are not listed — a broken or reset streak is not a ranking.Reset all streaks
In the red Danger Zone at the bottom of the Leaderboard tab, beside the data it affects. It sets every member’s current and longest streak back to zero and clears the milestones they had already been awarded. What it deliberately leaves alone:- Opt-out preferences — members who opted out stay opted out
- Freeze inventory — unused freezes are kept
- Discord roles — milestone roles already granted stay on members; remove them from role settings if you want them gone
Troubleshooting
Streaks are not counting
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 Activity tab is the quickest way to verify.
Members lose streaks despite being active
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.
Nicknames are not updating
Nicknames are not updating
Vetox needs Manage Nicknames, and it can never rename the server owner — that is a Discord restriction.
A reward row will not save
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.
The custom emoji is rejected
The custom emoji is rejected
It must be a plain pictographic emoji, or one custom emoji in
<:name:id> form.The check is stricter than “a single emoji” suggests: anything carrying a variation selector, a skin-tone modifier or regional indicators is rejected even though it looks like one emoji — ❤️, ☺️, 👍🏽, 🏳️🌈 and 🇺🇸 all fail. Pick an emoji without those, such as 🔥 or ⭐.A custom emoji is also not checked against the servers Vetox is in. One from elsewhere saves without complaint and then renders as raw text.Battle Pass
A separate engagement feature: seasonal quests and reward tiers. It runs independently of Streaks — neither one requires or affects the other.