No Spam Please

NoSpamPlease is a lightweight addon for World of Warcraft that blocks chat spam using custom player-defined keywords. It supports all major game versions, features a multilingual interface, real-time filtering, and tracks blocked messages per session.

File Details

NoSpamPlease_11-04-26.zip

  • R
  • Apr 11, 2026
  • 25.80 KB
  • 474
  • 12.0.5+4
  • Classic + 3

File Name

NoSpamPlease_11-04-26.zip

Supported Versions

  • 12.0.5
  • 12.0.1
  • 5.5.3
  • 2.5.5
  • 1.15.8
[2.4.0] — current

Added

- Master toggle — `NoSpamDB.filterEnabled` and UI checkbox Enable chat filtering; `/nospam on`, `/nospam off`, `/nospam filter` / `togglefilter` to pause or resume filtering without losing keywords
- Filter only custom channels — optional mode: only `CHAT_MSG_CHANNEL` and `CHAT_MSG_COMMUNITIES_CHANNEL` are filtered (Say, Yell, Party, Guild, Whisper, etc. pass through)
- Whole words only — optional plain-text mode: keywords match as whole tokens (ignored when Lua patterns are enabled)
- Throttled keyword list refresh — when the settings window is open, session hit counters refresh at most about four times per second instead of on every blocked message
- Slash commands — `/nospam add` comma-separated keywords; `/nospam export` prints a tab-separated list (chunked for chat length); `/nospam import` text merges keywords (tab- or comma-separated)
- Keyword helpers — `NSP.AddKeywordsFromString`, `NSP.TryAddSingleKeyword`, `NSP.ImportKeywordsFromDelimitedString`, `NSP.GetKeywordsExportString` for GUI and slash reuse
- Player whitelist entries — stored as `{ key, name }` after one-time migration from legacy strings; list UI shows the display name while matching stays key-based
- Localization fallbacks — non-English locale tables use `__index` to `enUS` for any missing string keys
- Strings (EN/RU/UA plus EN fallback for others): filter options, slash messages, icon tooltip slash hint, tooltips for new options

Changed

- Settings window height increased (380×860) for the new filter options; GUI init is skipped if `NoSpamConfigFrame` already exists (safe against double init)
- Checkbox saved flags — pattern/whitelist/channel/player options now store strict booleans from `GetChecked()`
- `SLASH_HELP` — extended to document the new commands (other languages fall back to English until translated)

Fixed

- CreateCheckbox `SetChecked` / saved values remain consistent when using explicit `== true` checks elsewhere