PurpleIRC
About PurpleIRC
PurpleIRC is an IRC to Minecraft bridge plugin. This plugin supports running multiple bots on multiple channels. This plugin utilizes the PircBotX Java IRC framework (included in the plugin jar).

Wiki
- For additional information see the PurpleIRC Wiki.
Features
- Relay chat from game to IRC and vice versa.
- Relay game events to IRC.
- Relay IRC events to game.
- Translate colors from game to IRC and vice versa.
- Fully configurable message templates.
- Enable or disable any chat feature to and from the game.
- Most of the configuration options are per bot and per channel.
- Each bot can join multiple channels.
- Automatically op IRC users based on user masks.
- Control and protect the IRC topic.
- Manage IRC channel modes.
- Automatically reconnect to the IRC server on disconnect.
- Respond to commands in IRC chat.
- Send any command to the game via the console.
- Supports prefixes and suffixes. (see sample config for details)
- Displays IRC users in the tab list. (requires ProtocolLib)
- Monitor player command usage.
- Great for cross server chatting.
- Update checker will make external HTTP connections to check for new versions.
- SSL/TLS support.
CraftBukkit Versions
- If you are running CraftBukkit version 1.7.2 or older then stick to PurpleIRC version v2.1.14-174 and older.
- If you need a version that supports Spigot visit the Spigot Resource Page.
How to install
- Drop the PurpleIRC.jar file into your plugins directory.
- Restart the server. (Please don't use /reload)
- Copy plugins/PurpleIRC/sample bot to plugins/PurpleIRC/bots/NewBotName.yml
- Edit the bot yml file as needed. Each option is documented.
- Use /irc load bot.yml command to load and start the new bot.
- Configure permissions.
Configuration
- Configuration - Use /irc reloadconfig to load your changes while the bot is running.
- Sample Bot - Use /irc reloadbotconfigs to load your changes while the bot is running.
Frequently Asked Questions
Links
Chat Hooks
- Supports mcMMO admin and party chats.
- Supports FactionChat chat modes. (public, ally and enemy)
- Supports HeroChat Global, all channels or specific channels.
- Supports TitanChat chat manager.
- Supports TownyChat chat manager. See FAQ.
- Supports Dynmap web chat.
- Supports AdminPrivateChat
Other Hooks
- Supports CleverNotch bot messages.
- Supports ReportRTS ticket notifications.
- Supports VanishNoPacket. Prevents IRC from announcing vanished players.
- Supports Shortify URL shortener. 1.8 and newer only
- Supports RedditStream notifications.
- Supports SuperVanish
Dependencies
- PircBotX: The PircBotX classes are included in the plugin jar file.
- Vault. If you need to use the %GROUP% token then install Vault.
- ProtocolLib. If you need to use the custom tab list then install ProtocolLib.
Permissions (see plugin.yml)
| node | default | description |
|---|---|---|
| irc.<COMMAND> | op | Every command requires a permission node. |
| irc.message.chat | true | Receive IRC chat messages |
| irc.message.gamechat | true | Send game chat to IRC |
| irc.message.action | true | Receive IRC chat actions (/me) |
| irc.message.quit | false | Receive IRC quit messages |
| irc.message.join | false | Receive IRC join messages |
| irc.message.disconnect | op | Receive IRC disconnect messages |
| irc.message.connect | op | Receive IRC connect messages |
| irc.message.kick | false | Receive IRC kick messages |
| irc.message.nickchange | false | Receive IRC nick change messages |
| irc.message.topic | false | Receive IRC topic messages |
| irc.message.part | false | Receive IRC part messages |
| irc.tablist | op | Display IRC users in tab list |
Commands
| command | args | description |
|---|---|---|
| /irc load [bot.yml] | Load bot file | |
| /irc unload [bot.yml] (disable) | Unload bot and optionally disable it | |
| /irc reload | Reload entire plugin (Don't use this to load changes to your configs and bots. Use reloadconfig and reloadbotconfigs instead) | |
| /irc reloadconfig | Reload config.yml | |
| /irc save | ([bot]) | Save bot configuration(s) to disk |
| /irc reloadbot | [bot] | Reload the bot config and reconnect |
| /irc reloadbots | Reload all bot configs and reconnect | |
| /irc reloadbotconfig | [bot] | Reload bot config without reconnecting |
| /irc reloadbotconfigs | Reload all bot configs without reconnecting | |
| /irc connect | ([bot]) | Connect to configured IRC serve |
| /irc disconnect | ([bot]) | Disconnect from configured IRC server |
| /irc listbots | List loaded bots | |
| /irc list | ([bot]) ([channel]) | List users in a channel |
| /irc kick | [bot] [channel] [user(s)] | Kick user(s) from a channel |
| /irc op | [bot] [channel] [user(s)] | Op user(s) in a channel |
| /irc listops | [bot] [channel] | List auto ops for a channel |
| /irc motd | [bot] | Display IRC motd. |
| /irc deop | [bot] [channel] [user(s)] | DeOp user(s) in a channel |
| /irc addop | [bot] [channel] [user mask] | Add user mask to op list |
| /irc removeop | [bot] [channel] [user mask] | Remove user mask from op list |
| /irc server | [bot] [server] ([true|false]) | Set IRC server for bot. Optionally set autoconnect |
| /irc mute | ([bot]) ([channel]) [user(s)] | Mute user(s) in a channel |
| /irc unmute | [bot] [channel] [user(s)] | Unmute user(s) in a channel |
| /irc nick | [bot] [nick] | Change the bot's IRC nickname |
| /irc login | [bot] [login] | Change the bot's IRC login |
| /irc join | [bot] [channel] | Join a channel |
| /irc leave | [bot] [channel] ([reason)] | Leave a channel |
| /irc whois | ([bot]) [nick] | Get IRC user's whois info |
| /irc say | [bot] [channel] [message] | Make the bot say something |
| /irc send | ([bot]) ([channel]) [message] | Send a message to a channel |
| /irc debug | ([t|f]) | Enable debug mode |
| /irc messagedelay | [bot] ([milliseconds]) | Get or set IRC message delay. (Default: 1000) |
| /irc msg | ([bot]) [user] [message] | Send a private message to IRC user |
| /irc ctcp | ([bot]) [user|channel] [message] | Send ctcp command to user or channel. |
| /irc notice | ([bot]) [user|channel] [message] | Send notice command to user or channel. |
| /irc sendraw | ([bot]) [command] | Send raw command to IRC server. |
| /irc updatecheck | ([stable|dev]) | Check for new versions of PurpleIRC. |
IRC User Modes
| mode | description |
|---|---|
| i | IrcOp |
| o | Operator |
| v | Voice |
| h | Half Op |
| q | Channel Owner |
| s | Super Op |
Change Log
Known Issues
- AuthMe: If you are running the AuthMe plugin you will need to set enableAntiBot to false.
Additional Help
- Tickets: Please reports bugs using the ticket tracker.
- IRC: I'm usually hanging out in #PurpleIRC on irc.esper.net. If I'm awake you can chat with me there.
- PM: Feel free to send me private messages here.
Other
Bitcoin: 1P44sYgXLejo35vANvNfPTY56ANSC5w4dg

-
View User Profile
-
Send Message
Posted Jun 12, 2014@JRPenza620
Yes. See line 45 of the sample bot. https://github.com/cnaude/PurpleIRC/blob/master/src/main/resources/SampleBot.yml#L45
-
View User Profile
-
Send Message
Posted Jun 12, 2014Is it possible to show console commands in the IRC chat? like if someone types a command(like /msg or /tpa) that I'll see the command? If so, where do I set that up?
-
View User Profile
-
Send Message
Posted Jun 1, 2014@draccydragon
Something like this in the channel section of the bot.
-
View User Profile
-
Send Message
Posted Jun 1, 2014@cnaude
Awesome. I was hoping there was a variable like that. Very sorry if I missed it in the documentation! Thanks for getting back to me promptly.
Is there a way I can have a bot send a message to the channel on first join?
-
View User Profile
-
Send Message
Posted May 31, 2014@draccydragon
Edit your config.yml and try either of these.
-
View User Profile
-
Send Message
Posted May 31, 2014Alright, this is generally a beautiful replacement for my old CraftIRC solution. However, CraftIRC adhered to nicknames/aliases properly, whereas after the join message ("Drac joined the game") I'm seeing raw player names in IRC ("<draconicus> this triggers my highlight!") with Purple.
So it's a little annoying, but if you can't really fix it right now because of UUID nonsense, I suppose I can live with it. Hard to believe that's the case since it uses the nickname/alias correctly for the join message and whatnot. Li'l help?
-
View User Profile
-
Send Message
Posted May 28, 2014@kokonut19
You will need to have a basic understanding of how IRC works before attempting to use this plugin. I recommend downloading an IRC client for your desktop and creating a new channel. You will need to find an IRC server. I recommend espernet. See https://www.esper.net/ for more information. Once you have a channel setup you can configure PurpleIRC to join the channel and start relaying chat.
-
View User Profile
-
Send Message
Posted May 28, 2014I'd really like this for my server. Some kind fo webchat to minecraft thing, but i cannot understand this. I'm not even sure what's the correct thing i add when it comes to the IRC chat server.
I just cant get it to work.
-
View User Profile
-
Send Message
Posted May 25, 2014Hmm.. many of the listed changes appear very familiar to me ;-)
Great work cnaude!
-
View User Profile
-
Send Message
Posted May 21, 2014Hey mate, I have the bot registered to my account nick, but the bot won't identify to nickserv. The password is correct in the config. Any clue as to why?
-
View User Profile
-
Send Message
Posted May 10, 2014@cnaude
Done ;-)
edit: Thanks for fixing the BG colour issue! :-)
I already messaged you about another issue, but that for later. Cool plugin, man ;-)
-
View User Profile
-
Send Message
Posted May 10, 2014@ThisUsernameIsMine
Setting the channel mode to +v won't trigger the bot to auto voice users. I would need to add a new feature to do that. I could make it work similar to the auto op list.
About the bg color issue. I can't seem to replicate that. Can you join my #PurpleIRC channel on espernet and send a few messages with bg colors? I want to see what happens.
-
View User Profile
-
Send Message
Posted May 10, 2014@cnaude
Achievement get: another bug fixed! :D
Thanks cnaude, i gave you some 'likes' :-)
If you're up for another issue, continue reading:
I've set the channel's 'modes' to mtv (mtv lol...), but joining people aren't auto-voiced. Is this a(nother) bug or a limitation? (judgeing by PurpleIRC's description, voice is listed)
Finally: Hopefully you'll also (re)consider the things i've mentioned before at http://dev.bukkit.org/bukkit-plugins/purpleirc/?comment=295
-
View User Profile
-
Send Message
Posted May 10, 2014@ThisUsernameIsMine
That helped a lot. I have successfully fixed the issue in dev build 74.
-
View User Profile
-
Send Message
Posted May 10, 2014@cnaude
/nick and a name after it e.g. /nick &aTestPlayer
If more testing is needed, you can also visit my mc / irc server/channel (or i can visit yours).
-
View User Profile
-
Send Message
Posted May 10, 2014@ThisUsernameIsMine
That makes sense. I don't know a lot about essentials. How do I change a player nick?
-
View User Profile
-
Send Message
Posted May 10, 2014@cnaude
Umm.. doesn't a prefix only add a(n additional) formatted text in front of the name, whereas %DISPLAYNAME% can hold a modified name i.e. (Essentials) nickname?
Our players often change their in-game name by typing a whole different name, not just a different colour ;-)
-
View User Profile
-
Send Message
Posted May 10, 2014@ThisUsernameIsMine
As a workaround you can use this:
-
View User Profile
-
Send Message
Posted May 10, 2014@ThisUsernameIsMine
I have successfully replicated the issue on my test box. Now to fix it.... :D
-
View User Profile
-
Send Message
Posted May 10, 2014@cnaude
Thank you for not giving up on it yet :-)
If there's anything (else) i can do to help you, let me know (or visit my IRC chan :D ).