Skip to content

Fixed: Better filter that isn't as over censoring words that aren't profane #183

@20vision

Description

@20vision

// Chat Gpt wouldn't give me a new list of profane words but it would give me those who are not profane, so here the fix:

class CustomFilter extends Filter {
constructor() {
super();

// Words to remove from filter - these are legitimate in most contexts
const wordsToRemove = [
  // Common expressions
  'god', 'hell', 'damn', 'bloody',
  
  // Medical/anatomical terms
  'breast', 'breasts', 'penis', 'vagina', 'vulva',
  'rectum', 'testicle', 'testical', 'labia',
  
  // Scientific/Medical/Identity
  'sex', 'homo', 'gay', 'sexual', 'masochist', 'sadist',
  
  // Common words with multiple meanings
  'wang', 'cox', 'pawn', 'balls', 'nuts',
  'butt', 'bum', 'queen', 'master',
  
  // Medical terms
  'orgasm', 'orgasms', 'orgasim', 'orgasims',
  'semen', 'sperm', 'ejaculate', 'ejaculation',
  
  // Actions/states
  'lust', 'lusting', 'screwing',
  
  // Health/Medical terms
  'porn', 'porno', 'pornography', 
  'viagra', 
  'condom', 'kondums', 'kondum',
  
  // Common verbs/nouns with non-offensive meanings
  'bang', 'bone', 'hook', 'hit',
  'pound', 'pump', 'rim', 'screw',
  'stroke', 'wrap', 'dick',
  
  // Animals/Nature
  'beaver', 'cock', 'pig', 'snake',
  
  // Objects/Tools
  'box', 'chain', 'hammer', 'pipe', 'tool',
  
  // Actions
  'bang', 'beat', 'nail', 'pound', 'pump',
  'ram', 'screw', 'stroke', 'suck', 'tackle'
];

// Remove all specified words
this.removeWords(...wordsToRemove);

// Remove common variants
wordsToRemove.forEach(word => {
  this.removeWords(
    `${word}s`,
    `${word}ing`,
    `${word}ed`,
    word.replace(/a/g, '4'),
    word.replace(/i/g, '1'),
    word.replace(/o/g, '0')
  );
});

}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions