Skip to content

Detect swear words, and handle strings containing them. Smart Detection helps to detect words using leetspeak, or any other word circumvention methods.

License

Notifications You must be signed in to change notification settings

WillTDA/Node-Swearfilter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🤬 Swear Filter 🤬

Swear Filter is designed to detect swear words, and handle strings containing them.

NPM

Downloads Discord Server

Features

  • 🧠 Smart Detection | Detects words using leetspeak, or any other filter loopholes. It can also fix the Scunthorpe Problem, meaning words like "grass" won't get flagged.

  • 💬 Base Filter | This package contains a base filter, and when chosen to be activated, will allow you to detect approximately 2,000 swear words.

  • 📝 Very Customizable | You can easily add or remove words from the filter.

  • 📦 Quick and Easy Setup | Setting up a filter takes only a few seconds.

  • 🚫 No Dependencies | This package does not rely on any other packages to provide its functionality, making installation fast and the package size small.

Install Package

To install this powerful word-filtering tool, open your project's terminal and type:

npm i swearfilter --save

Creating a Filter

Creating a new filter is really quick and easy. Simply create a new instance of the Filter class!

const Filter = require("swearfilter");

const filter = new Filter({
    swearWords: ["bad", "words", "here"], // Add your own custom words here.
    smartDetect: true, // Enable smart detection. (Defaults to true)
    baseFilter: {
        useBaseFilter: true, // Disable the base filter. (Defaults to false)
        uncensoredWords: ["words", "to", "ignore"] // Specify words to ignore here.
   }
});

Filter Methods

  • Filter#test(string)

    The test() method will test a string to see if it contains any bad words.

    Any bad words that were found will be returned in an array of FilterResponse objects, which also contain the type of filter that picked them up.

    const Filter = require("swearfilter");
    
    const filter = new Filter({
        swearWords: ["bad", "words", "here"],
        smartDetect: true,
        baseFilter: {
            useBaseFilter: true,
            uncensoredWords: ["words", "to", "ignore"]
       }
    });
    
    filter.test("thisisbad");
    // => [ { word: 'bad', filter: 'custom' } ]
    
    filter.test("b @ d");
    // => [ { word: 'bad', filter: 'custom' } ]
    
    filter.test("b;a,..;a;.,;,d;,a.;,d;,B,;a,;D;;;g;h:f;;;d,;d");
    // => [ { word: 'bad', filter: 'custom' } ]

  • Filter#censor(string, options)

    The censor() method will replace any bad words found in a string with masks.

    You can specify the string to use when masking a bad word, and the type of masking to use.

    const Filter = require("swearfilter");
    
    const filter = new Filter({
        swearWords: ["frick", "beach", "bad"],
        smartDetect: true,
        baseFilter: {
            useBaseFilter: true,
            uncensoredWords: ["words", "to", "ignore"]
       }
    });
    
    filter.censor("Hey, frick you beach, you are bad", { mask: "*", type: "character" }); // Censors all characters in bad words with "*".
    // => "Hey, ***** you *****, you are ***"
    
    filter.censor("Hey, frick you beach, you are bad", { mask: "[bleep]", type: "word" }); // Censors all words in bad words with "[bleep]".
    // => "Hey, [bleep] you [bleep], you are [bleep]"

Contact Us

About

Detect swear words, and handle strings containing them. Smart Detection helps to detect words using leetspeak, or any other word circumvention methods.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published