Server configuration

Streaks

Daily message streaks, with milestone roles, restores and a live leaderboard.


Note:

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

  1. Turn streaks on

    Run /streaks toggle. From now on, each member's messages count towards their daily streak.

  2. 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.

  3. Add milestone roles (optional)

    In the Milestones tab, give a role at a number of days, such as 7, 30 or 365.

  4. Post a leaderboard (optional)

    Run /streaks board with 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.

  1. Claim this month's restores

    Run /streaks claim. Restores don't carry over, so claim them each month.

  2. Use one

    Run /streaks restore in the server where you lost the streak.

Note:

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]

Shows 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 leaderboard

The longest active streaks in the server.

Live leaderboard

/streaks board [channel]

Posts a leaderboard that greed refreshes every 12 hours. Run it with no channel to remove it.

Restores

/streaks claim
/streaks restore

Settings

/streaks toggle
/streaks edit
/streaks config
/streaks preview [kind]
/streaks variables
  • toggle turns streaks on or off.
  • edit opens the Streaks page of /configure.
  • config shows every setting at once.
  • preview shows the continue, unlock or lose message as greed would send it.
  • variables lists the variables streak messages can use.
Tip:

Every command also works with the prefix, as ,streaks or ,streak: for example ,streak @adam. ,streaks on its own shows your own streak.

Settings

SettingWhat it doesDefault
StreaksCount daily messages towards streaksOff
Daily messagesMessages a day to keep a streak, 1 to 5001
Messages to unlockMessages a member must send before their streak starts, 0 to 10,0000
Where messages goIn the same channel, in DMs, in a set channel, or not sentSame channel
Message channelThe channel used for "in a set channel"None
Auto-delete after 15sDelete streak messages after 15 secondsOff
Leaderboard channelWhere the live leaderboard is postedNone

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.

VariableDescription
{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
Example
🔥 {user.mention} is on a **{streak.current}**-day streak! Best: {streak.longest}.

Limits

FreeServer Premium
Milestone roles550
Restores per member2 a month2 a month

Permissions

  • Manage Server to turn streaks on, change settings, preview messages and post the live leaderboard.
  • Anyone can use stats, leaderboard, claim, restore and variables.
  • greed needs Send Messages where streak messages and the leaderboard go, and Manage Roles for milestone roles.