NoobResponse
NoobResponse - Automatic Reply with Message and/or Actions!
This is THE plugin that will save you 1000 keystrokes a day!
I made this plugin because I myself am a server owner, and the innumerable amount of noob questions I was asked day after day was becoming simply intolerable... "How do I change my skin?", "Can I be an op?", etc.
And that's why I created this plugin, it's an automatic responder/chatbot/messager which will respond/reply to chat messages. You can set up triggers the plugin should respond to. For example:
- Player: "Can I get op?"
- Plugin: "No." And at the same time, the player would be killed or teleported or kicked, ...
NoobResponse requires Java SE 7 to run.
Video
All credits for the video go to alien1947in.
Commands
In this version, the trigger ID what we use to reference a specific trigger. Trigger ID's are currently case sensitive. If you create a trigger with the same ID as an existing one, it will be overwritten.
All command permissions default to op.
/noobresponse
The main plugin command. Subcommands & permissions are:
- /noobresponse reload - Reloads the plugin's config, discarding any new triggers. (noobresponse.reload)
- /noobresponse save - Saves the plugin's config, overwriting any changes that were made. (noobresponse.saveconfig)
- /noobresponse help - Prints a colourful help message. (noobresponse.help)
- /noobresponse version - Displays the version of the plugin you are running. (noobresponse.version)
/nradd
Command to add basic keyword triggers, similar to version 2.0. Note that spaces are allowed in the response, but not in keywords.
Permission: noobresponse.add
Usage: /nradd <triggerID> <keywords> <response>
Example: /nradd exampletrigger keyword1,keyword2,no,spaces,please This is the response.
/nrlist
Command to list all loaded triggers and their responses. To view keywords & other details use /nrview. Permission: noobresponse.list Usage: /nrlist
/nrview
Command to view all properties (keywords, response etc) for a trigger.
Permission: noobresponse.view
Usage: /nrview <triggerID>
Example: /nrview exampletrigger
/nrdel
Deletes a trigger. Cannot be undone.
Permission: noobresponse.delete
Usage: /nrdel <triggerID>
Example: /nrdel exampletrigger
/nrmodify
Changes properties of a trigger. (More info here: Modify command)
Permission: noobresponse.modify
Usage: /nrmodify <triggerID> <property> <value>
Example: /nrmodify exampletrigger cancelmessage true
/nrwizard
Starts a NoobResponse wizard with the given trigger ID. You can exit at any time by typing 'cancel'.
Permission: noobresponse.wizard
Usage: /nrwizard <triggerID>
Example: /nrwizard newtrigger
Permissions
- noobresponse.ignore - Noobresponse ignores you. Completely. (default: false)
- noobresponse.noaction - Actions are not applied to you, even if you trigger a response. (default: op)
- noobresponse.nocancel - Your messages will not be cancelled. (default: false)
- noobresponse.norespond - Noobresponse will show a chat response to anything you say, but actions may still be applied. (default: false)
- noobresponse.setup - Yes, it is still here. It provides access to all the commands. (default: op)
- noobresponse.* - Access to all commands + being ignored. (default: false)
Configuration
The best way to set up a Trigger(= Response) is to use the wizard we have built in. The command for the wizard is "/nrwizard <triggerID>" Make sure you choose a unique triggerID!
List of replacements here. A full list of actions is available here.
If you really want to set up triggers in the config manually, you can copy the example trigger and modify it, or set up old-style triggers in config.yml under 'messages'. (these will be converted automatically on server startup/reload)
For reference, the old style actions & variables can be found here.
FAQ
Q: Is the response shown to all players?
A: There is a configuration setting for this, the wizard will ask you.
Plugin Metrics
This plugin uses PluginMetrics to get this data: (click the image to see more information)
If you like what we're doing, consider donating :) Please use the donate button in the top right.
@Yndi74
Where did it say to use @p?
The correct replacement for the offending player's username is --name--, the same replacements as you can use in the chat response.
Hy. How can i use this command?
- jail [player name] 30 m r:Reason
I try:
action: ServerCommand
action-params: 'jail @p 30 m r:Reason'
action: ServerCommand
action-params: 'jail 30 m r:Reason'
but don't work. If i use in console work fine.
P.S. And
action: kick
action-params: 'Kick message'
give empty message
@Liger_XT5
Please post a ticket with your config.yml contents and the error log, instead of spamming the comments with errors.
It seems that the problem is caused by the trigger converter, so perhaps your existing config from the old NoobResponse is invalid. Also, it might be worth updating to 3.01 as that contains bug fixes related to trigger/message conversion.
The plugin seems to be working just fine, but at startup, I get the following error.
@3ptO
Possibly later, regex is there for people that want to use it, I don't have a lot of experience with it myself though.
Mind listing regex examples?
oops, excuse the long answer. java version "1.6.0_37" Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909) Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode) Macintosh OS 10.7.5
You're right: it's java.
@MarStefo
What version of Java are you running? NoobResponse is compiled with Java 7, so that is likely the problem. Update your Java installation to at least version 7, and try again.
Also, please don't paste large error logs in comments, use a service like http://www.pastie.org instead, or file tickets.
Problem! Why am I getting this error? I have successfully updated to Bukkit 1.4.6-R0.3 and NoobResponse to v3.01 for CB 1.4.6-R0.3
210 recipes 27 achievements 15:17:15 [INFO] Starting minecraft server version 1.4.6 15:17:15 [INFO] Loading properties 15:17:15 [INFO] Default game type: SURVIVAL 15:17:15 [INFO] Generating keypair 15:17:15 [INFO] Starting Minecraft server on
----:25565 15:17:16 [INFO] This server is running CraftBukkit version git-Bukkit1.4.6-R0.3b2586jnks (MC: 1.4.6) (Implementing API version 1.4.6-R0.3) 15:17:18 [GRAVE] Could not load 'plugins/NoobResponse.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: be/mc/woutwoot/NoobResponse/NoobResponse : Unsupported major.minor version 51.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:184) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230) at org.bukkit.craftbukkit.v1_4_6.CraftServer.loadPlugins(CraftServer.java:239) at org.bukkit.craftbukkit.v1_4_6.CraftServer.<init>(CraftServer.java:217) at net.minecraft.server.v1_4_6.PlayerList.<init>(PlayerList.java:52) at net.minecraft.server.v1_4_6.DedicatedPlayerList.<init>(SourceFile:11) at net.minecraft.server.v1_4_6.DedicatedServer.init(DedicatedServer.java:104) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:399) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.UnsupportedClassVersionError: be/mc/woutwoot/NoobResponse/NoobResponse : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:173) ... 9 moreYeah, it would be much simpler if it was. Triggers, Responses and/or commands. Makes for a much tidier config, especially since i have over 70 questions i am going to put into it. Thanks
@Liger_XT5
To make things simpler, the action params use the same replacements as the response. I just forgot to change the example (included in the next release with a whole load of fixes)
Just converted my old config to the new, and was wondering. In the example for the feature for Kick, you used @p for the params. Is
namestill used, or do I need to go into the responses and replacenamewith @p?@OneTrueLegend
I might create a text and replacements only version, not sure yet.
@OneTrueLegend
I understand your point. The plugin was written to be simple enough to understand and have optional advanced features. You can create triggers in the configuration without all the values present and NoobResponse will automatically fill in the blanks. (at some point there could be configurable trigger defaults in config.yml for this purpose)
Thanks for your feedback :)
So after looking over this plugin i have noticed that it is a lot more in depth that it was before, this is, for me a good and a bad thing. The good thing is that there are a lot more options to customize meaning that you can make every response unique, the bad thing (again, for me) is that ever individual response is around 13 lines long. This means that for someone that is using it for a automated response to questions, i have around 50 - 70 responses that i will use. Now you can do the math to show that it becomes a very long storage file to sort through. And yes, you can just use the commands to manage it (I guess) But for me, i would much rather edit the config directly, the old, write the triggers, then write the response was a lot easier. So for people using it for a few responses such as killing op beggars or something its great, BUT for someone who is using it as a automated response, answering everyone questions on the server, its a bit cumbersome. Only my opinion for what i was intending on using it for. Please don't think i am trashing on this plugin, because i am not. I have been eagerly awaiting this plugins release, and am satisfied with the result, i only wish that it was more simple. If the developers do read this, please release a simple version of the plugin, with less options, or one option set that covers all responses. Thanks guys
@CommodoreAlpha
Yes, that's what the separate action-param setting and response are for. Simply create a trigger with the wizard (/nrw <triggerID>) with a unique trigger ID and specify the chat message when it asks you for the response, and the action as 'playercommand' then set the action param to the command you want to be executed.
Is it possible to both have a command and a message executed together?
I use punishmental for punishments, and it seems a little weird (maybe even unfair) to punish players without them knowing why.
Horray! Thanks for the awesome update, especially the one for tekkit :D Been waiting sooo long for this! Thanks guys.
@Anok_Fero
Perfect timing! I just uploaded a Tekkit compatible version (awaiting approval) which you can download here if you really want.
Is this possible to be used with Tekkit? If it can I will suggest it to a tekkit server I play on.