Server configuration
Streaks
Daily message streaks, with milestone roles, restores and a live leaderboard.
Set this up
Set this up on the dashboard under Community › Streaks.
Type / in Discord to find the slash version of a command. Prefix commands keep working until March 5, 2027. What is changing
Overview
Streaks reward members for coming back every day. A member keeps their streak going by sending a set number of messages each day; miss a day and it starts again from 1. greed can post a message when a streak continues, starts or is lost, give roles at milestones, and keep a leaderboard up to date in a channel.
Members get 2 restores a month to bring back a streak they lost by missing a single day.
Streaks are free and off by default.
Setting it up
Turn streaks on
Run
/streaks toggle. From now on, each member's messages count towards their daily streak.Choose the daily goal and reset time
Run
/streaks edit. Set Daily messages (1 by default), then in the Reset time tab pick the hour the day rolls over and your time zone.Add milestone roles (optional)
In the Milestones tab, give a role at a number of days, such as 7, 30 or 365.
Post a leaderboard (optional)
Run
/streaks boardwith a channel to post a leaderboard that refreshes itself.
You need the Manage Server permission to set streaks up. Every setting is also in /configure → Leveling → Streaks and on the dashboard.
How a streak works
A day counts once a member has sent Daily messages messages in the server that day. Their streak goes up by one for each day in a row they reach it. Bots and webhooks are never counted.
The day rolls over at the Reset hour in your Time zone, midnight UTC by default. Use a time zone name such as Europe/London or America/New_York.
If a member misses a whole day, their streak ends. The next day they reach the goal, a new streak starts at 1 and greed sends the lost message.
Messages to unlock makes new members earn their streak first: they must send that many messages in the server before their streak starts. Their streak begins at 1 on the day they reach it, and greed sends the unlock message. 0, the default, starts streaks straight away.
Restores
Every member can claim 2 restores a month. A restore brings back a streak that was lost by missing one day: the missed day is filled in and the old streak continues, including any days of the new one.
Claim this month's restores
Run
/streaks claim. Restores don't carry over, so claim them each month.Use one
Run
/streaks restorein the server where you lost the streak.
Restores belong to your account, not to one server: the 2 restores cover every server you have streaks in, and they renew at the start of each month (UTC). Only your most recent loss can be restored, and only if it came from a single missed day.
Commands
Stats
/streaks stats [member]/streaks stats
/streaks stats @adamShows a member's current and longest streak, today's messages towards the goal, their total messages, when the streak started and the restores they have left this month.
Leaderboard
/streaks leaderboardThe longest active streaks in the server.
Live leaderboard
/streaks board [channel]/streaks board #streaks
/streaks boardPosts a leaderboard that greed refreshes every 12 hours. Run it with no channel to remove it.
Restores
/streaks claim
/streaks restoreSettings
/streaks toggle
/streaks edit
/streaks config
/streaks preview [kind]
/streaks variables/streaks preview losetoggleturns streaks on or off.editopens the Streaks page of/configure.configshows every setting at once.previewshows thecontinue,unlockorlosemessage as greed would send it.variableslists the variables streak messages can use.
Every command also works with the prefix, as ,streaks or ,streak: for
example ,streak @adam. ,streaks on its own shows your own streak.
Settings
| Setting | What it does | Default |
|---|---|---|
| Streaks | Count daily messages towards streaks | Off |
| Daily messages | Messages a day to keep a streak, 1 to 500 | 1 |
| Messages to unlock | Messages a member must send before their streak starts, 0 to 10,000 | 0 |
| Where messages go | In the same channel, in DMs, in a set channel, or not sent | Same channel |
| Message channel | The channel used for "in a set channel" | None |
| Auto-delete after 15s | Delete streak messages after 15 seconds | Off |
| Leaderboard channel | Where the live leaderboard is posted | None |
Three messages, each with its own switch and an optional script of your own. All three are on by default and use greed's own wording until you write one.
- Continue: a member kept their streak going. It is also sent on the first day of a streak.
- Unlock: a member reached Messages to unlock.
- Lose: a member lost their streak.
Give a role when a member's streak reaches a number of days, from 1 to 3,650. A restored streak gives every milestone it reaches. greed can only give roles below its own highest role.
Reset hour (0 to 23) and Time zone, 0 and UTC by default.
Variables
Use these in streak messages, together with the usual {user.*} and {guild.*} variables.
| Variable | Description |
|---|---|
{streak.current} | The member's current streak in days |
{streak.longest} | Their longest streak |
{streak.started} | The date the current streak started |
{streak.total} | Their total messages counted towards streaks |
{streak.today} | Messages they have sent today |
{streak.threshold} | The daily message goal |
{streak.restores} | Restores they have left this month |
{streak.lost} | The streak they just lost, in the lose message |
🔥 {user.mention} is on a **{streak.current}**-day streak! Best: {streak.longest}.Limits
| Free | Server Premium | |
|---|---|---|
| Milestone roles | 5 | 50 |
| Restores per member | 2 a month | 2 a month |
Permissions
- Manage Server to turn streaks on, change settings, preview messages and post the live leaderboard.
- Anyone can use
stats,leaderboard,claim,restoreandvariables. - greed needs Send Messages where streak messages and the leaderboard go, and Manage Roles for milestone roles.