{"id":21153153,"url":"https://github.com/evolsoft/chatcensor","last_synced_at":"2025-07-09T10:33:34.331Z","repository":{"id":25117143,"uuid":"28538685","full_name":"EvolSoft/ChatCensor","owner":"EvolSoft","description":"A powerful chat censoring plugin for PocketMine-MP","archived":false,"fork":false,"pushed_at":"2020-12-05T14:56:48.000Z","size":51,"stargazers_count":12,"open_issues_count":3,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-04T22:22:55.566Z","etag":null,"topics":["php","plugin","pocketmine-mp"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EvolSoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-27T14:38:58.000Z","updated_at":"2023-06-06T04:09:44.000Z","dependencies_parsed_at":"2022-08-23T19:40:24.295Z","dependency_job_id":null,"html_url":"https://github.com/EvolSoft/ChatCensor","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/EvolSoft/ChatCensor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvolSoft%2FChatCensor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvolSoft%2FChatCensor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvolSoft%2FChatCensor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvolSoft%2FChatCensor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EvolSoft","download_url":"https://codeload.github.com/EvolSoft/ChatCensor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvolSoft%2FChatCensor/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264440481,"owners_count":23608720,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","plugin","pocketmine-mp"],"created_at":"2024-11-20T10:49:12.818Z","updated_at":"2025-07-09T10:33:34.028Z","avatar_url":"https://github.com/EvolSoft.png","language":"PHP","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=flavius.c.1999@gmail.com\u0026lc=US\u0026item_name=www.evolsoft.tk\u0026no_note=0\u0026cn=\u0026curency_code=EUR\u0026bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted"],"categories":[],"sub_categories":[],"readme":"![start2](https://cloud.githubusercontent.com/assets/10303538/6315586/9463fa5c-ba06-11e4-8f30-ce7d8219c27d.png)\n\n# ChatCensor\n\nA powerful chat censoring plugin for PocketMine-MP\n\n[![Download!](https://user-images.githubusercontent.com/10297075/101246002-cb046780-3710-11eb-950f-ba06934b8138.png)](http://gestyy.com/er3sBt)\n\n## Category\n\nPocketMine-MP plugins\n\n## Requirements\n\nPocketMine-MP API 3.0.0\n\n## Overview\n\n**ChatCensor** let you block censored words, IP addresses, websites, spam, caps, set allowed and unallowed characters and mute/unmute players in chat.\nYou can also easily customize actions for each censored word.\n\n***Features:***\n\n- *Word censor:* block censored words on chat or even on commands!\n- *URL/IP censor:* prevent players from sending IP addresses or URLs on chat\n- *Anti-caps:* remove caps from messages or block them\n- *Anti-spam:* advanced anti-spam check which will prevent players from sending the same message twice or spamming on chat\n- *Mute/Unmute players:* temporarily or permanently mute players on chat\n- *Maximum message length:* prevent players from sending long messages\n- *Allowed/Unallowed characters:* limit allowed characters on messages\n- Customizable user-side messages\n\n**EvolSoft Website:** https://www.evolsoft.tk\n\n***This Plugin uses the New API. You can't install it on old versions of PocketMine.***\n\n## Donate\n\nPlease support the development of this plugin with a small donation by clicking [:dollar: here](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=flavius.c.1999@gmail.com\u0026lc=US\u0026item_name=www.evolsoft.tk\u0026no_note=0\u0026cn=\u0026curency_code=EUR\u0026bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted). \nYour small donation will help me paying web hosting, domains, buying programs (such as IDEs, debuggers, etc...) and new hardware to improve software development. Thank you :smile:\n\n## Documentation\n\n**Configuration (config.yml):**\n\n```yaml\n---\n# Censor settings\ncensor:\n # Enable censor\n enabled: true\n # Let players with chatcensor.bypass.censor permission bypass this restriction\n allow-bypassing: false\n # Check bad words inside words (may slightly slow down your server)\n advanced-mode: false\n # Check commands\n check-commands: false\n # Log message to player\n log-to-player: true\n # Block messages containing URLs (a message will be sent to the player if log-to-player is enabled)\n block-urls: true\n # Block messages containing IP addresses (a message will be sent to the player if log-to-player is enabled)\n block-ips: true\n# Anti-caps settings\nanti-caps:\n # Enable anti-caps\n enabled: true\n # Let players with chatcensor.bypass.anti-caps permission bypass this restriction\n allow-bypassing: false\n # Log message to player\n log-to-player: true\n # Block the message (if block-message is disabled, the message will be converted to lower case)\n block-message: true\n# Anti-spam settings\nanti-spam:\n # Enable anti-spam\n enabled: true\n # Let players with chatcensor.bypass.anti-spam permission bypass this restriction\n allow-bypassing: false\n # Log message to player\n log-to-player: true\n # Spam checking mode (0 = the same message can't be repeated, 1 = delayed spam checking, 2 = both)\n mode: 1\n # Delay (in seconds)\n delay: 5\n# Mute/Unmute settings\nmute:\n # Log the mute message to the player\n log-mute: true\n # Log the unmute message to the player\n log-unmute: true\n # Log message to player\n log-to-player: true\n # Default mute time\n time: \"30m\"\n# Characters/Message checking settings\nchar-check:\n # Enable characters/message checking\n enabled: true\n # Let players with chatcensor.bypass.char-check permission bypass this restriction\n allow-bypassing: false\n # Log message to player\n log-to-player: true\n # Maximum message length (set to 0 to disable this feature)\n max-length: 0\n # Allow backslash in messages\n allow-backslash: false\n # Allowed characters in messages (set to \"\" to disable this feature)\n allowed-chars: \"QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890.:,;-_|!/?\"\n # Unallowed characters in messages (set to \"\" to disable this feature)\n unallowed-chars: \"\"\n...\n```\n\n**Messages (messages.yml):**\n\n```yaml\n---\n# No URLs message\nno-urls: \"{PREFIX} \u0026cYou can't send URLs on messages!\"\n# No IP addresses message\nno-ips: \"{PREFIX} \u0026cYou can't send IP addresses on messages!\"\n# No swearing message\nno-swearing: \"{PREFIX} \u0026cPlease don't swear!\"\n# No caps message\nno-caps: \"{PREFIX} \u0026cUppercase characters are not allowed on messages\"\n# Invalid/Unallowed characters message\ninvalid: \"{PREFIX} \u0026cYou can't send this message because it contains invalid characters\"\n# Message too long message\ntoo-long: \"{PREFIX} \u0026cYou can't send this message because it's too long\"\n# No spam message\nno-spam: \"{PREFIX} \u0026cPlease don't spam\"\n# Spam delay message\nspam-delay: \"{PREFIX} \u0026cPlease wait \u0026e{DELAY} seconds\u0026c before sending another message\"\n# Muted message (when the muted player tries to send a message)\nmuted-error: \"{PREFIX} \u0026cYou can't send message because you are muted\"\n# Muted message\nmuted: \"{PREFIX} \u0026cYou have been muted for \u0026e{DURATION}\u0026c by \u0026e{PLAYER}\u0026c!\"\n# Unmuted message\nunmuted: \"{PREFIX} \u0026cYou have been unmuted by \u0026e{PLAYER}\u0026c!\"\n...\n```\n\n**Add and configure a denied word:**\n\n1. Run the command \"/addword \u0026lt;word\u0026gt;\"\u003cbr\u003e\n2. Go to ChatCensor plugin directory and open \"words.yml\" file\u003cbr\u003e\n3. Find the world in the list and customize its settings\n\nThese are the censored word settings:\n\n```yaml\n---\n# Delete the message containing the word\ndelete-message: false\n# Replace the censored word\nenable-replace: true\n# The text which will replace the censored word\nreplace-word: \"****\"\n# List of commands to execute\n# Available tags:\n#  - {PLAYER}: Player name of the player who sent the message containing the censored word\n# Example:\n#  commands:\n#  - \"tell {PLAYER} Do not swear please!\"\n#  - \"ban {PLAYER}\"\ncommands: []\n...\n```\n\n**Commands:**\n\n\u003cdd\u003e\u003ci\u003e\u003cb\u003e/chatcensor\u003c/b\u003e - ChatCensor commands (aliases: [cc, chatc, censor])\u003c/i\u003e\u003c/dd\u003e\n\u003cdd\u003e\u003ci\u003e\u003cb\u003e/addword \u0026lt;word\u0026gt;\u003c/b\u003e - Add a censored word\u003c/i\u003e\u003c/dd\u003e\n\u003cdd\u003e\u003ci\u003e\u003cb\u003e/removeword \u0026lt;word\u0026gt;\u003c/b\u003e - Remove a censored word\u003c/i\u003e\u003c/dd\u003e\n\u003cdd\u003e\u003ci\u003e\u003cb\u003e/mute \u0026lt;player\u0026gt;\u003c/b\u003e - Mute player\u003c/i\u003e\u003c/dd\u003e\n\u003cdd\u003e\u003ci\u003e\u003cb\u003e/unmute \u0026lt;player\u0026gt;\u003c/b\u003e - Unmute player\u003c/i\u003e\u003c/dd\u003e\n\u003cdd\u003e\u003ci\u003e\u003cb\u003e/listmuted\u003c/b\u003e - Get the list of muted players\u003c/i\u003e\u003c/dd\u003e\n\u003cbr\u003e\n\n**Permissions:**\n\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.*\u003c/b\u003e - ChatCensor permission tree.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.bypass.*\u003c/b\u003e - Bypass ChatCensor features.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.bypass.censor\u003c/b\u003e - Bypass ChatCensor word censor feature.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.bypass.anti-caps\u003c/b\u003e - Bypass ChatCensor anti-caps feature.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.bypass.char-check\u003c/b\u003e - Bypass ChatCensor char-check feature.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.bypass.anti-spam\u003c/b\u003e - Bypass ChatCensor spam-check feature.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.commands.*\u003c/b\u003e - ChatCensor commands permission tree.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.commands.help\u003c/b\u003e - Let player read ChatCensor commands help.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.commands.info\u003c/b\u003e - Let player read info about ChatCensor.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.commands.reload\u003c/b\u003e - Let player reload ChatCensor configuration.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.commands.addword\u003c/b\u003e - Let player add a censored word.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.commands.removeword\u003c/b\u003e - Let player remove a censored word.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.commands.mute\u003c/b\u003e - Let player mute a player.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.commands.unmute\u003c/b\u003e - Let player unmute a player.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003echatcensor.commands.listmuted\u003c/b\u003e - Let player show the list of muted players.\u003c/i\u003e\u003c/dd\u003e\n\n## API\n\nAlmost all our plugins have API access to widely extend their features.\n\nTo access ChatCensor API:\u003cbr\u003e\n*1. Define the plugin dependency in plugin.yml (you can check if ChatCensor is installed in different ways):*\n\n```yaml\ndepend: [ChatCensor]\n```\n\n*2. Include ChatCensor API in your plugin code:*\n\n```php\n//ChatCensor API\nuse ChatCensor\\ChatCensor;\n```\n\n*3. Access the API by doing:*\n\n```php\nChatCensor::getAPI()\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevolsoft%2Fchatcensor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevolsoft%2Fchatcensor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevolsoft%2Fchatcensor/lists"}