
218
0
CustomMessage
Bring private messaging to your Bukkit/Spigot server with ease! CustomMessage gives your players a clean, familiar DM system complete with clickable usernames, reply & ignore functionality, social-spy for staff, spam control, and fully-customizable formats.
🚀 Key Features
/msg <player> <message>– Send a private DM with a teal ✉ envelope prefix/r <message>– Quickly reply to your last DM without re-typing the recipient/ignore <player>//unignore <player>– Block or unblock DMs from specific users/socialspy(staff only) – See all DMs in real time with a 🛡 SPY prefix- Spam-control – Configurable cooldown between messages to prevent abuse
- Clickable JSON chat – Click any “Me”, player name, or “You” in DMs to open a
/msgprompt - Fully configurable – Change every prefix, color, usage message, cooldown, and more in
config.yml
📋 Commands & Permissions
| Command | Permission | Default | Description |
|---|---|---|---|
/msg | custommessage.msg | ✔️ | Send a private message |
/r | custommessage.msg | ✔️ | Reply to your last private message |
/ignore | custommessage.ignore | ✔️ | Toggle ignoring DMs from a player |
/unignore | custommessage.ignore | ✔️ | Stop ignoring a player’s DMs |
/socialspy | custommessage.socialspy | OP | Toggle social-spy (staff only) to watch every DM |
Staff note: Anyone with
custommessage.socialspy(default: OP) will see every DM prefixed with 🛡 SPY.
⚙️ Configuration (config.yml)
# config.yml
# ─── Chat formats ─────────────────────────────────────────────────────────
formats:
msg: '&7[Msg] &f%sender% &8→ &f%target% &8: &7%message%'
spy: '&7[Spy] &f%sender% &8→ &f%target% &8: &7%message%'
# ─── Spam control ─────────────────────────────────────────────────────────
# seconds between allowed /msg’s per player
cooldown-seconds: 2
# warning when you hit cooldown (%seconds% will be filled in)
cooldown-message: '&cSlow down! Wait %seconds%s before messaging again.'
# ─── /r (reply) ───────────────────────────────────────────────────────────
reply:
usage: '&eUsage: /r <message>'
no-partner: '&cNo one to reply to.'
offline: '&cYour last chat partner is offline.'
# ─── /ignore & /unignore ───────────────────────────────────────────────────
ignore:
usage: '&eUsage: /ignore <player>'
on: '&cYou are now ignoring &f%target%'
off: '&aYou are no longer ignoring &f%target%'
invalid: '&cInvalid player.'
self: '&cYou cannot ignore yourself.'
blocked: '&cThat player is ignoring you.'
unignore:
usage: '&eUsage: /unignore <player>'
on: '&aYou are no longer ignoring &f%target%'
off: '&eYou were not ignoring &f%target%'
# ─── /socialspy ───────────────────────────────────────────────────────────
socialspy:
on: '&aSocialSpy on'
off: '&cSocialSpy off'
no-permission: '&cYou must be OP to toggle social spy.'
# ─── Generic fallbacks ────────────────────────────────────────────────────
no-permission: '&cYou don’t have permission for that.'
only-players: '&cOnly players can run that command.'
usage-msg: '&eUsage: /msg <player> <message>'
Создатели
Детали
Лицензия:MIT
Опубликован:8 месяцев назад
Обновлён:8 месяцев назад
