Chat Reply
PluginApache-2.0

Chat Reply

Minecraft keyword auto-reply plugin — when players send specific messages in chat, the server automatically sends configured replies. Supports Paper / Spigot / Folia 1.20+

176
Downloads
1
Followers
2 weeks ago
Updated
📦
5
Versions

📖About Chat Reply

ChatReply

Minecraft keyword auto-reply plugin — when players send specific messages in chat, the server automatically sends configured replies. Supports Paper / Spigot / Folia 1.20+ with hot reload (no restart required).


Overview

ChatReply is designed for survival, RPG, and minigame servers that need chat interaction, automatic guidance, rule reminders, and VIP-only responses.

Typical use cases:

  • Player sends Hello in public chat -> auto reply: hi, player!
  • Player sends help -> private message with rule/help tips
  • New player joins -> automatic welcome message
  • VIP sends vipkit -> private response + backend give command
  • Regex match like price diamond -> auto reply with item price

All keywords and reply texts are stored in replies.yml. After editing, just run /chatreply reload to apply changes immediately (no server restart needed).


Features

Keyword Matching

Feature Description
Exact Match Triggers only on exact input (Hello)
Contains Match Triggers when message contains keyword (aaahelpbbb)
Regex Match Supports capture groups, use {1} {2} in replies
Case Option Case-sensitive or case-insensitive
Priority Higher numeric priority wins when rules overlap

Reply Types

Type Description
CHAT Public broadcast
PRIVATE Private message to trigger player
ACTION_BAR Bottom action bar message
TITLE Big title + subtitle
MULTI Multi-line segmented reply

Reply audience is configurable too: SELF, ALL, WORLD, RADIUS:20.

Trigger Rules & Limits

  • Public / private / both channel triggers
  • World whitelist/blacklist and gamemode limits
  • Online-player count, time-range, permission conditions
  • 3-level cooldown: global / per-player / per-keyword
  • Daily and lifetime trigger limits
  • Hide or replace original player message
  • Sound effects, backend commands, webhook notifications

Management & Operations

  • In-game commands + GUI admin panel (/chatreply gui)
  • Hot reload by module (config / replies / lang)
  • Config import/export backups
  • Trigger logs (supports daily rotation)

Compatibility

  • Full Folia support
  • PlaceholderAPI (soft dependency, optional)
  • EssentialsX private message event hook (soft dependency, optional)

Commands

Main command: /chatreply (aliases: /cr, /autoreply)

Command Permission Description
/chatreply reload [all|config|replies|lang] chatreply.admin.reload Hot reload
/chatreply add <keyword> <reply> [options] chatreply.admin.add Quickly add a keyword
/chatreply remove <keyword> chatreply.admin.remove Remove a keyword
/chatreply list chatreply.admin.list List all keywords
/chatreply info <keyword> chatreply.admin.info View rule details
/chatreply group enable/disable <group> chatreply.admin.group Toggle a group
/chatreply test <keyword> [message] chatreply.admin.test Simulate trigger (no cooldown cost)
/chatreply toggle chatreply.admin.toggle Enable/disable plugin
/chatreply export chatreply.admin.export Export backup
/chatreply import <file> chatreply.admin.import Import backup
/chatreply gui chatreply.admin.gui Open GUI admin panel
/chatreply help Show help

Optional flags for add:

/chatreply add vip &6VIP-only reply --match EXACT --cooldown 60 --perm chatreply.vip

Permissions

Permission Default Description
chatreply.trigger everyone Allows triggering auto replies
chatreply.blacklist false If granted, player will never trigger replies
chatreply.vip OP Example permission for VIP keywords
chatreply.admin.* OP All admin permissions

Placeholders

Available in replies, commands, and replace text:

Placeholder Description
{player} Player name
{world} Current world
{time} Server time
{online} Online player count
{x} {y} {z} Player coordinates
{1} {2} ... Regex capture groups
%placeholder% PlaceholderAPI placeholders (requires PAPI)

Reply prefix (reply-format) example:

defaults:
  reply-format: "&8[Bot] &r{message}"

Hot Reload

Command What it reloads
/chatreply reload Everything
/chatreply reload config config.yml
/chatreply reload replies replies.yml (use this after keyword edits)
/chatreply reload lang lang/*.yml

After editing replies.yml, run reload replies and changes apply instantly.


Config Quick Reference

config.yml

settings:
  enabled: true              # plugin master switch
  language: zh               # UI language (zh / en)
  update-check:
    enabled: true
    modrinth-slug: chat-reply
  bstats:
    enabled: true            # bStats switch for this plugin

cooldown:
  global-seconds: 0          # global cooldown
  player-seconds: 3          # per-player cooldown
  notify: true               # notify when on cooldown

Common rule fields in replies.yml

keywords:
  Example:
    match-type: EXACT        # EXACT | CONTAINS | REGEX
    pattern: "regex here"    # used for REGEX
    priority: 10
    reply-type: CHAT         # CHAT | PRIVATE | ACTION_BAR | TITLE | MULTI
    reply-audience: ALL      # SELF | ALL | WORLD | RADIUS:20
    permission: chatreply.vip
    cooldown: 60
    daily-limit: 3
    replies:
      - "&aReply content {player}"
      - text: "&6Weighted random reply"
        weight: 10
    commands:
      - "give {player} diamond 1"
    hide-original: false     # hide original player message

See bundled replies.yml for more examples.


Join Welcome

Configure in replies.yml:

join-welcome:
  enabled: true
  delay-ticks: 40
  reply-type: PRIVATE
  replies:
    - "&aWelcome &f{player} &ato the server!"