Skip to content

Repository files navigation

ProfanityLib

ProfanityLib is a lightweight profanity matching library for World of Warcraft addons.

It checks user-supplied strings — character names, guild names, last words — against a curated slur wordlist, so addons that display data from other players can filter out offensive content before showing it.

What This Library Provides

  • ProfanityLib:IsProfane(text) — returns whether a string matches, plus the matched term
  • ProfanityLib:Clean(text) — the inverse, for readable call sites
  • ProfanityLib:AddTerm(term, exact) — extend the wordlist at runtime
  • Leetspeak folding (0→o, 1→i, 3→e, 4→a, 5→s, 7→t, $→s, @→a, !→i) so obfuscated spellings still match
  • Substring terms plus whole-word-only terms for short, collision-prone words, plus an exception list for benign words that contain a term ("therapist")

Design

The wordlist ships as its own data package (ProfanityLibData) and covers racial, antisemitic, anti-LGBT, and ableist slurs plus Nazi and sexual-abuse references. Every term was validated against a corpus of 808,940 real character names and 17,205 guild names extracted from Deathlog's death databases: the list flags 78 of 826,145 corpus strings, all genuinely offensive. Candidate terms that collided with legitimate names (heeb → Pheebe, yid → Sayid, chink → Schinkenpelz…) were demoted to whole-word-only matching or dropped; the reasoning for each is documented in the data package. Matching a legitimate player name is treated as worse than missing an obfuscated slur.

Who Should Install This

  • You normally do not install this directly — addons that use it either embed it or list it as a dependency.
  • No UI, no slash commands, no standalone player-facing functionality.

Used By

  • Deathlog — filters offensive character names, guild names, and last words

Links

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages