Skip to content

Private Channel Configuration

Bruno Martins edited this page Mar 15, 2026 · 1 revision

HeroChat supports private messaging between players through a configurable Private Channel system. This allows for features like /tell, /reply, and maintaining private conversation context.

The configuration for the private channel is found in channels/tell.json, here we describe the fields available for configuring the private messaging behavior.

Configuration Fields

Name

  • Type: String
  • Default: "Whisper"
  • Description: The display name of the private channel.

Commands

  • Type: Array<String>
  • Default: ["tell", "msg", "w", "whisper", "pm"]
  • Description: A list of commands used to initiate a private message or conversation.

ReplyCommands

  • Type: Array<String>
  • Default: ["reply", "r"]
  • Description: A list of commands used to reply to the last received private message.

SenderFormat

  • Type: String
  • Default: "Message to {target_username}{#555555}{bold}> {#AAAAAA}{message}"
  • Description: The format of the message as seen by the sender.

ReceiverFormat

  • Type: String
  • Default: "Message from {player_username}{#555555}{bold}> {#AAAAAA}{message}"
  • Description: The format of the message as seen by the receiver.

Permission

  • Type: String (Optional)
  • Default: null
  • Description: The permission node required to use private messaging. If not specified, all players can use it.

CapslockFilter

  • Type: Object
  • Description: Configuration for the capslock filter on private messages.
    • Enabled: Boolean (Default: true)
    • Percentage: Integer (Default: 50)
    • MinLength: Integer (Default: 5)

Cooldowns

  • Type: Map<String, Long>
  • Default: {}
  • Description: A map of permission nodes to cooldowns (in milliseconds) for private messages.

Components

  • Type: Map<String, Object>
  • Default: {}
  • Description: Custom components available for use in the SenderFormat and ReceiverFormat.

Features & Behavior

  • Context: When a player sends a private message using a command like /tell <player>, their "focused" channel can be updated to the private channel, allowing subsequent messages to be sent to the same target without re-typing the command.
  • Reply: The /reply command automatically targets the last player who sent a private message to the user.

Example Configuration

{
  "Name": "Whisper",
  "Commands": [
    "tell",
    "w",
    "whisper"
  ],
  "ReplyCommands": [
    "r",
    "reply"
  ],
  "SenderFormat": "Message to {target_username}{#555555}{bold}> {#aaa}{message}",
  "ReceiverFormat": "Message from {player_username}{#555555}{bold}> {#AAAAAA}{message}",
  "Permission": "herochat.private",
  "CapslockFilter": {
    "Enabled": true,
    "Percentage": 50,
    "MinLength": 5
  },
  "Cooldowns": {
    "default": 1000,
    "vip": 500
  },
  "Components": {}
}

Clone this wiki locally