Everything below is the full detail behind the three steps above. Skim the headings, or read straight through — nothing here is required reading before you can just start typing ran 5km in the group.
Logging a run
Type directly in the group. The bot picks it up automatically — no slash, no menu, just say what you did.
| You type | What it means |
|---|---|
| ran 6.2 | 6.2 km, no time |
| ran 6.2km 32:10 | 6.2 km in 32 min 10 sec |
| ran 21.1 2:05:30 | Half marathon, h:mm:ss time |
| +5 or +5km | Shorthand for 5 km |
The bot confirms in the group with your XP and streak.
Strava-linked? Once linked, runs log automatically when they sync — nothing to type. Didn't show up yet? Send !sync to pull today's activity right now, or !sync 4 to check the last 4 days.
Sent the same run twice? A same distance + time resend within a few minutes is recognised and skipped, not double-counted. Fat-fingered the wrong number instead? Use !undo — see Your Stats below.
Linking Strava
Optional, but it means you never have to type a run again. Send:
link
either in the group or a DM — either way, the actual Strava sign-in link is always sent to you privately, never posted in the group (it's tied to your account, so it shouldn't be shared or clicked by anyone else). Type it in the group and you'll just see a short "sent you a DM" note there instead.
Follow the link, authorise the bot, and you're done. Every run logged on COROS, Garmin, or the Strava app appears automatically.
If Strava linking isn't switched on yet for your group, the bot will say so instead of sending a broken link — just keep logging manually with ran <km> until it is.
Group chat vs. DM
Group chat is where the action is. Run confirmations, level-ups, badge unlocks, and leaderboards all post there so everyone sees them. Commands work in the group in either style — @me and !me both do the same thing.
DM the bot directly for anything personal:
- link — connect Strava (always DMed back privately, even if typed in the group)
- !me — your stats, privately, if you'd rather not show the group
Bot replies go wherever you sent the command — the group if you asked in the group, a DM if you asked in a DM.
Your stats
| !me / @me | Personal dashboard — level, XP, active streak, personal best streak, badges earned |
| !badges / @badges | Full list of badges you've unlocked so far |
| !undo | Removes your most recent run and recalculates XP, level, streak, and badges as if it never happened — only the single latest run; ask an admin for anything further back |
Leaderboards
| Command | Shows |
|---|---|
| !board / !board weekly | Km logged this week |
| !board xp | XP earned this week |
| !board streak | Longest current streaks |
| !board improved | Biggest % improvement vs. your own 4-week average |
| !board alltime | All-time distance hall of fame |
Boards reset every Monday. Most improved resets too, but it's always relative to your own history — never anyone else's.
XP and levels
Every km earns XP. Bonuses stack on top:
| Bonus | When |
|---|---|
| Pace bonus | You run faster than your own recent average |
| Streak bonus | Up to +50% for a long streak |
| PR bonus | New longest run or fastest pace |
Your level rises as XP accumulates. The bot announces level-ups in the group.
| Level | Name | XP needed |
|---|---|---|
| 1 | Couch Zero | 0 |
| 2 | Parkrunner | 500 |
| 3 | Tempo Tourist | 1,500 |
| 4 | Threshold Beast | 4,000 |
| 5 | Half Slayer | 9,000 |
| 6 | Ultra Curious | 18,000 |
| 7 | Iron Cadence | 35,000 |
Streaks
A streak day counts when you log at least 2 km. You get 1 rest token per week — miss a day with a token in hand, and it's spent automatically to cover you, streak intact. Only once you're out of tokens does a missed day actually end it.
Streak riding on today's run? You'll get a private DM in the evening as a nudge — never posted in the group. If a streak does end, the bot DMs you something kind, never a public callout. Tokens refill every Monday.
A few things the bot does on its own
- Quiet-day nudge — if nobody's logged anything by evening, one light message in the group, never singling anyone out.
- Streak check-ins — private DMs only (see Streaks above), never posted publicly.
- Sunday recap — an automatic weekly summary in the group: top boards, the week's biggest run, a most-improved shoutout, and the next mini-challenge.
Badges
One-time achievements, announced in the group when earned.
Quick reference
| ran 6.2km 32:10 | Log a run |
| +5km | Shorthand log |
| !me / @me | Your stats |
| !badges / @badges | Your badges |
| !undo / @undo | Remove your last run |
| !sync / @sync | Pull today's Strava runs now |
| !sync 4 | Same, but checks the last 4 days |
| !board / @board | Weekly leaderboard |
| !board xp | XP leaderboard |
| !board streak | Streak leaderboard |
| !board improved | Most improved |
| !board alltime | All-time distance |
| !help / @help | This list, from the bot itself |
Commands work in the group (public reply) or DM the bot for a private one. Use link via DM to connect Strava.