[FEATURE] Provide support for CMI chat channels to be logged in a:chat action lookups
GenSecrets opened this issue ยท 9 comments
Currently, CMI (a large popular multi-function Spigot plugin) has a chat channel functionality where players can /chat and start a persistent chat channel to talk without using commands. Once someone enters a chat channel, Prism does not log anything typed by the user inside that chat channel
Solution
Since the user types out messages as chat messages and not through commands, the messages once found through the event listener, would be logged as chat actions in lookups. Simply /pr l r:global a:chat p:playername would grab all chat actions by the playername, both inside and outside the chat channels
Alternatives and additional context
There are no work arounds other than not allowing the chat channels, since prism lacks the support for this logging. However for some additional information, I'm not sure how useful it is, but CMI does have an open API for use.
This repository is no longer active. You can try to resubmit this at the current Prism repo here https://github.com/prism/PrismRefracted
I am fairly sure we are not going to add dependencies that hook other plugins unless it provides a general benefit. In generally I wouldnt be using prism to log chat - there are better ways of doing that. In fact you can create a fairly simple log4j filter to split chat into a seperate log file.
I would appreciate comments from interested parties on this issue generally. Not just CMI but any others...
Incidently Prism does support logging PLAYER commands - which I assume if enabled would log the CMI chat messages.
I guess my point was that do you keep adding dependency for every chat plugin? Do you add it for plugins that you like?
I think if we add dependencies they need to bring value to the majority AND be unable to be implemented with out the dependency ...I find it odd that if you turned on player command longing and chat logging that CMI's commands and chat would not get logged.
I don't use CMI, nor do I use Prism to log chat. However, it can be useful to see a player's location, as logged by Prism, as part of chat logging. e.g., You know where to look when a player types, "Look at this giant peepee I just built!"
As far as dependencies are concerned, Prism already has 12 dependencies. What's one more?
Prism dependencies:
paper-api
paperlib
DripReporterAPI
metrics-core
metrics-healthchecks
worldedit-bukkit
slf4j-api
gson
bstats-bukkit
annotations
HikariCP
paste-gg-api
Perhaps CMI uses Bukkit's Conversation API, which very few people even know about. I don't know if it provides any events, but logging inputs to the Conversation API would be a generic enhancement.
If CMI has its own internal chat mechanism, I agree we shouldn't add code to deal with that.
I thought the conversation Api was to handle plugin-player interaction in a flow type mechanism not for actual chat