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 Aug 5, 2013@cnaude
Awesome. - ignore-irc-chat will not seem to set to true no matter what I do. Does the server need to be fully offline for this? Or is it another setting interfering ?
Edit: reloadbotconfig seemed to fix it. Perfecto! Awesome plugin!
Got a small error for you :) http://pastebin.com/Du163Wxa
-
View User Profile
-
Send Message
Posted Aug 4, 2013@Stryker76
What does our bot yml look like?
-
View User Profile
-
Send Message
Posted Aug 4, 2013@Tomskied
You can use the @chat command for exactly this. Enable this in your bot yml and you can use ".chat <message>" to send messages to the game.
-
View User Profile
-
Send Message
Posted Aug 3, 2013Hey cnaude, great looking plugin. Was just wondering how the preventing chat to/from the server works.
Is there a way I can freely chat in the irc, and not have it go to the server unless I prefix with the bots name?
ie:
"Hi" - Wont be sent to the server,
"{Botname} hi" will be sent to the server?
Thanks!
-
View User Profile
-
Send Message
Posted Aug 1, 2013@cantthink96
I just added it to the permissions list. Thanks for catching that.
-
View User Profile
-
Send Message
Posted Aug 1, 2013To those who wish to take advantage of the new (view irc users in the tablist) only ops are available to view the users unless you give users the permission node irc.tablist this isn't stated above. Just thought you'd like to know
-
View User Profile
-
Send Message
Posted Jul 30, 2013@cnaude
Hi cnaude, great plugin, much nicer that CraftIRC.
I'm trying to convert everything over, but I have an odd problem. I'm using Herochat and have a Moderator channel and an Admin channel. Perms in game for Moderator and Admin channels work fine, however, if an Admin on server 1 says something in the Admin channel, the Moderators on server 2 see it.
How can I prevent this?
-
View User Profile
-
Send Message
Posted Jul 29, 2013@mobilephone2003
I see what the problem is. I'll get a fix out for this.
-
View User Profile
-
Send Message
Posted Jul 29, 2013Hey again,
Thanks for hop compatibility. Can we add multiple modes in one line? Doesn't seem to work for me
e.g, for Operator, Half Op, and Voice:
modes: ohv
-
View User Profile
-
Send Message
Posted Jul 23, 2013@cnaude
I did have to change a few things at first, but now it's working perfectly fine! Thank you very much for your work :)
-
View User Profile
-
Send Message
Posted Jul 22, 2013@BIoq
I managed to get this working with PurpleIRC. I now have PurpleIRC keeping track of users in a channel internally. If it sees a user disconnect from the server it will check if that was a user in the internal list and act appropriately. If you would like to test this version let me know.
-
View User Profile
-
Send Message
Posted Jul 19, 2013@cnaude
Thanks :3
-
View User Profile
-
Send Message
Posted Jul 19, 2013@marlboromoo
I asked the developer of Death Messages to add an event API to his plugin. Currently there is no way for PurpleIRC to hook into it.
-
View User Profile
-
Send Message
Posted Jul 19, 2013@Diemex
Enable irc debug with "/irc debug t" and then send me the output of the server.log. Are your permissions setup correctly?
-
View User Profile
-
Send Message
Posted Jul 19, 2013I'm having some troubles setting it up.
It worked on my local server at some stage and now all of a sudden game->irc chat doesn't work anymore. I honestly don't know what happened. I even deleted my config.yml to reset the messages and it still doesn't work. Also tried it with all other plugins disabled and that didn't work either. Here is my bot.yml The bot is in the channel and it relays irc->game but not the other way round.
Also I tried using esper.net at first and that didn't work at all. It connected and spit out the motd but didnt join the channel. Then I tried freenode and only changed the address, port and login and that worked for some reason...
Feature Request: Add irc users to the player list when hitting tab.
-
View User Profile
-
Send Message
Posted Jul 19, 2013Great plugin !! Could you support the plugin "Death messages" : http://dev.bukkit.org/bukkit-plugins/death-messages/ ? Beacuse the messages that handle by "Death messages" are empty when sending to IRC! e.g player join/death/quit . Thank you :3
-
View User Profile
-
Send Message
Posted Jul 17, 2013@cnaude
Thanks very much for your help! :)
-
View User Profile
-
Send Message
Posted Jul 17, 2013@BIoq
I did a little bit of testing with that. It seems the esper webchat doesn't report player part messages when the browser is closed. I'll see if I can find a work around.
-
View User Profile
-
Send Message
Posted Jul 17, 2013@cnaude
Using webchat.esper.net (irc.esper.net)
-
View User Profile
-
Send Message
Posted Jul 17, 2013@BIoq
It should still work. What IRC browser client is this? What IRC server?