Skip to content

ReinfyTeam/ProfanityFilter

Repository files navigation

A best profanity filter for pocketmine. Controls hate speech and blocks bad words in certain on the chat.

Are you tired of someone always cursing, saying offensive words in the chat? Are the players too toxic? Do you want to punish them?
Well, this plugin might help you. ProfanityFilter can destroy toxic players, punish them to your server!
It's configurable and easy to use. You can manually add words easily at the game.


Wiki/Documentation | Poggit | Github Repository | Create an issue. | Discussions | Create a pull request.

Features

  • Commando-based /pf command suite with pmforms GUI (view/add/remove/toggle/reload) for in-game management.
  • Choose between the bundled profanity list (profanity: provided) or your own custom list in plugin_data/ProfanityFilter/profanity.yml (banned-words section); the provided list is refreshed and kept immutable on startup.
  • Two filter modes: block (cancel the message) or hide (mask with a replacement character) with customizable warning text.
  • Punishment pipeline with violation counter supporting kick, timed ban (ban-duration), or custom commands (console or player) after max-violations.
  • Configurable permissions (command-permission, bypass-permission), update checker toggle, and language system (English & Vietnamese, or add your own).

Commands

  • /pf help - show available subcommands.
  • /pf ui - open the management UI (in-game only).
  • /pf list - list banned words (custom list).
  • /pf add <word> - add a word to the custom list.
  • /pf remove <word> - remove a word.
  • /pf toggle - enable/disable filtering until reload.
  • /pf reload - reload plugin and profanity configs.

Default command permission: profanityfilter.command (configurable). Bypass chat filtering with profanityfilter.bypass.

Configuration highlights

  • profanity: custom to use banned-words.yml, or provided to use the bundled list.
  • type: block to cancel profane messages, hide to mask them with replacementCharacter.
  • replacementCharacter: single character used when hiding profanities.
  • max-violations, punishment-type (kick|ban|command), ban-duration, execute-as-player, command: tune the punishment pipeline.
  • lang: eng, vie, or custom (create languages/custom.yml).
  • check-updates: enable/disable remote update checks.

How to Install?

  • Download this plugin on poggit.
  • Just put this plugin in under your plugins/ folder, and it should work!
  • You can configure the plugin by accessing plugin_data/ProfanityFilter/config.yml
  • You can manage words by accessing plugin_data/ProfanityFilter/profanity.yml under the banned-words section.

Changelog

Current pre-release: 0.2.0-beta. See changelogs/v0.2.x.md for the latest release notes.

Report a Issue/Bug

You found a bug or a plugin issue?

  • Contact support in the Discord Server
  • Create an Issue
  • Write your bug & the issue you are having with all informations including the crash or errors so I can track the issue.
  • Submit the issue and be patient for a response for a solution to your problem :D

Disclaimer

This plugin was designed and work in pocketmine. If you are using fork/spoon of PocketMine-MP. Your issues will automatically closed.

Screenshots

Contributors and Collaborators

Name Contributors
NhanAZ Maintained this Plugin and helped me alot of things like syntax, languages and code improvement.
KanadeDev Helped me alot of language files, and fixed alot of couple things in first release.
Reinfy He implemented some things and fixing and adjusting features, suggesting some improvements.
kotyaralih Made more translation to the language files.

About

A best profanity filter for pocketmine. Controls hate speech and blocks bad words in certain on the chat with plugin api for plugin developers!

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors

Languages