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.
It doesn't work ! The exact words must be spoken instead of randomly in a sentence... please change back.
Can I use another language instead of English in UTF format (Russian)?
Thanks for updating the plugin with all the suggestions :) I'll recommend it to peeps ;D
Really a great well done plugin, i'll be looking into more suggestions.. One thing i might suggest is an addition to this plugin, to make it so that you can actually talk to the bot as a guide.
I'll write a ticket detailing it more later ;D
Seems like a really good plug-in I think I will try it out. :)
@slixxkilla
Yes, correct, but it depends on what your keywords are. It won't spam the console because the responses are not logged into the console.
the only problem I am wondering about before getting into this.. If I use simple keywords. like my username as the user suggested before wouldn't that spam the console a bit? lets say the keywords might be tree. well then everyone who types and uses tree in there sentence will have an auto response correct?
@Mayhem777
EDIT: Fixed in 1.11 Here is a link if the file is not approved yet: http://ompldr.org/vZWFpNA
Next time, please create a ticket. Did you edit the configuration manually ? Paste your code here, and try to find the error. http://yaml-online-parser.appspot.com/ I can't reproduce the problem here, so you must have made a mistake in the configuration.Enjoy, just installed the plugin:
2012-06-12 23:55:11 [INFO] [NoobResponse] Enabling NoobResponse v1.1
2012-06-12 23:55:11 [SEVERE] Cannot load configuration from stream
org.bukkit.configuration.InvalidConfigurationException: unacceptable character '?' (0xFFFD) special characters are not allowed
in "<string>", position 110
at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:55)
at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:143)
at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:206)
at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:121)
at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:111)
at be.mc.woutwoot.NoobResponse.NoobResponse.loadConfiguration(NoobResponse.java:181)
at be.mc.woutwoot.NoobResponse.NoobResponse.onEnable(NoobResponse.java:33)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215)
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:336)
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:250)
at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:232)
at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:371)
at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:358)
at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:187)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:422)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: unacceptable character '?' (0xFFFD) special characters are not allowed
in "<string>", position 110
at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.java:70)
at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:50)
at org.yaml.snakeyaml.Yaml.load(Yaml.java:399)
at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:53)
... 16 more
Sure..
@Dyspen
EDIT: Fixed in v1.08
First of all, what you posted here is a decent bug report, can I use it as example?
... removed ...
This is so awesome. However, I don't think the keyword-thing is working too well. I simply cannot get it to properly identify them. There are so many different ways of asking questions, hence I only think the plugin is valuable when searching for key words. An example is this:
Keywords: work, planet, minecraft, op
It doesn't work with:
Hi. I work at planet minecraft. Can I be op?
It doesn't even work with: Work planet minecraft op
Another example:
Keywords: how, do, out
It doesn't work with:
- How do I get out? - How do I get out - How get out
Config:
chat_tag:ChatBot messages: - can i get op:No! - can,i,admin:Of course do you also want me to make you a sandwich? - how,do,out:By going through the tutorial - i,work,planet:I do not doubt that at all!
@Mayhem777
Thanks :)! Help me spread the plugin!
AWESOME! :D
@re3ell
How do you mean? Everything works fine for me. If you post your servers IP, I'll come and have a look.
Edit: I had to recognize that the plugin just replys on the first question I write. Every other question does not work.
@re3ell
I thought it would take a long time, but I finished it! Now you can set up a message as before or set it up like this: can,get,op Then, the plugin will respond if it contains all three words. The file is waiting for approval. (since 1.07)
Could you plz add a function which checks the sentence a user writes for keywords. I mean when you define the keywords "op" or "become op" the plugin gives the answer like: "No, we decide who is op."
At the moment the questions must not be different from the one you define. But imagine somebody writes "Gimme op status plz?!" the plugin would not understand it and the response on it will not be given. As shankomaster said, at the moment the plugin just replys to the exact question.
@shankomaster
In the way you explain it, it should work.
Hmm this doesnt work like I thought I did, it requires an exact string right? I was thinking it could play the chat if all the keywords, for example
"can get op"
And player types
PlayeR: Is there anyway I can get op?
Bot: No!
Instead it has to be nearly exact to make the bot work right?
Oops my bad! Good thinking ahead then, Im gonna be trying this out soon good job :D