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)
@toffose: none of what you said is applicable to this plugin. Set your username as the owner of the channel and you will be allowed to join it. public: false sets the channel as private. There is no permission to join a private channel.
Regarding your question about Multiverse, I don't understand it. Are you saying that the channel associated with the world is not auto-joined when you log out and back in on that world (instead, it puts you in the default channel)? If so, you will need to set the channel in question (the multiverse world) to permanent, so that it is created in your channels.yml.
@Talaysen: I have not tested this plugin with Towny. If Towny adheres to the proper methods for injecting changes to the chat format, it should work with this plugin. If, however, it does not, I will have to work on some way of changing ChatSuite to include the Towny tag (probably a new variable).
@Cryptite: That should be fixed in the latest versions of the plugin (which can be found on my CI).
@ray0911: That should be fixed in the latest versions of the plugin (which can be found on my CI).
BUG!?
Seems that we can't setup permissions correctly. As I understand, we should be able to put
in our PermissionsBukkit permissions file, correct?
Well, if I do that and then do
in the channels.yml file for ChatSuite, I just get denied entry to the channel. I should be able to join that channel when I have the permissions node, correct? Doesn't work right now.
Next BUG!?
Using Multiverse on our server, using
in channels.yml for ChatSuite, but still when you relog you're not entering CHANNELNAME, but the default channel instead, if you logged out in the world associated with CHANNELNAME. (say a world is named CHANNELNAME and configured in the channels.yml file like above)
Anyone know how to add the towny tag to the chat? I've been searching on google, can't seem to find anything relevant.
Setting permanent channels via the in-game commands doesn't seem to work; they all appear to get wiped on a server restart.
After player relogs they loose there nick name. Is there a way to have them Keep there nick name?
How would I go about adding these chat channels; A global one, where anyone in any world can hear me. A world one, where only people in that world can hear me. A local one, where only people a set amount of blocks away from me can hear me. A staff chat with a password. How would I go about with those if possible?
Thanks for making such a great chat plugin. I love this plugin!
chatsuite.groups.owner
orgroup.owner
will both work.selfservice0: I have no intention of ever adding any kind of PEX support to this plugin. This plugin already provides prefixes. There are plenty of plugins that do it with PEX if you want to use them.
Hi, I can't remember the node i used but its like chatsuite.group.owner: true
I used it in my permissions folder so it showed that group in game. Could you tell me what is used for this please?
Is there a way to change an individual channels format? This cant grab pex prefixes?
D
Would be nice to add a local channel.. send message to player within 100 blocks etc... Ty for all your hard work!
Users don't have to have any permissions for you to set their nickname.
Thanks for help! But Is it possible also that I can set their nick, but they can't set their own?
Hendric: Multiverse is injecting the world into the chat format. Set prefixchat: false in Multiverse's config.yml
For the /nick thing; chatsuite.nick.other is the node that allows you to SET other peoples' nicknames. chatsuite.nick allows you to set your own nickname. So if you want users to be able to use /nick (but not set other nicknames), chatsuite.nick is all they need.
Make sure that you personally (as op) have chatsuite.nick.other. The command syntax is pretty simple:
/nick [user] [new nick]
Additionally, you need to change the chat format variable from %n (name) to %dn (display name).
Okay about the nick others thing:
I'm using Permissionsbukkit and the default group has node: chatsuite.nick.other: true Also I have installed commandbook (and many other plugins, but no essentials). My bukkit is Minecraft Bukkit ( v1.2.5-R5.0 #2262 )
And my second question is about removing the [world] tag from players name. There shouldn't be one, and I don't see a way to remove it. The default's messaging looks like this: format: message: '%p %n&F: %m'
Hi,
i am having trouble with the prefix and groups,
i am in the group 'owner', and other players arnt,
when i talk i get [owner]myname:
and other do to, how do i fiix this?
@krinsdeath
Fair enough. Thanks for the reply :)
Veinlockx: I'll have to talk to the developers of Multiverse about this "child/parent" relationship, because that did not exist when I was still contributing to the project.
About the channels, there's no way to restrict based on world right now, but I will add that in my next builds and it should be available in my next (major) release.
I want to create a set up like this:
I have 4 worlds. Sonata, Eternia, Aeria, and Nexus.
Aeria is a child of Eternia in child/parent relation through multiverse. Nexus is my spawn world, and Sonata is a freebuild world.
I want 3 channels. A channel in the Nexus, Eternia/Aeria, and Sonata so that players from only those worlds can see each other chat. Like Eternia chat cannot be seen in Sonata.
How would I configure that? And also, is there a way to configure it to change and restrict the other channels upon joining a specific world?
Hendric: Without seeing your permissions setup or a stack trace/error report indicating where the problem is, I cannot say. The nick feature works perfectly well on my development and production servers.
Which version of Bukkit, which permissions plugin, and are you certain that the node (chatsuite.nick.other) is set to true? If so, what error do you get when you try to set their nickname? Is another plugin (such as essentials) hijacking the /nick command? Try using /nickname or /chat nick.