SendMSG
PluginMIT

SendMSG

SendMSG – Private Messaging for Your Server

45
Downloads
3
Followers
1 months ago
Updated
📦
2
Versions

📖About SendMSG

SendMSG

SendMSG – Private Messaging for Your Server

Sent a message
Received a message
Subtitle

Lightweight, multilingual, fully customizable private messaging plugin for Spigot/Paper 1.21+


✨ Features

Feature Description
📨 5 sending commands /msg, /m, /tell, /w, /pm
💬 Quick reply /r or /reply – reply to the last sender
🌍 3 languages English, Ukrainian, Russian (change with /sendmsg lang)
🛡️ Anti-spam Configurable delay with bypass permission
🔔 Sound alerts Customizable sounds for sending and receiving
📢 Subtitles Popup notification when receiving a message
🔕 Block PMs /msgtoggle – disable incoming private messages
👁️ SocialSpy /spy – see all private messages
🚫 Ignore system /ignore – ignore/unignore players
Auto-expire ignores Ignore players with auto-removal after N days
📁 Message logging All PMs saved to logs/private.log
💾 Ignore saving Ignores stored in ignores.yml
🧹 Auto cleanup Automatic cleanup task every hour
🎨 Fully customizable All messages in messages/*.yml + color codes
🔧 Lightweight No external dependencies required
⚡ EssentialsX compatible Overrides EssentialsX private messages

🎮 How it looks in-game

When you send a message:

✉ You -> Player: Hello!

When you receive a message:

  • 📺 Subtitle: ✉ You have a message
  • 💬 Chat: ✉ Player writes you: Hello!
  • 💬 Reply hint: → Reply with: /r (text)
  • 🔊 Sound: ENTITY_EXPERIENCE_ORB_PICKUP

⚠️ All text, sounds, subtitles, and colors can be changed in the configuration files.


📋 Commands

Command Description Aliases
/msg <player> <message> Send a private message /m, /w, /tell, /pm
/r <message> Reply to the last sender /reply
/ignore <player> Ignore/unignore a player (toggle) /ig
/msgtoggle Disable/enable incoming private messages
/spy Toggle SocialSpy (see all PMs)
/sendmsg lang <code> Change plugin language EN, UA, RU
/sendmsg reload Reload configuration
/sendmsg help Show help

Language codes: EN (English), UA (Ukrainian), RU (Russian)


🔐 Permissions

Permission Description Default
sendmsg.msg Allows using /msg and /m true
sendmsg.reply Allows using /r and /reply true
sendmsg.ignore Allows using /ignore true
sendmsg.msgtoggle Allows using /msgtoggle true
sendmsg.bypass.cooldown Bypass the message cooldown 👑 op
sendmsg.spy Allows using /spy (SocialSpy) 👑 op
sendmsg.admin Access to /sendmsg lang and /sendmsg reload 👑 op

⚙️ Configuration (config.yml)

# Plugin language: ru-RU, uk-UA, en-EN
lang: en-EN

# Delay between messages (seconds)
cooldown-seconds: 10

Enable / disable features

features:
  subtitle: true        # Show subtitle when receiving a message
  subtitle-reply: true  # Separate subtitle for replies
  sound-receive: true   # Play sound when receiving a message
  sound-send: true      # Play sound when sending a message
  reply-hint: true      # Show "/r" hint below incoming messages
  cooldown: true        # Enable message cooldown
  msg-toggle: true      # Enable /msgtoggle command
  social-spy: true      # Enable /spy command
  log-to-file: true     # Save all PMs to logs/private.log

Sound settings

sound:
  receive:
    name: ENTITY_EXPERIENCE_ORB_PICKUP
    volume: 1.0
    pitch: 1.2
  send:
    name: ENTITY_VILLAGER_WORK_CARTOGRAPHER
    volume: 1.0
    pitch: 1.0

# Ignore settings
ignore:
  # Auto-remove ignore after N days (0 = forever)
  auto-expire-days: 7

📝 Message formats (messages/en-EN.yml)

format:
  incoming:    "&2✉ &f&l{from} &7writes you: &f{message}"
  reply-hint:  "&2→ &7Reply with: &b&n/r (text)"
  outgoing:    "&2✉ &7&lYou &7-> &f&l{to}&7: &f{message}"
  spy:         "&8[SPY] &7{from} -> {to}: {message}"
  console-name: "Console"

subtitle: "&2✉ &7You have a message"
subtitle-reply: "&2✉ &7Someone replied to you"

📝 Message formats (messages/uk-UA.yml)

format:
  incoming:    "&2✉ &f&l{from} &7пише вам: &f{message}"
  reply-hint:  "&2→ &7Для відповіді: &b&n/r (текст)"
  outgoing:    "&2✉ &7&lВи &7-> &f&l{to}&7: &f{message}"
  spy:         "&8[SPY] &7{from} -> {to}: {message}"
  console-name: "Консоль"

subtitle: "&2✉ &7Вам повідомлення"
subtitle-reply: "&2✉ &7Вам відповіли"

📝 Message formats (messages/ru-RU.yml)

format:
  incoming:    "&2✉ &f&l{from} &7пишет тебе: &f{message}"
  reply-hint:  "&2→ &7Для ответа: &b&n/r (текст)"
  outgoing:    "&2✉ &7&lВы &7-> &f&l{to}&7: &f{message}"
  spy:         "&8[SPY] &7{from} -> {to}: {message}"
  console-name: "Консоль"

subtitle: "&2✉ &7Вам сообщение"
subtitle-reply: "&2✉ &7Вам ответили"

Color codes: &0-9 &a-f &k-o &r


🚀 Installation

  1. Download SendMSG.jar
  2. Place it in your server's plugins/ folder
  3. Restart your server
  4. (Optional) Edit config.yml or messages/*.yml
  5. Done! The plugin works immediately

❓ FAQ

  • How do I change the language?
    Use /sendmsg lang EN (English), /sendmsg lang UA (Ukrainian), or /sendmsg lang RU (Russian)

  • How do I disable sounds?
    Set sound-receive: false and sound-send: false in config.yml

  • How do I remove the cooldown?
    Set cooldown-seconds: 0 in config.yml or give players the sendmsg.bypass.cooldown permission

  • How does /ignore work?
    /ignore <player> adds a player to your ignore list. Use the command again to unignore them.

  • Can ignores expire automatically?
    Yes! Ignores are automatically removed after auto-expire-days.

  • Can I block all private messages?
    Yes! Use /msgtoggle – nobody will be able to message you until you enable it again.

  • What is SocialSpy?
    Admins with sendmsg.spy can use /spy to see all private messages on the server.

  • Where are private messages stored?
    All PMs are logged in:

plugins/SendMSG/logs/private.log
  • Does it work with EssentialsX?
    Yes! SendMSG intercepts private messages before EssentialsX, so you can use both.

  • Can the console send messages?
    Yes – the console can use /msg <player> <message> just like a player.


📞 Support

  • 🐛 Report a bugJoin our Discord
  • 💬 Suggest a feature – Same link
  • 💬 Get help – Same link