GimCommandsDocsStatusDiscord
Dashboard

Daily streaks

Members keep a streak going by chatting a little every day. Reward roles can go to the longest streaks.

Setting it up

,streak enable 10

That turns streaks on with a goal of 10 messages a day (10 is also the default). You can change everything on the dashboard under Leveling → Daily streaks. The settings commands need Manage Server.

How a streak works

  • A day is a UTC calendar day, the same for everyone. Each message a member sends counts towards that day's goal.
  • When they reach the goal, the day is claimed: the bot reacts 🔥 to the message that reached it. With autoclaim off, members run ,streak claim themselves.
  • Claiming the next day adds one to the streak. Missing a day starts it again from 1, unless you allow grace days.
  • Turning streaks off keeps everyone's streak and calendar for when they're back on.

Settings

SettingDefaultRangeDoes
goal101–500Messages a day to claim it
minlength00–200 charactersShorter messages don't count
cooldown00–3600 secondsTime between messages that count, so spamming doesn't fill the goal
grace00–7 daysHow many days in a row a member can miss without losing their streak
channelnonea text channelWhere the bot announces a member reaching a streak that has a reward
,streak set goal 25
,streak set cooldown 30
,streak set grace 1
,streak set channel #streaks

And four switches, flipped with ,streak toggle:

ToggleDefaultWhen it's on
autoclaimonThe day is claimed as soon as the goal is reached
removeloweroffMembers only keep their highest streak reward role
stripbreakoffThe reward roles are taken away when a streak breaks
rejoinrolesoffA member who leaves and comes back with a live streak gets its roles back

Reward roles

,streak rewards add 7 @Week Streak
,streak rewards add 30 @Month Streak

A role is given when a member claims a day with that streak or longer. A server can have up to 25 rewards, and each role can only be the reward for one streak length. The bot needs Manage Roles, and the role has to be below the bot's highest role. Roles with dangerous permissions are refused. Jailed members never get reward roles.

Commands for everyone

CommandDoes
,streakYour streak (or a member's), your best and today's progress
,streak calendarThe last 5 weeks: 🟩 claimed, ⬛ missed, 🟨 today
,dailystreakYour own calendar
,streak leaderboardThe longest streaks still going
,streak claimClaim today when autoclaim is off

Resetting

,streak reset member @someone and ,streak reset all clear streaks and calendars, and ,streak rewards reset removes every reward. Each one asks you to confirm first.

Common problems

  • "My streak reset at a weird time." Days follow UTC, not your timezone, so a day may end in the afternoon or evening where you live.
  • A reward role wasn't given. Check the bot has Manage Roles and its highest role is above the reward role. Members get it the next time they claim a day.
  • Messages aren't counting. They may be shorter than minlength, or sent within the cooldown. Bot messages, commands and channels or members the bot ignores never count.
The bot keeps each member's message count per day for 40 days (for the calendar), never the messages themselves.