SimpleIRC
SimpleIRC
Description
Simply this plugin will create a link between the chat on the server and an IRC server and channels. This is useful for admins to keep an eye on the server and also a fun thing for players to be able to chat without actually having to be in the game.
Bug Reports / Suggestions
If you find a bug, encounter a problem or have a suggestion, please fill out a ticket via the Tickets link above. I do not have the time to read through the comments section, any comment that fits the previous three categories will be ignored.
Installation
On first run the plugin will create the three files explained below, the minimum is to set the connection information in the config file.
Config
The default config file looks like this
irc: server: address: irc.esper.net port: 6667 password: '' bot: nick: MCBot password: nickserv_password channels: - '#something' - '#somethingelse' verbose: false
The server section is fairly straight forward but note that the password here is the password required to join the server and not the NickServ password. The bot section allows a list of channels which can be joined as well as the other standard config options, the password here is the NickServ password for the nick if it has one. Setting verbose to true will cause all text sent to and from the IRC server to be written to the console, this is useful for debugging.
Console
Any console command can be used from IRC if you are an OP (see below). In the channel you can use a ! in place of the first slash for example /time in game would be !time via IRC. You can also send a /msg to the bot with any command jut like you would in the console, no need for a ! or /, so using the same example it would be time
IRC OP
Only players listed in the irc-ops.txt file can use commands from IRC, note that this is not the same as an OP in game. Make sure that all names listed in this file are registered with NickServ on the IRC server, without this anyone would be able to join and execute console commands if they knew your nickname.
Commands
- /ircop - Adds a player to the ops list.
- /ircdeop - Removes a player from the ops list.
- /irc kick - Kicks a user from a channel
- /irc ban - Bans a hostmask from a channel
- /irc op - Gives a user OP
- /irc deop - Takes OP from a user
- /irc voice - Gives voice to a user
- /irc devoice - Takes voice from a user
- /irc leave - Leaves all channels
- /irc join - Joins the configured channels
- /irc disconnect - Disconnects from the server
- /irc connect - Connects to the server
Note that most of the /irc commands require the bot to be an OP for the channel.
Permissions
- simpleirc.op.give - Required to be able to op players
- simpleirc.op.take - Required to be able to deop players
- simpleirc.channel.kick - Allows the player to kick IRC users
- simpleirc.channel.ban - Allows the player to ban IRC users
- simpleirc.channel.op - Allows the player to op IRC users
- simpleirc.channel.voice - Allows the player to deop IRC users
- simpleirc.bot.leave - Allows the player have the bot leave channels
- simpleirc.bot.join - Allows the player have the bot join channels
- simpleirc.bot.disconnect - Allows the player have the bot disconnect
- simpleirc.bot.connect - Allows the player have the bot connect
All permissions default to OP only)
Aliases
If you use a different name on IRC to in game you get create an alias so that your name appears correctly in both places, to do that add a line to the alises.txt file in the format
IRC name:in-game name
So If I use the name "Jacek" on IRC and the name "wide_load" in game then I would enter
Jacek:wide_load
The player name will be protected on the IRC server, if a user joins the channel with the name of a player with an alias they will be kicked for impersonation.
Chat Formatting
A chat formatting plugin is needed to modify the way messages from IRC are displayed in game, SimpleIRC will call a RemotePlayerChatEvent which formatting plugins can listen for. If your chat formatting plugin does not support this you can use SimpleIRC-Formatter alongside it which does.
Contributing
Contributions to the project are very much welcome, if you have a feature that you want implemented and know a nice way to do it then consider forking the repo and submitting a pull request. These will be accepted as long as the following simple guidelines are followed.
- Do not edit the structure of the pom.xml file, feel free to add a dependency if you need it but the formatting and structure should not be changed.
- If you are exposing a new API method, add a JavaDoc comment to it, but don't over-comment internal code.
- Follow the existing code style, don't antagonise over every space though !
All dependencies that are used are now available from a public Maven repo, so you don't have to worry about building several other projects just to add a simple change any more.
Source Code
Available on GitHub.
Dev Builds
Changes Since Last Release
Download
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
http://bukkit.jacekk.co.uk:8000/job/SimpleIRC/
Im encountering some bugs with this plugin. Usernames are showing up with a ? after the first letter of the name. Example would be <D?arkDestry> and #D?arkDestry 2 different formatting on 2 different server.
PS im using This and an IRC channel to link 2 server's chat
@wide_load Randomly the join and leave messages are breaking. Admins and up's join msg is randomly breaking. Sometimes it works, sometimes it does not,
I get this from SimpleIRC http://pastebin.com/mnpQkG3C
I need this fixed ASAP Thanks.
@wide_load
I don't have the plugin anymore, but it would give me errors and wouldn't connect to IRC channel.
Ever since I added this plugin to my server, I've been getting this error: http://pastebin.com/M5YdZTuB My server hasn't been stable since 1.6.2, and I've only seen these errors from 1.6.2, and I'm very positive it's SimpleIRC.
The console messages about Server/IRC chat are kinda the same looking with The error...
(I don't know, it does kinda)
Edit: Saw plugin uses what the error is. PircBotX.
@AustinPuppyUSA
In what way ?
This plugin broke with the release of 1.6.1.
OK, I did :D
@deleted_9859142
You should probably register it anyway, people could impersonate the bot if not :P
@deleted_9859142
Ah I know, why the name don't gets renamed now, because I took a registrated foreign name before. And the current botname isn't a registrated name.
@wide_load Thanks, but I didn't registered the bot name, so there is no NickServ password. Correct me If i'm wrong. Anyway it works now and i don't know why :D
with this comment, you connect to a password protected channel: "/j #channel password"
@deleted_9859142
If it gets renamed that is probably because you set the wrong NickServ password in the config.
I'm not sure how password protected channels work, but I will look into it :)
Very simple and effective plugin, Thanks for that. This was exactly what I was searching for.
I have a little bug, after some seconds the bot gets renamed to a name like this iZ-14403. Is it because I don't have registered it?
Question 2: Is it possible for the bot/plugin to connect to password protected Channels? Would be very helpfull.
Greetings Robbendebiene
None of them are for IRC, but your SimpleIRC Formatter (You still need to review that github ticket) and PwnChat does change commands a bit, to fix .help to /help, I don't know why it removed the /irc command.
Also, last night Esper had a network maintence, and I got disconnected and then I joined later, but the bot never joined and the /irc command wasn't a command, a restart fixed it.
@TheCoolGuy123_5_Minecraft_
Check the startup log for errors, if another pluign uses the same command or does something weird that causes this not to load that can happen/
Well I installed 4 new plugins and now the command /irc isn't working anymore. "Unknown Command" and none of those are command changing plugins but one...
Testing right now.
Edit: Yep.
This plugin, actually PwnFilter doesn't work with this plugin, it just turns /irc to unknown command.
@TheCoolGuy123_5_Minecraft_
It should reconnect automatically.
Works. Now for restarting, does it auto disconnect and try to reconnect?
@TheCoolGuy123_5_Minecraft_
Try setting verbose: true and see if it tells you why.
Okay so It's not working for me, the bot won't join.
My Config:
irc: server: address: irc.esper.net port: 6667 password: * bot: nick: JzC password: channels: - '#JackzCraft' verbose: false prevent-pings: true
@Chadwiko
You can use the /online command from IRC to see who's online.