Package Exports
- abuse-detection
- abuse-detection/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (abuse-detection) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Abuse Detection
A Node.js package to detect abusive words in multiple languages.
Installation
npm install abuse-detectionUsage
const {
detectAbuse,
addCustomWords,
removeCustomWords,
} = require("abuse-detection");
// Detect abuse in English (default)
console.log(detectAbuse("This is a fucking test"));
// Output: { hasAbusiveWords: true, abusiveWords: ['fucking'], abusiveWordCount: 1 }
// Detect abuse in Spanish
console.log(detectAbuse("Esto es una prueba de mierda", "es"));
// Output: { hasAbusiveWords: true, abusiveWords: ['mierda'], abusiveWordCount: 1 }
// Detect abuse in French
console.log(detectAbuse("C'est un test de merde", "fr"));
// Output: { hasAbusiveWords: true, abusiveWords: ['merde'], abusiveWordCount: 1 }
// Detect abuse in German
console.log(detectAbuse("Das ist ein scheiße Test", "de"));
// Output: { hasAbusiveWords: true, abusiveWords: ['scheiße'], abusiveWordCount: 1 }
// Clean text
console.log(detectAbuse("This is a clean test"));
// Output: { hasAbusiveWords: false, abusiveWords: [], abusiveWordCount: 0 }
// Add custom abusive words
addCustomWords(["badword", "verybadword"], "en");
console.log(detectAbuse("This is a badword test"));
// Output: { hasAbusiveWords: true, abusiveWords: ['badword'], abusiveWordCount: 1 }
// Remove custom abusive words
removeCustomWords(["badword"], "en");
console.log(detectAbuse("This is a badword test"));
// Output: { hasAbusiveWords: false, abusiveWords: [], abusiveWordCount: 0 }Supported Languages
- English (en)
- Spanish (es)
- French (fr)
- German (de)
- Italian (it)
- Portuguese (pt)
- Dutch (nl)
- Russian (ru)
- Chinese (Simplified) (zh)
- Japanese (ja)
- Korean (ko)
- Arabic (ar)
- Hindi (hi)
Adding New Languages
To add support for a new language:
- Create a new file named
abusive-words-[lang-code].jsin thedatadirectory. - Export an array of abusive words in the new language.
- Import the new file in
src/index.jsand add it to theabusiveWordsobject.
API
detectAbuse(text, language = 'en')
Detects abusive words in the given text.
text(string): The text to check for abusive words.language(string, optional): The language code (default: 'en').
Returns an object with:
hasAbusiveWords(boolean): Whether abusive words were found.abusiveWords(array): List of abusive words found.abusiveWordCount(number): Number of abusive words found.
addCustomWords(words, language = 'en')
Adds custom words to the list of abusive words for a specific language.
words(array): Array of words to add.language(string, optional): The language code (default: 'en').
removeCustomWords(words, language = 'en')
Removes custom words from the list of abusive words for a specific language.
words(array): Array of words to remove.language(string, optional): The language code (default: 'en').
Running Tests
To run the tests:
npm testLicense
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request