Field guide

Mileage Challenge

A running challenge for the group, kept by a bot instead of a spreadsheet. Log runs, hold a streak, climb the board — works the same whether the group's chatting on WhatsApp or Telegram.

Join the Telegram group →

Start here

  1. 1

    Type ran 6.2km 32:10 in the group the moment you finish a run — distance and time, that's all it needs.

  2. 2

    Or send link once to connect Strava, and every run after that scores itself.

  3. 3

    Check !board for the week's standings, !me for your own stats.

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.

What to type
You typeWhat it means
ran 6.26.2 km, no time
ran 6.2km 32:106.2 km in 32 min 10 sec
ran 21.1 2:05:30Half marathon, h:mm:ss time
+5 or +5kmShorthand 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 / @mePersonal dashboard — level, XP, active streak, personal best streak, badges earned
!badges / @badgesFull list of badges you've unlocked so far
!undoRemoves 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

CommandShows
!board / !board weeklyKm logged this week
!board xpXP earned this week
!board streakLongest current streaks
!board improvedBiggest % improvement vs. your own 4-week average
!board alltimeAll-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:

BonusWhen
Pace bonusYou run faster than your own recent average
Streak bonusUp to +50% for a long streak
PR bonusNew longest run or fastest pace

Your level rises as XP accumulates. The bot announces level-ups in the group.

Level ladder
LevelNameXP needed
1Couch Zero0
2Parkrunner500
3Tempo Tourist1,500
4Threshold Beast4,000
5Half Slayer9,000
6Ultra Curious18,000
7Iron Cadence35,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.

🌅
Early BirdStart a run before 6:00 am
🦉
Night OwlStart a run after 9:00 pm
💯
Century ClubHit 100 km total
🏔️
500 ClubHit 500 km total
🔥
Fortnight14-day streak
Negative SplitSecond half of a run faster than the first (Strava only)
🐐
ComebackFirst run after a 14+ day gap
👥
WingmanLog a run within 30 minutes of another member

Quick reference

ran 6.2km 32:10Log a run
+5kmShorthand log
!me / @meYour stats
!badges / @badgesYour badges
!undo / @undoRemove your last run
!sync / @syncPull today's Strava runs now
!sync 4Same, but checks the last 4 days
!board / @boardWeekly leaderboard
!board xpXP leaderboard
!board streakStreak leaderboard
!board improvedMost improved
!board alltimeAll-time distance
!help / @helpThis 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.