How It Works

Snitchbot — TBC consumable tracker for raid leaders

What Is Snitchbot?

Snitchbot reads a Warcraft Logs raid report and tells you exactly who showed up without their consumables. Paste a log URL, click Check, and within seconds you see every player colour-coded: green = came prepared, red = missing something.

No login required to check a log. Login with Discord to unlock saved raids and player history.

Reading the Table

After analyzing a log, the table is split into two views you can switch between:

  • Pre-Fight — Flask, Elixirs, Food, Scrolls. These are checked before the boss is pulled.
  • In-Combat — Potions used during the fight, Healthstone, Weapon Oil/Stone.

Each cell in the table shows one of these:

  • — Player had it.
  • — Player was missing it (and it matters for their role).
  • — Not applicable. For example, if a player used a Flask, the two elixir columns show — because a flask counts as both. Or a tank doesn't need Destruction Potion.
  • — For potions, shows how many times it was used during the raid.

Click any player name to open a side panel showing their full breakdown across every boss and every attempt.

How Scoring Works

The simple version

Every player gets a score like 4/4 or 2/5. The first number is what they actually had. The second number is the maximum they could have earned. Higher is better.

The score colour tells you at a glance how they did:

  • Green — Full score. Came fully prepared.
  • Yellow — Partial. Missing one or two things.
  • Red — Low or zero. Significantly unprepared.

A player's entire row is also highlighted green or red based on whether they are fully prepared. The Slackers list at the bottom shows everyone who is missing at least one mandatory buff.

What earns points (default)

  • +1 point — Flask or Battle Elixir
  • +1 point — Flask or Guardian Elixir
  • +1 point — Food buff
  • +1 point — Used at least one relevant in-combat potion (max 1 point for the pot category, regardless of how many types apply to your role)

Because potions share a cooldown in TBC, only 1 point is awarded for the potion category — using a Destruction Potion, a Haste Potion, or a Mana Potion all give the same 1 point. The relevant potion types per class and role are shown in the table below.

Healthstone, Weapon Oil, and Weapon Stone are shown in the table but do not affect the score by default. You can make weapon buffs count by enabling them in Settings.

Why the max score is different per player

Whether a player has a relevant potion at all depends on their class and role. If any relevant potion exists for them, their max goes up by 1. If none do, the pot category doesn't exist for them. A Warrior DPS, a Mage, a Holy Priest, and a Prot Warrior all have max 4 — the potion types differ but each contributes exactly 1 point to the max.

This means the score is fair — you're only judged on what actually applies to your class and role.

Custom Scoring (Settings)

If you're logged in as a raid leader, you can go to Settings and choose exactly which buffs count toward the score. This only affects your view — anonymous users always see the default scoring.

  • Uncheck a buff — it no longer affects anyone's score. Nobody loses points for skipping it.
  • Check Weapon Buff — weapon oil (casters/healers) and weapon stone (melee/tanks) now count as a mandatory point.

Example: if you uncheck Food, a player missing their food buff will still show ✗ in the table (so you can see it), but it won't make their row red and won't lower their score.

Your settings are saved and apply every time you use Snitchbot while logged in.

Player Lookup

The Player Lookup tool lets you search any player by name and realm — no log URL needed. It pulls their full TBC raid history directly from Warcraft Logs and shows WCL rankings alongside consumable usage, giving you a quick overview of both how well they perform and how prepared they show up.

How to use it

Type a character name on the home page or go to /lookup, pick a realm, and hit Look up. The first search takes 20–60 seconds while data is fetched from WCL. After that, results are cached for 24 hours and load instantly. Hit ↻ Refresh data on the profile page to force a fresh fetch.

What you see

  • Combined Rating — a single Legendary / Epic / Rare / Uncommon / Common badge. Weighted 50% WCL rank % + 30% enchant score + 20% consumable compliance.
  • Per-zone collapsible tables — Karazhan, Gruul/Mag, SSC/TK (and more as content unlocks). Click a zone to expand the full boss breakdown.
  • Per-boss data — Best %, Median %, Best DPS/HPS, Kill count, Fastest kill, and every consumable column (Flask, Elixirs, Food, Weapon, Pot) based on the player's best logged kill for that boss.

Sharing a profile

Every lookup generates a shareable URL: /lookup?name=Vitok&server=thunderstrike&region=EU. Anyone with the link gets instant results (from cache) or triggers a fresh fetch if the profile is stale.

Consumable data is from the best logged kill per boss, not averaged across all kills. A player who potted on their highest-ranked kill but not on wipes will show ✓ for that boss.

Saved Raids & Player History

Login with Discord to save reports and build a history of your raid team's consumable habits over time.

Saving a report

After analyzing a log, click Save Report next to the report title. The button turns grey and says "Saved" — that's it. If you come back and load the same log again, it will already say Saved.

Dashboard

Click Dashboard in the top navigation to see two tabs:

  • Saved Reports — every log you've saved, with the date and a link to view it. You can delete a report here — this also removes all player data from that raid from your history.
  • Player Roster — every player who has appeared in any of your saved reports, with their average score, number of raids attended, and how many raids they came prepared for. Filter by role using the All / Tank / Healer / DPS tabs.

Per-player history

Click any player name in the roster to see their individual history. First you'll see a list of every raid they attended, with their average score for that night. Click a raid to drill down into a boss-by-boss breakdown — one row per boss showing their pre-fight buffs, pots used, and score.

Player data is stored inside each saved report. Deleting a report removes that raid from all player histories automatically.

Role-Based Potion Relevance

This table shows which potions are accepted for each role. A means using that potion satisfies the pot requirement. means it doesn't apply.

Important: The entire potion category is worth 1 point maximum — using any one of the marked potions earns it. Multiple ✓ columns just mean those are all accepted options for that role.

Role / ClassHaste PotDest PotMana Pot
Healer (all classes)
Tank (non-Paladin)
Tank Paladin
Warrior / Rogue / Hunter DPS
Retribution Paladin
Mage
Warlock
Shadow Priest
Shaman DPS (Enh / Elemental)
Druid DPS (Feral / Balance)

Technical: How Detection Works

Pre-fight buffs (Flask / Elixir / Food)

Warcraft Logs fires a CombatantInfo event at the start of every fight listing all active auras. Snitchbot scans these aura IDs and names to detect flask, elixir, and food buffs. If a flask is detected, both elixir columns show — (not applicable) since a flask counts as both.

Weapon oils and stones

Weapon enchants appear as a temporaryEnchant ID on weapon gear slots inside the CombatantInfo gear array. All 19 equipment slots are checked.

In-combat potions

Potions don't leave a lasting buff so they can't be read from CombatantInfo. Instead, all Cast events in the log are scanned and matched against known spell IDs. A 10-second pre-pull window is included so pre-potting is counted correctly.

Tracked Food Buffs (by ID)

Most food is detected because the buff name contains "well fed". These are detected by spell ID only.

FoodSpell IDNotes
Skullfish Soup33825Buff name lacks "well fed" — detected by spell ID
Enlightened43722Detected by spell ID
Well Fed43764Detected by spell ID — confirmed from live log

Tracked Flasks (by ID)

Most flasks are detected by name. These two are detected by spell ID only.

FlaskSpell IDNotes
Flask of Distilled Wisdom17627Buff name lacks "flask" — detected by ID
Flask of Chromatic Resistance17629Buff is "Chromatic Resistance" — detected by ID
Flask of Supreme Power17628+150 spell damage — buff aura ID (not the item-use spell ID)

Tracked Elixirs

ElixirTypeSpell ID
Elixir of Major AgilityBattle28497
Elixir of Healing PowerBattle28491
Elixir of Major FirepowerBattle28501
Elixir of Major Shadow PowerBattle28503
Elixir of Major Frost PowerBattle28493
Adept's ElixirBattle33721
Greater Arcane ElixirBattle17539
Elixir of the MongooseBattle17538
Elixir of IronskinGuardian39628
Earthen ElixirGuardian39626
Elixir of Major DefenseGuardian28502
Elixir of Major MagebloodGuardian28509
Elixir of Draenic WisdomGuardian39627
Elixir of the SagesGuardian17535
Gift of ArthasGuardian11371

Tracked Potions

PotionTracked AsCast Spell ID(s)Notes
Haste PotionHaste Pot28507
Insane Strength PotionHaste Pot28494counted as Haste Pot
Destruction PotionDest Pot28508
Super Mana PotionMana Pot28499
Major Mana PotionMana Pot17531
Fel Mana PotionMana Pot38929, 41617, 41618
Dark RuneMana Pot27869
Demonic RuneMana Pot16666
HealthstoneHealthstone27237, 27232, 27230, 11730, 11729, 6263, 6262tracked, not scored

Tracked Weapon Buffs

Detected via temporary enchant ID on weapon slots in CombatantInfo.

ItemTypeEnchant IDStatus
Brilliant Wizard OilOil2628confirmed
Brilliant Mana OilOil2629confirmed
Unknown OilOil2678confirmed from live logs
Superior Wizard OilOil2650unconfirmed
Unknown Stone (tank)Stone2955confirmed from live logs

Known Limitations

  • Spec inference is approximate — hybrid classes (Druid, Shaman, Paladin) are assigned a role by Warcraft Logs. Within DPS, Feral and Balance Druids or Enhancement and Elemental Shamans share potion columns showing both options.
  • Some weapon enchant IDs unconfirmed — Superior Wizard Oil (2650) hasn't been seen in live log data yet. The confirmed ones (2628, 2629, 2678, 2955) were verified from real raids.
  • Healthstone is tracked but not scored by default — it shows in the In-Combat table column for reference only.