What is ReporterGUI?
ReporterGUI is a solution for users reports. It can manages all reports types through GUI or using cli command.
For example, you can customize all items in the gui, using a action custom & custom permission. Each item has own reason on the report, but also, you can set all messages.
It also allow you to manage all reports in an orderly and comfortable, using commands in game and through the web panel.
Furthermore, ReporterGUI supports a note system for each report. Users can add notes in their report and staff can answer.
How does it work ?
Players can send a report using the command /report <player name>, it will open a gui where it's possible select the item correct, which are completely customizable.
If a staffer is online, the plugin will send a self message that will give you the player name and the reason of the report.
The report can be send using the command /reportcli <player name> <reason> if you don't want to use the gui system, and using the command /report * it's possible send a generic problem without specifying the player accused.
Check the changelog of the plugin
https://github.com/itpao25/ReporterGUI/wiki
Features:
- Recording system via MySQL Database
- Support for cooldown time, exceptions for staff, custom permission for-item
- Possibility to give permissions to exempt from reports (especially for the staff members)
- You can set up a command, that will be send when a player performs the report [fox example /helpop]
- Web Interface (https://www.spigotmc.org/resources/reporterguiweb.9821/)
- Possibility to lock a word on the chat (for example "hack!", "please ban this player")
- ASCII system for all symbols of all message (included: name, items and lore)
- When a staff member joins receive a message with the stats report
- Support multiple servers (for network), setting the server name from the config
- Support for Bungeecord ( messages of report synchronized between all or some servers bungeecord )
- Support for RedisBungee
- Compatible with PlaceHolderAPI
- Change all commands at 100%! ,for example use /hack <nickname> instead of /report (default)
- View reports in real-time via Telegram, Slack & Discord new!
- Advanced system of notes
- Click in the chat message to see the information on the report (required ProtocolLib)
- Search report in-game through advanced command
- Receive warning when a player join on the server, using the permissions
- When a report is approved, the player receives a notification of thanksgiving
- Support for report location and other..
- Support for general report: send a report without specifying the player accuse
- Message notifications in real time (example: when a report change status, the reported will receive a message if is online)
- Players can view all details of your reports, status and notes added by staffers
As you can see, the GUI Items uses the ASCII code for Name & Lore:
Web interface
Web Interface (https://www.spigotmc.org/resources/reporterguiweb.9821/):
ASCII Symbols system:
It’s possible create a new symbol which can be used on a message and on the settings of the items in the GUI.
You can configure that in the default config file (config.yml)
Example:
Code:
Symbol:
- (X),\u2581
Click in the chat message to see the information on the report (required ProtocolLib)
Commands & perms:
It's enough use this permissions for use this plugin to the best:
https://github.com/itpao25/ReporterGUI/wiki/Commands-and-permissions
Notes: perm: rrg.note / rrg.note.other / rrg.note.other.delete
The system of notes is designed to allow more accurately manage user reports, you can add one or more notes to remember a particular.
There are no limits, you can add unlimited notes.
Remember that you want to wrap just use "\n".
/reportergui note add <report id> <text>
/reportergui note delete <report id> <note id>
/reportergui note list <report id>
Notes allows to create a mini discussion for the report
Search: perm: rrg.search
You can search a report using the command in-game.
/reportergui search [-p] [page] <text>
History: perm: rrg.history
Check the history of reports
/rrg history [ (t)oday/ (y)esterday/ (w)eek/ (m)onth] [page]
Example: /rrg history t 2
Notify:
Reportergui allows players and staffer to manage all reports in simple mode using the chat notifications.
Admins can disable or enable notifications using
/reportergui notify <on | off>
Players can receive a notify when a own report is changed status or when a new note is added by staffers. If the player is offline, the message will be added in the summary notification, so when the player returns will receive the message
Items options:
These examples can be set via https://gist.github.com/itpao25/0885f3a9875bbcfc1ef6#file-config-yml-L46, under the heading "item":
- General Reports
Users can report a problem without indicating the offending player.
Using the command report * will open the classic gui.
You can specify which items are to be displayed for this type of report using the option report-general.
- Saves the coordinates
It's possibile save the coordinates where the player has sent the report.
Using the option save-coords it will be possible reach the coords where the player has set the report.
Example:
Code:grief-general: slot: 4 motivation: 'grief in the world (%world_from%)' action: report report-general: true save-coords: true name: '&e&o&lReport a grief' permission: 'Reportergui.use' lore: - '&2Report a grief in the world' itemtype: TNT amout: 0
- Variables in reports motivation
- %playertarget% - returns with the name of the player reported
- %fromplayer% - returns with the name of the player who excute the report
- %reason% - returns with the reason of the report
- %coord_from% - returns with coordinates of the player who excute the report
- %coord_reported% - if the player reported is online, returns with it coordinates
Code:motivation: 'it is doing a grief (%coord_reported%)' Output: IPv4 it was reported by itpao25 for is doing a grief (plot_world : 120x : 72y : -83z) More information: https://github.com/itpao25/ReporterGUI/wiki/GUI-items-example
- Actions clicking the items:
You can set the filed "action" for each item. Example:
Code:close: slot: 26 action: close name: '&c&lClose' lore: - '&cBack to the game' id: '35:14' amout: 0 close - this action allows you to close the gui, then return to game report - send a report (default) nothing - nothing (only for decoration
Telegram support:
How to configure Reportergui with Telegram?
- Contact @ botfather, and once you've created a bot and received your authorization token open the config file (config.yml) and set:
Code (Text):
telegram:
enable: true
id-bot: 180722313:AaAG3f4edtUq__aar5fKk_xDKaa4eAJTsRfzUzo (It is for example, paste your key)
Remember to run the command /setprivacy from BotFather to set enable groups privacy - Create your own group on telegram
- Discover the id group chat, so the bot send messages only there, so go to link: https://api.telegram.org/bot<yourkey>/getUpdates , next add your bot to your group and send a message.
Example:
- Set in the field chat-id in config.yml, then:
Code (Text):
chat-id: -58038754 (It is an example, you must insert your id) - Final config:
Code (Text):
telegram:
enable: true
id-bot: 180722313:AaAG3f4edtUq__aar5fKk_xDKaa4eAJTsRfzUzo
chat-id:
# Variable - [from], [to], [reason], [worldfrom], [worldto], [server]
message:
- 'Player reported [to]'
- 'by [to]'
- 'for [reason]' - Test your bot making a report from the game!
Slack support:
How to configure Reportergui with Slack?
- Go here: https://my.slack.com/services/new/incoming-webhook and login into your Slack account
- Select your channel and go to next step (click the button submit)
- Copy your link "Webhook URL"
- Go into config.yml and set the param correct
- Code (Text):
slack:
enable: true
uri: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
name-bot: ReporterGUI
channel: '#general'
icon_emoji: ''
message:
- Player reported [to]
- by [from]
- for [reason] - Start using slack
Discord support:
How to configure Reportergui with Discord?
- Visit the application page: https://discordapp.com/developers/applications/me and login into your Discord account
- Simple, create a new application "New Application"
- Now create "Create a Bot User". Copy the token "Token:click to reveal"
- Go into config.yml and set the param correct
- Code (Text):
discord:
enable: false
# Token: example MjQyNzUzNDI4Nzk3Nzg0MDY1.CvlBRQ.UiZrHBy-MU_OnVKzwj8czAsQqCc
token_bot: ''
# Chat id: example 150294479213953024
channel: ''
message:
- 'Player reported [to]'
- 'by [from]'
- 'for [reason]'
# General report
message-general:
- 'Problem reported by [from]'
- 'reason: [reason]' - Now you must authorize your bot on your server. Visit the page https://discordapp.com/oauth2/authorize?&client_id=CLIENT_ID&scope=bot .Remember to replace "CLIENT_ID" with your client id (viewable from the page of your application discord)
- Go in your server and copy channel id (see more) and set it in config.yml file.
- Start using Discord
Bungeecord:
in the config, set "multi-sever-enable: true"
- Set the server name (It does not have to be the same as that of bungeecord)
- Enable bungeecord always in the config
- Remember to set up such a server to appear the message (always using permission ReporterGUI.receive in server spigot instance)
You can also use:
ALL for all server
ONLINE for server bungeecord online - Install the plugin also in the server where you want to get notified!
LeaderHeads
ReporterGUI supports LeaderHeads.
You can follow the guide here: http://robindebaets.be/leaderheads/variables#ReporterGUI
rgui-own: shows amount of reports made about the player
rgui-approved: shows amount of reports approved
Configuration:
Config.yml: (raw on gist: https://gist.github.com/itpao25/0885f3a9875bbcfc1ef6)
Messages.yml (raw on gist: https://gist.github.com/itpao25/d1d28890b8b5f7f71f57)
API for developers:
You can use this API for your personal plugin, using public classes provided by this page.
https://github.com/itpao25/ReporterGUI/wiki/Open-source-API
Servers using ReporterGUI:
- diecrew.ml (http://diecrew.ml)
- play.towernetwork.eu (http://towernetwork.eu)
- play.ottercraft.net (ottercraft.net)
Addons
TOS:
- You can not -Redacted- this plugin
- Don't just say "it doesn't work", describe errors.
- Only use in your server or network
- You are not permitted to decompile or modify the plugin in any form
Check my other plugin!