ChatSuite
Notice! I am currently very busy with both work and school. Please refrain from feature requests and only post bug reports, as I am unable to do extra work at this time.
ChatSuite provides an advanced Chat Management interface for servers, with channel and multi-world support. IRC support is planned for the future. A comprehensive command structure is provided, which you can access by typing /chatsuite ? or /cs help.
Table of Contents
- Github Wiki
- Default config.yml - Examination - Layout
- Examples
- Source
- Jenkins 5.1. Use of the plugin builds from Jenkins is unofficial, unsupported and unapproved by BukkitDev Staff!
Features
- Channels, and permissions support for the creation thereof. (Node: chatsuite.create)
- A powerful localization file, to control the messages that users receive when requesting help. (chatsuite.help)
- Whispering and AFK systems (chatsuite.whisper and chatsuite.afk)
- ... and more!
Information
I am currently working on documentation, which can be found at my github wiki.
Commands
The following is a very brief overview of the commands available via this plugin, many of which can be changed.
note: CommandBook's CraftScripts registers the command /cs, which will supercede this plugin's /cs (which is only an alias).
note 2: ChatSuite v2.0 (currently in progress) will have a completely redesigned command system. /cs will be used minimally, in favor of more relevant command names (/join, /part, etc) for the plugin.
- /chat ? (chatsuite.help)
- /chat [page] - Show paged help. The command pages have additional information.
- /chat afk ? - Will show command usage and syntax for the afk command. (chatsuite.afk)
- * /chat afk "[message here]"
- /chat whisper ? - Will show command usage and syntax for whispers. (chatsuite.whisper)
- * /w [player] "[message here]"
- /chat nick [nick] / /chat nick [player] [nick] (chatsuite.nick)
- * /nick - Reset your nickname.
- * /nick [new nick] - Change your nickname.
- * /nick [player] [new nick] - Change another player's nickname. (requires chatsuite.nick.other)
- * /nick [player] --reset - Resets the specified player's nickname. (requires chatsuite.nick.other)
- /chat target [target] (chatsuite.target)
- * /target c:[channel] - Sets your target to the specified channel. Can also be used without the c: prefix.
- * /target p:[player] - Sets your target to the specified player. Similar to whispering. Can be used without the p: prefix.
- /chat 4 / /chat 5 - Will show command usage and syntax for channel-based commands. (various)
- * /create [channel] (chatsuite.channel.create) (/ch create [channel] [type])
- * /join [channel] (chatsuite.channel.join) (/ch join [channel])
- * /part [channel] (chatsuite.channel.leave) (/ch part [channel])
- * /invite [player] [channel] (chatsuite.channel.invite) (/ch invite [player] [channel])
- * /msg [channel] "[message here]" (chatsuite.channel.message) (/ch msg [channel] "[message here]")
- * /ch list [-all] (chatsuite.channel.list / chatsuite.channel.list.all)
- * /ch set ? / /ch set [channel] option [value] (chatsuite.channel.set)
- * * basic options
- * * /ch set [channel] color [color]
- * * /ch set [channel] permanent [boolean]
- * * /ch set [channel] owner [player]
- * * /ch set [channel] public [boolean]
- * * irc options
- * * /ch set [channel] network [irc network]
- * * /ch set [channel] channel [irc channel]
- * * /ch set [channel] enabled [boolean]
- * * /ch set [channel] key [irc channel password]
- /cs reload - Will reload ChatSuite. (chatsuite.reload)
- /cs debug - Will toggle debug mode in the server log (chatsuite.debug)
- /cs version - Will print ChatSuite's current version and build number. (chatsuite.version)
<<reply 446353="">>
I intentionally avoided this to prevent having to grab prefixes and suffixes from outside sources; I'm not hooking 30 different plugins for the same feature.
As for the configuration, I sort of dislike it too. I doubt many people use different formats between the various user groups, which makes it feel a bit bloated.
As for a channel configuration, I toyed with the idea of creating a channels.yml but ended up just not doing it. Channels are transient at the moment; I didn't see any reason in persisting them.
@krinsdeath
I think he means suffix and prefix support OUTSIDE of your plugin, allowing for prefixes and suffixes to be set via permissionsEx, for example.
The only problem that I really have with this plugin is that the structure of the configuration goes by player groups, rather than channels, which does not allow for much flexibility for the user and ease of configuration.
@Blagrin - What do you mean, suffix and prefix support? The entire point of this plugin is chat plugin stuff like suffix and prefix. Read the configuration page?
@nedercraft - Not sure what you mean by name change support. If you're talking about display names, they're already supported. Just specify %dn in your message format in the config file and you're golden.
PermissionsBukkit Support? I was reading posts and didn't see it.
I agree with nedercraft for the name support. I would like to see Suffix and Prefix support as well.
please add namechange support/function
Asheu - Just an oversight; never thought about both displaying chat AND logging it, mostly because I hate logging plugins.
Any reason why chat doesnt appear in the console?
@Asheu - I'm sorry, but no. I intentionally avoided this behavior to prevent possible conflicts with other plugins, and because it would create a weird amount of work and some strange workarounds to implement cleanly. If this is requested enough, I could go about adding it, but right now I'm reluctant since it doesn't seem that important.
Sorry.
I might have missed it somewhere but is there a channel alias command? For example, say I have two channels, 'Global' and 'Test'. I am defaulted to Global (/cscj global). Is there any way to chat to the channel 'test' very quickly? Say, '/test This is a test message' like in herochat or would we have to type out 'cscs test This is a test message'?
WafflesFTW93 - That is to prevent the absolute need for permissions. You can successfully use ChatSuite with no permission manager as a result of this functionality. I didn't really anticipate people throwing op around like that. Sorry.
StChristmass - Permissions nodes are equivalent to "chatsuite.groups.[groupname]", which is outlined in the config.yml's header that is generated when you first run the plugin.
I apologize for the late replies, my subscriptions don't seem to notice when comments are posted on my plugins, even though I have it set to do so. :[
Is it just me or when someone gets OP, they get the highest weighted title...
I have my stuff where I can have mods with or without WE, to get WE we just OP them, but if we don't they stay unopped
But when I OP them they get the admin title (my highest weight)
Like There is A Default group users group and a globals group how do you make people go to the group?
Multiverselover - What do you mean, 'rank them up'? This plugin has nothing to do with permissions, so ranks are irrelevant.
How you rank people up?
@alyawn / @Hangar - I've implemented the change you suggested. I haven't noticed any significant slowdown, and it now picks up group changes in real-time. In addition, the /chatsuite reload command now confirms that the configuration has been reloaded. Thanks for the suggestions, and I hope they work alright!
This looks good! I second Hangar's issue with permissions needing to be checked in real-time on each chat. I'm using PermissionsBukkit and if I set someone's group they have to log off and back on for the changes to take effect. If you didn't check on each chat perhaps re-registering all players on /cs reload would be good enough.
<<reply 384717="">>
I've just added your suggestion, but I can't guarantee that it'll perform as well on large servers (or servers with complicated inheritance/group structures).
I also added the confirmation message to /cs reload.
EDIT: It appears that it's not picking up on realtime group changes/promotions to a person's group with PEX. Only after they relog does it catch the change and recolor according to my configuration. Maybe it needs to check permissions before each chat line is sent(?)
You may also want to give feedback to the reload command, like "ChatSuite config reloaded."
I <3 CS
Thank you! I'm actively developing this plugin, and taking feature requests as necessary, so please feel free to provide feedback!