What's new

Sign in to manage feature access

25 updates

OverlayLatest release!wl

Keep your win/loss counter across streams

Choose a start date and duration to keep one record across streams. You can also correct missed or off-stream results without giving Dotabod access to your offline match history.

Example in chat
techleed: !wl
twitch mod icondotabod: Ranked 0 W - 9 L | -270 MMR · This stream
Release details

Set a challenge start date and duration to keep one record across streams. The overlay, !wl, and public profile show progress such as 14 of 30 days, then return to per-stream mode automatically.

For a correction, choose ranked or unranked, enter an amount from 1 to 1000, then add or remove wins or losses. A total cannot go below zero.

Dotabod stores the correction instead of tracking your offline matches. The corrected record appears in the overlay, !wl, and your public profile.

!resetwl starts the configured window from 0-0 without changing other stream-session commands. !today keeps its one-day hero breakdown.

Public page

Public match history

Streamer profiles now show recent results and most-played heroes. The full history adds hero win rates, KDA, scores, and 7-day, 30-day, or all-time filters.

Release details

Each public profile shows the streamer's five most-played heroes and five latest tracked matches, including result, queue, KDA, score, and a link to OpenDota.

Open Match history to switch between individual matches and hero win rates, then filter the record to 7 days, 30 days, or all time.

Dashboard

Safer account settings

Linked Steam accounts are now read-only, account edits always use the signed-in streamer, and public overlay data no longer includes OBS server passwords.

Release details

You can still see MMR and rank details for a Steam account linked from another streamer, but only its owner can change or remove it.

Dashboard requests now ignore account IDs supplied in the URL and authorize every change against your signed-in Dotabod account.

Dashboard

Clearer match-start settings

Auto commands now preview each selected reply and explain when they run. High-MMR match detection now names every command that depends on its Twitch clips.

Release details

Open Auto Commands on Match Start to choose !np, !smurfs, !gm, !lg, or !avg. Each row now includes the command description and sample reply, and Dotabod warns you when the feature is on but nothing is selected.

High-MMR Match Detection now explains why Dotabod creates short Twitch clips at 8500+ MMR, which commands lose roster data when detection is off, and which games remain unaffected.

Commands!np

!np names real players more often

All Pick games now get real player names instead of "Player 1, Player 2", !np drops fewer rosters entirely, and it no longer names a hero you never picked.

Example in chat
techleed: !np
twitch mod icondotabod: All Pick:south koreaDuBu (Shadow Shaman) ·russiaCollapse (Magnus) ·estoniaPuppy (Chen) ·usaPPD (Tusk) ·usaRajjix (Timbersaw)
Release details

Dota has two different draft screens and Dotabod was only reading one of them. On the All Pick pick screen the names sit in the top bar, not on the mid-screen cards, so it was reading the hero grid instead and finding nothing — which is why those games fell back to "Player 1, Player 2". It now reads both layouts and keeps whichever actually returns names, taking readable rosters from 82% to 90% across the clips we tested.

The roster screen with names, ranks, and heroes is only up for about 30 seconds, and Dotabod's clip was landing in the last few of them — so any small drift missed it. The capture now aims for the middle of that window, roughly tripling the room for error before a game comes back empty.

A failed draft read could also mark a match "done" and throw away the good roster clip that came later, so some games lost data they had already captured. That no longer happens.

When the hero bar is partly hidden behind your own HUD, Dotabod could misread a portrait and confidently name the wrong hero. It now cross-checks against the hero Dota reports you're actually playing and corrects that slot instead of guessing.

ChatFree

Team smoke alerts

When your team pops Smoke of Deceit without you, Dotabod ribs you in chat a few seconds later for getting left behind.

Example in chat

team smoking without you HAH

Release details

It triggers on the in-game smoke-activated event, which Dota only sends for your own team, so it never reveals an enemy smoke — and it's separate from the existing Smoke alert, which fires whenever your own hero gets the smoke debuff.

A few seconds after a teammate smokes, Dotabod checks whether your hero actually caught the buff. If you got left behind it posts a single line ribbing you; if you were in the smoke it stays quiet and lets the Smoke alert announce that your hero is smoked.

ChatFree!set

Cosmetic set announcements

When you pick a hero, Dotabod posts your equipped cosmetic set in chat with a link to your public collection. Viewers can also type !set anytime.

Example in chat
techleed: !set
twitch mod icondotabod: Pudge has 5 equipped cosmetics → dotabod.com/<streamername>/set
See arteezy's set page
Release details

Every hero pick or mid-game swap (while you're live) snapshots your equipped wearables to your collection, one entry per hero, refreshed each time you replay it. No need for chat to run !set.

It holds the chat post until everyone's locked in (strategy phase) so it never tips your pick to stream snipers, and posts at most once per match per hero. !set re-snapshots your current hero on demand, and your public page at dotabod.com/<name>/set shows every hero you've captured.

Public page

Hero cosmetic set pages

Browse any streamer's equipped cosmetics hero by hero on their public set page, with rarity, a completion meter, and a trophy tally.

Release details

The page reads your captured loadouts and groups them by hero, with rarity, a completion meter, and a trophy tally. It fills in as you play or run !set, so the more heroes you pick on stream, the more complete it gets.

Public page

Streamers directory

A public, searchable directory of Dotabod streamers you can filter by rank and sort by follower count.

Release details

Lists Dotabod streamers publicly, filterable by rank and sortable by follower count. Viewers can find others using Dotabod, and the network shows up in search.

Public page

Redesigned gifting

Gifting Pro has a cleaner flow, with a live chat preview, preset durations, and a running price summary before checkout.

Dashboard

PayPal for Dotabod Pro

You can now subscribe to (or gift) Dotabod Pro with PayPal, monthly, annual, or lifetime, alongside card and crypto.

Chat

Inline command tips

Dotabod can append a related command hint to its first reply, so your chat discovers more of what it can do.

Example in chat

3311 · Legend☆2 - Average rank this game · Try !smurfs

Release details

Commands are grouped into related clusters (like !np, !gm, !avg, !smurfs, !ranked). About every 4th time one runs, Dotabod tacks a one-line hint for a sibling command onto its first reply.

It won't repeat the same suggestion in your channel within 30 minutes, won't suggest the command just used, and only suggests commands you have enabled. Turn it off with the toggle on the commands page.

Commands!streamers

!streamers

Anonymously tells chat how many other Dotabod streamers are in your current match. No names are shown to avoid cross-chat drama.

Example in chat
techleed: !streamers
twitch mod icondotabod: Playing with 2 other Dotabod streamers Okayge
Release details

Counts other Dotabod-registered users in your match (live broadcasters sending GSI, plus the SourceTV roster) and never shows names, to avoid cross-chat drama.

Pro adds a " · N other streamer(s)" suffix on !np, plus an automatic heads-up in chat about other streamers ~90 seconds after the match starts.

Commands!unresolved

Easier bet resolution

!unresolved now lists pending matches with KDA, length, and match IDs, and a bare !won or !lost flips your most recent match, no match ID needed.

Example in chat
twitch mod icontechleed: !unresolved
twitch mod icondotabod: 2 unresolved match(es) 👌 Use !won or !lost with match ID: 7654321 (Pudge), 7654320 (Invoker)
Release details

A bare !won or !lost (no match ID) resolves the most recent finished match of your current stream session, handy when Dotabod disconnected before the match ended. Re-resolving a match doubles the MMR change to undo the old result and apply the new one.

!unresolved lists this session's matches with no recorded result, newest first (up to 10), each with hero, K/D/A, score, length, and the match ID to pass to !won or !lost.

Overlay!np

Sharper !np for high MMR

For 8500+ MMR games where the draft isn't visible, Dotabod now reads the in-game hero bar to fill in the player roster more accurately.

Example in chat
techleed: !np
twitch mod icondotabod: All Pick:south koreaDuBu (Shadow Shaman) ·russiaCollapse (Magnus) ·estoniaPuppy (Chen) ·usaPPD (Tusk) ·usaRajjix (Timbersaw)
Release details

Kicks in for Immortal / 8500+ MMR games, where Valve hides the public draft. Dotabod auto-captures short overlay clips at draft (~46s), the strategy phase (~50s), and ~60s into the game.

Its Vision service reads the in-game hero bar (the row of ~60px portraits) and returns up to 10 heroes with a per-slot confidence score, falling back to draft player names until heroes load. Vision-detected heroes take priority when building the !np roster.

Overlay

Last.fm overlay fixes

Track, artist, and album names with special characters (apostrophes, ampersands) now display correctly in the Last.fm now-playing overlay.

Example in chat

Now playing: Guns N' Roses - Sweet Child O' Mine (Appetite for Destruction)

Release details

Last.fm's API returns names with HTML entities (like &#39; for an apostrophe). Dotabod now decodes those on the way in and stops re-escaping them on the way out to Twitch, so apostrophes and ampersands show as real characters instead of &#39; / &amp;.

Public page

Searchable help center

The troubleshooting page is now a searchable, categorized help center with clearer Steam and overlay setup steps.

Dashboard

Crypto payments, improved

Crypto checkout moved to NOWPayments, with more supported coins and a smoother payment flow.

Commands!recent

!recent match history

Lists the last 5 resolved matches from this stream with their match IDs, hero, and result. Shares the toggle with !won.

Example in chat
twitch mod icontechleed: !recent
twitch mod icondotabod: Recent matches: 7654321 W (Pudge), 7654320 L (Invoker), 7654319 W (Sniper) 👌
Commands

Toggle more commands

Around a dozen more commands (!geo, !stats, !match, !friends, !count, and more) can now be turned on or off individually from the dashboard.

Release details

Commands like !geo, !stats, !match, !friends, !count, and !fixdbl each got their own on/off switch in the dashboard, so you can tailor exactly which ones your chat can use.

Stream setup

One-click Steam connect

A new connector auto-links your Steam account while you stream, with live status and built-in troubleshooting.

Release details

The connector polls for your active Steam account while you stream and links it automatically, with status feedback and built-in troubleshooting if it doesn't appear.

Dashboard

Clearer billing status

Subscription status is clearer for past-due, cancelled, and paused states, with better messaging and retry prompts.

Stream setup

Regional blocking warning

Streamers in regions that block our overlay host now get an in-dashboard warning with remediation steps.

Chat

Lead Moderator support

Dotabod now recognizes Twitch's Lead Moderator badge for mod-only commands and chat permissions.

Release details

Twitch's Lead Moderator is a separate badge from a regular mod. Dotabod now grants Lead Moderators mod-level access to mod-only commands like !won, !toggle, and !modsonly.

Commands!today

!today hero stats

Shows wins and losses per hero played today.

Example in chat
techleed: !today
twitch mod icondotabod: Pudge 2-1 · Invoker 1-0 · Sniper 0-2 · 3W 3L (6 games)