Chat & Social

ChattyChannels

Channels, private messages, ignore and friends in one

ChattyChannels cover

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.

ChattyChannels: canalesChattyChannels: privadosChattyChannels: funcionesChattyChannels: como se usaChattyChannels: cifras

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%.

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.

Commands

CommandWhat it does
/channelSwitch your active chat channel
/channelsList available chat channels
/muteMute a player from a channel
/unmuteLift a player's mute
/chatspyToggle chat spy mode
/clearchatClear the visible chat for all players
/ccChattyChannels admin and player commands
/msgSend a private message
/replyReply to the last private message
/ignoreIgnore or un-ignore a player
/friendFriends system

Full command and permission reference in the docs ↗