SendMSG
SendMSG – Private Messaging for Your Server
SendMSG

SendMSG – Private Messaging for Your Server



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 | | 🔕 Auto cleanup | `/msgtoggle` – disable incoming private messages | | 👁️ Auto cleanup | `/spy` – see all private messages | | 🚫 Auto cleanup | `/ignore` – ignore/unignore players | | ⏰ Auto cleanup | Ignore players with auto-removal after N days | | 📁 Auto cleanup | All PMs saved to `logs/private.log` | | 💾 Auto cleanup | 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: ```text ✉ 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`)
```yaml
Plugin language: ru-RU, uk-UA, en-EN
lang: en-EN
Delay between messages (seconds)
cooldown-seconds: 10 ```
Enable / disable features
```yaml 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
```yaml 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`)
```yaml 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`)
```yaml 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`)
```yaml 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: ```text 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
- 🐛 Get help – Get help - 💬 Get help – Same link - 💬 Get help – Same link