ChattyChannels is a free chat plugin for Paper and Spigot, from 1.17 to 26.x. It gives your server chat channels with their own range and permissions, private messages, ignore lists and a friends list, plus spam and word filters, timed mutes and a staff spy view.
How it works in play
- Channels: global, local (100 blocks), trade and staff are set up on first start. Players join local by default and switch with /channel <id>.
- Quick prefixes: start a message with ! to send it to global, # to trade or @ to staff, without leaving your current channel.
- Hiding channels: /cc hide #trade stops a channel from showing on your screen; /cc show brings it back and /cc hidden lists what you've hidden.
- Private messages: /msg (also /tell, /w) and /r to reply. /ignore blocks a player's messages.
- Friends: /friend add sends a request that the other player accepts or denies. Friends get an alert when you join, and requests expire after 7 days.
Moderation
- Timed mutes: /mute <player> <channel> <duration> with durations like 10m, 2h or 1d; use * as the channel to mute everywhere. The mute runs out on its own and keeps counting through restarts.
- Spam filter: blocks the same message twice within 5 seconds, messages that are 70% capitals, and more than 4 messages in 5 seconds. All thresholds are in config.yml.
- Word filter: replace listed words with **** or block the message.
- Staff tools: /chatspy shows every channel at once, /clearchat clears chat for everyone, and channel and private messages are written to log files.
How to use it
- Install: drop the jar into /plugins and restart once. English is the default; set language: es for Spanish.
- Edit the channels in channels.yml. Each one has a display name, quick prefix, format, range (-1 for the whole server), permission and cooldown. Formats accept PlaceholderAPI placeholders such as %luckperms_prefix%.
- Set the filters and the word list in config.yml.
- Apply changes with /cc reload.
Commands and permissions
- Everyone: /channel, /channels, /cc hide|show|hidden, /msg, /r, /ignore, /friend.
- Each channel has its own permission, chatchannels.use.<channel>. Staff is operators only by default.
- Operators: chatchannels.mute, chatchannels.spy, chatchannels.clearchat, and chatchannels.bypass.cooldown / chatchannels.bypass.filter.
Placeholders
With PlaceholderAPI installed: %chatchannels_active% (the player's current channel) and %chatchannels_muted%.
Requirements
- Paper or Spigot from 1.17 to 26.x, forks like Purpur included, on the Java version your server already uses.
- On Spigot, colours and hex work in channel formats; hover and click tags need Paper.
- Optional: PlaceholderAPI, for placeholders in channel formats and for the plugin's own placeholders.
- Optional: MySQL, for private messages between servers on a proxy network.
FAQ
Can a player be muted in trade but still talk elsewhere?
Yes. /mute Steve trade 1h mutes them in trade only; /mute Steve * 1h mutes them everywhere.
Do mutes wear off if the server restarts?
No. They're saved and keep counting down.
Can I add a town or roleplay channel?
Yes. Add a block to channels.yml with a range in blocks and its own permission.
Can I translate the messages?
Yes. English and Spanish are included in lang/, in MiniMessage, and missing keys fall back to English.
For questions or bug reports, use the discussion tab on this page or our Discord.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.17, 1.18, 1.19
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
ChattyChannels is a free Minecraft Java mod. Compatible with Minecraft 1.17, 1.18, 1.19, 1.20 and newer. Downloaded 2 times (via Spigot). Download it and open it directly in the game.