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
@LordBoos
What version of PurpleIRC are you experiencing this on? I the very latest versions are more asynchronous.
Can you make bot connection to irc server asynchronous? Right now, when there is error, like no response from server or big delay before response, server just freeze for same time, it takes to irc server to respond...
Did you try these commands?
@Kamiyaiba
I haven't been able to get my bot to identify with the nickserv it just doesn't seem to send an identify message at all.
@phoenixlzx
Version 2.1.9 will include this functionality. Feel free to test the latest dev version at http://cn.revisited.us:8081/job/PurpleIRC/.
Hello,
Firstly thank you for your plugin, it's awesome.
However I found it will not send messages from Dynmap. I changed dynmap message prefix '[WEB]' to another one, will this be the problem? or should I change any in the config?
Thank you.
How do I have the exact names, groups and colours from one server to the other?
Our current bot file: http://pastebin.com/6eX22KNL
@Bbaass
What does your bot yml look like? I think what might be happening is you have irc-hero-chat enabled and not irc-chat. The irc-hero-chat message type won't send messages to the console. It uses the Herochat API. I can probably add an option to send all IRC chat messages to the console.
Two other admins and myself are currently setting up a 1.6.4 FTB Direwolf20 server, using (among other things) Herochat version 5.6.7-SNAPSHOT and PurpleIRC version 2.0.9.
Previously, we were on 1.5.2 because the 1.6.4 FTB modpacks weren't out yet. At that time we used MonsterIRC, but not Herochat.
Any chat message in the IRC channel would also show in the FTB server console, which I found quite useful as it allowed me to keep an eye on the server aswell as moderate chat of the other 2 Minecraft servers connected to the IRC channel.
After having tested some things I realized that chat messages in the IRC channel do not show in console.
I haven't found a config option to enable it either.
I was wondering if this something that could be added to PurpleIRC, or if it would need to be done by Herochat instead?
@cmason1015
PM me with a pastebin of your bot yml file and server startup log.
Are there any handholding tutorials out there on this? I'm not knowledgeable at all on IRC, and whenever I try to set this up on esper.net, I get no errors in my console, but it doesn't connect either.
@NizeHD
The &r code reset the color to default. See http://minecraft.gamepedia.com/Formatting_codes for the rest of the colors.
Hello. Great plugin so far! But can someone help me with the color codes? I don't understand them, for example what is &r doing?
@ProjectInfinity
I sent the ReportRTS developer a pull request for a new mod-broadcast event.
Edit: LOL I just realized you are the developer. :)
@mobilephone2003
By ReportRTS chat, I assume you are talking about the broadcast command. This doesn't fire an event. This may come in the future, at the moment the future of the "modbroadcast" command is not certain. It might get replaced.
@cnaude
Thanks for the quick response. A minute of chat captured including town and party chat:
http://pastebin.com/FCXbxdLx
Bot is linked to 2 chat rooms, one is public, and one is private with op commands.
I also enabled ReportRTS chat (been using that for years too) and that doesn't appear to come through either.
@mobilephone2003
Can I see a pastebin of your server log with irc debug enabled? It should print out some useful info when you try to chat.
Hey bud,
Been using this for a very long time, highly recommend it to anyone considering. We have it set up with our own IRC bot for some automated moderation and logging.
Couple issues though:
With the above 2 being quite important to us, if they do get working, can there be some sort of indication for them? e.g. [P] and [TC] (that way we can bypass certain moderation things so people don't get punished for saying things in private). Happy to demonstrate this if required, thanks for keeping this updated!
@rylinaux
You will have to use the mute function.