Bullshfter's TBC Chat Pro

Levels up your chat frames. Gives you total control over what you see in your chat frames. Filter messages in/out based on keywords or RegEx and more.
Screenshot 2026-06-13 164503.png

Screenshot 2026-06-13 164503.png

Screenshot 2026-06-13 171615.png

Screenshot 2026-06-13 171615.png

Screenshot 2026-06-13 171527.png

Screenshot 2026-06-13 171527.png

Screenshot 2026-06-13 171510.png

Screenshot 2026-06-13 171510.png

Screenshot 2026-06-13 171817.png

Screenshot 2026-06-13 171817.png

Description

TBCChatPro

Are your chat frames absolutely flooded with spam from boosters, gold sellers, duplicate message from trade or lfg and other ads? Mine were. I could not read anything in the chat, it was a wall of constantly moving irrelevant text. This is what pushed me to create this addon. Take back control of your chat! This addon lets you:
1. Block any message by keyword(s) or RegEx. No more seeing ads from boosters or gold sellers!
2. Provides out of the box spam guard. Say goodbye to duplicate messages!
3. Chat search. Quickly find anything you want in any chat frame.
4. Transparency, see everything that gets filtered, why its getting filtered and how often so you can create perfectly balanced filters to suite your needs.
5. And more!

  Message Filtering
  - Create keyword rules to hide, show, or highlight messages
  - AND/OR keyword groups with per-rule channel targeting
  - Regex pattern support for advanced matching
  - Per-window filter overrides — each chat tab can have its own rules
  - Session hit counters per rule and per keyword so you know what's firing

  Spam Guard
  - Automatically suppresses repeated identical messages within a configurable time window
  - Per-channel toggle (Say, Yell, General, Trade, etc.)

  Chat Window Search
  - Search icon next to each chat window — click to expand into a live search box
  - Filters visible messages in real time as you type
  - Clears back to normal when dismissed

  Player History
  - Automatically tracks group interactions and whispers for every player you encounter
  - Shift-click any name in chat to view their full interaction history
  - Player Directory (/tcp players) — searchable, sortable table of everyone you have history with
  - Columns: Player, First Seen, Last Seen, Interactions, Whispers
  - Click any row to open that player's detail view side-by-side

  Class Colors
  - Colorizes author names in chat by class
  - Optional bold font for colored names

  Timestamps
  - Adds configurable timestamps to every chat message
  - Per-window toggle

  Other
  - Minimap button for quick access to settings
  - Per chat window settings popup (gear icon on each frame)
  - Filtered message log — click the suppressed count badge to review what was hidden and why

  Commands
  - /tcp — open settings
  - /tcp players — open Player Directory
  - /tcp toggle — enable/disable the addon
  - /tcp search keyword — search recent message history

  Notes
  - Designed for TBC Classic Anniversary
  - All settings are per-character and saved across sessions
  - Filter hit counts reset each session

 

Changelog — v1.3.10

  The first release since v1.2.0; consolidates everything from the recent debug-and-iterate cycle.

  Fixed

  - Critical: enabling Spam Guard from the global Options panel was blocking every message instead of just duplicates.
  Chat-filter callbacks fan out per chat frame, so the same logical message was tallied N times against the threshold and
  tripped on the first dispatch. Multi-frame dedupe via lineID, plus a same-instant fingerprint check as defense-in-depth.
  (Thanks Vanih for the report and repro.)
  - Drip spammers (15–60s repeat pacing) slipped past the previous 5-second detection window. Default time window is now 60
  seconds, and once a sender's same message trips the threshold once, a 5-minute lockdown mutes every subsequent copy
  regardless of pacing.
  - Filtered Messages dialog: "N entries" and "N suppressed total" now reflect the same global count instead of diverging
  once the per-frame buffer hit its cap.
  - SPAM tooltip now shows the actual channel name ("General", "Trade - City", etc.) for world-channel messages instead of
  the literal "CHANNEL".
  - Channel labels in the dialog now include the WoW channel index ("2. Trade - City") to match the "[N]" prefix shown in
  your chat frame — makes cross-channel spam runs distinguishable at a glance.
  - Cross-poster channel labels now match reality: the spam hash is per-(author, channel, message), so a label of "Trade -
  City" actually corresponds to a Trade-City post (not a cross-channel collision).
  - Settings panel version display was stuck at v1.1.0 because the in-code VERSION constant lagged behind the .toc. Both are
   now in sync.
  - Quick filter chip re-toggle: a Lua (cond and nil or false) pitfall caused channel chips to stick in the off state after
  a single click. Replaced with explicit if/else.

  Added

  - Search field in the Filtered Messages dialog — live filters by message text, author, channel label, and rule name.
  - Quick filter chips for SPAM, FILTER, and each channel that has entries. Each chip shows its hit count and toggles
  independently.
  - Real-time refresh of the Filtered Messages dialog as new entries arrive (150ms coalescing for burst spam).
  - Stable chip order across real-time refreshes — new channels append at the end; existing chips keep their position until
  you reopen the dialog.
  - Per-row channel tag on every filtered entry, plus a ? help affordance in the dialog header explaining how channel labels
   map to chat-frame indices.
  - FILTER tooltip now lists the matched keywords below the rule name.
  - Spam Guard settings tab — hint text under each slider explaining what it controls and how lockdown interacts with the
  time window.
  - Startup grace (8s after entering world) — chat-history replay from addons like ElvUI no longer floods the Filtered
  Messages dialog with fresh-timestamped "history" suppressions on login. Spam guard state still tracks during grace, so the
   first post-grace duplicate still gets caught.

  Changed

  - Spam Guard is now enabled exclusively per chat frame via the gear icon. The global "Enable spam guard" checkbox and the
  channels-list section have been removed from Options. The Spam Guard tab now contains only the threshold sliders, which
  apply wherever spam guard is enabled per-frame.
  - Spam Guard applies to SAY, YELL, and world channels only. Whispers and party/raid/guild/officer chat are never
  auto-suppressed.
  - Defaults: window 60s (was 5s), threshold 2 (was 3). Existing installs are migrated to the new defaults on first launch.
  - Time-window slider range is now 5-180s (was 2-30s).
  - Chat-frame badge counters now show filtered messages across ALL chat frames, not per-frame. Tooltip clarifies "(all
  frames)".
  - Filtered Messages dialog now shows a global list across all frames (capped at the most recent 500 entries).
  - Removed the horizontal scroll bar and the "Shift+wheel · scroll wide" footer hint. Long messages wrap to the visible
  width

 

Special Thanks

  ▎ Vanih (Nightslayer) — reported and helped reproduce the global Spam Guard regression that was suppressing every chat message instead of just duplicates. The fix in v1.3.10 release is a direct result of his testing.

The Bullshfter's TBC Chat Pro Team

profile avatar
  • 1
    Projects
  • 30
    Downloads
Donate