Detect swear words, and handle strings containing them. Smart Detection helps to detect words using leetspeak, or any other word circumvention methods.
npm install swearfilternpm i swearfilter --save
Filter class!
js
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.
`js
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.
`js
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]"
``