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