QAPlugin
QAPlugin
Tested Minecraft Versions: 1.7, 1.8, 1.9, 1.10, 1.11
@Coolman
QAPlugin.png


Try it out on TESTPLUGINS.COM
"Gary, who made you?"​

header_features.png


What can you use this for?
Answer frequently asked questions
Bring some life to your server
Learn what users ask a lot with the online API.ai trainer
Provide information with placeholders like "Helper, what is my level?"


QAPlugin modules:
Modules are jar files that you put in the modules folder


"Ask the assistant to make a joke"
https://www.spigotmc.org/resources/qaplugin-module-humor.34841/

"Ask the assistant for definitions from UrbanDictionary"
https://www.spigotmc.org/resources/qaplugin-module-urbandictionary.34027/

"Recipe helper. Ask something like 'how to make a door?'"
https://www.spigotmc.org/resources/qaplugin-module-recipe-helper.34741/

"Ask for basic faction information of the faction you are in"
https://www.spigotmc.org/resources/qaplugin-module-factioninfo.34301/

"Let the assistant learn from you. Remembers user data"
https://www.spigotmc.org/resources/qaplugin-module-userdata.34215/

"Ask the assistant to turn mvdw animation plugins on/off"
https://www.spigotmc.org/resources/qaplugin-module-mvdwtoggle.33713/

"Ask the assistant for plugin information"
https://www.spigotmc.org/resources/qaplugin-module-plugininfo.33781/

"Ask the assistant to translate something"
https://www.spigotmc.org/resources/qaplugin-module-translate.33978/

QAPlugin supported plugins:
QAPlugin supported plugins are regular plugins that add something to QAPlugin


"Ask the assistant how many generators you or someone else has"
https://www.spigotmc.org/resources/unitygen-java-8-1-8-1-11-25-off-xmas-sale.26218/


ehf3pizbdgmvyfmwneuf.jpg

  • Smart question detector
    • Configure the 'risc' factor by defining how similar the user's question should be. (min-matches)
  • Multiple randomized answers to make it look better
  • API.ai support (same as Google Home , ...)
    • Monitor questions online to see what is the most frequently asked question
    • Small talk
    • Optional pre-build add ons available for asking calculator related questions, web searches and much more
    • Create web hooks to create answers based on results
    • Create your own AI modules (API)
      http://git.mvdw-software.com/Maximvdw/QAPlugin-API/wikis/home
    • Download and install new modules without bloating the plugin
    • Context based conversations
  • Support for PlaceholderAPI and MVdWPlaceholderAPI to add placeholders in responses (f.ex "How much money do I have?")
  • Optimized: runs smoothly, even when using API.ai
  • Highly configurable
    • Configure question match thresholds
    • Configure the trigger words
    • Configure the chat layout
    • ...
  • Build-in announcer
NOTE: You do have to create the questions and responses yourself, but learning can be done using the online API.ai trainer. Modules can also extend this
header_about.png

This QAPlugin is based on Gary. It is a plugin that has been changed 100+ times to find the perfect balance between easy to configure and useful.

With API.ai support you can even extend the possibilities outside Minecraft.

2016-12-31_00-40-10.png

External modules can hook into online services like UrbanDictionary

2017-01-03_15-18-56.png

External modules can store information about a question or user


2016-12-27_00-47-15.png

Context based questions + modules

2016-12-25_19-48-20.png

Context based questions "when was it released" can apply to server or plugin name

2016-12-29_23-21-46.png

External module to translate things

2016-12-25_19-32-13.png

Another context based question remembering the color


2016-12-23_21-13-53.png

You can use placeholders in your response.

2016-12-23_23-52-38.png

2016-12-23_23-53-07.png

Above is a standard local question/response. As you can see the question does not need to be 100% similar to match.


2016-12-24_01-07-25.png

Above screenshot is an API.ai intent to report a user. The 'response' is send to a web server. Note that the web server part is something you have to make yourself.

2016-12-24_14-37-16.png

#WhenAIGetsSmartOnYou

Requirements:
- Bukkit, Spigot or PaperSpigot 1.7.10 or higher

header_permissions.png

Code (Text):

Code:
qaplugin.reload:
  description: Reload the configuration
  default: op
qaplugin.help:
  description: Show plugin help
  default: true
qaplugin.uploadlog:
  description: Upload log
  default: op
qaplugin.uploadconfig:
  description: Upload config
  default: op
qaplugin.about:
  description: About the plugin
  default: true
qaplugin.permissions:
  description: List all permissions
  default: true
qaplugin.resetconfig:
  description: Reset the configuration file
  default: false
qaplugin.use:
  description: Allows you to talk to the QAPlugin
  default: true
qaplugin.speak:
  description: Allows you to talk as the bot
  default: false
qaplugin.debug:
  description: Create a debug report
  default: false


header_configuration.png

BEFORE YOU START MAKING QUESTIONS CONSIDER THIS NOTE:

The plugin supports API.ai , it is a great way to configure new questions and answers but it requires an asynchronous request to a site for every question.

One of the main advantages to configure API.ai is that it stores unanswered questions so you know how to change this in the future.

The free smalltalk domain is great for default responses.
2016-12-23_18-10-40.png

When enabling smalltalk make sure to ENABLE fulfillment
2016-12-25_23-25-41.png


1) 'questions:' section
This section lists all the Local questions of the plugin. Local questions are questions you configure in the questions.yml. They are matched by counting the amount of matches and return a random answer.

Ever question has a name that you can choose to your liking. You just have to make sure it is unique and has a logical name (aka. needs to resemble the question you are asking).

1.1) 'your-question-name:' section
These are the subsections of the 'questions:'. You need to make one of these sections for each local question you create.

It consists of two main parts that create a question.

1.1.1) 'questions:' list
This is a list of possible questions you can ask to trigger that question. These can be:
  • Full phrases like: "tell a joke", "tell me a joke"
  • Matches: "tell" , "joke"
When using full phrases your question needs to contain that exact question. When using matches it will try to match these words.

QUESTION META DATA:
This is something usually used for matches because you need to give more information about "what exactly" you are matching.

META data is added by starting the question with |....|
Inside these vertical lines you put the meta data.

|word|eat
This will use "eat" as a word. Meaning it will not be matched when inside another word like "created"

|required|maxim
This will make sure the "match" is in your question

|required:name|maxim
|required:name|maximvdw
|required:name|Maxim Van de Wynckel
Same as "|required|" but instead it will check for EITHER one of the requirements called "name".
The "name" can be anything, you could even call it "type" or "blahblah"


|required:something|action text
|required:something|actionbar
|required:something|actiontext
Same as above but another example. It will look for either "action text", "actionbar" or "actiontext"

|word|required|maxim
You can use multiple meta data's by seperating them with a |

1.1.2) 'answers:' list
This is a list of possible answers. One answer will be chosen randomly and returned by the bot.
Answers can contain placeholders from PlaceholderAPI or MVdWPlaceholderAPI.

ANSWER META DATA:
You can add meta data to answers the same was as you do with questions. Currently the only meta data is to execute commands.

|console:say this is a test|
This will execute a command as the console

|opplayer:spawn|
This will execute the command as the player, but being an op

|player:money|
This will execute the command as a player. DO NOT add a "/" before the command.

|chat:I am stupid|
This will make the player "say" something in chat.

|console:say this is a test|The console will output something!
You can still add a response/answer from the bot behind the command

|console:say this is a test|delay:1000|console:say test 2|
You can add multiple commands behind eachother. If you want to add a delay between them use delay:1000 where 1000 is the time in milliseconds.

1.1.3) 'minimum-matches' number
Minimum matches defines how many of the lines in the questions list need to be matched before the question is valid.
If for example you have a question with following lines:
- "|word|tell"
- "|word|joke"
It will look for the words "tell" and "joke". You need to match them both so minimum matches is 2.

Another example would be:
- "|word|tell"
- "|word|joke"
- "|required:name|chuck norris"
- "|required:name|chucknorris"
- "|required:name|chucky"
It will look for the words "tell" , "joke" and 3 possible combinations on how to say "chuck norris".
So minimum matches is 3.

When set to -1 it will just ignore this.

1.1.4) 'priority' number
If you have multiple questions with the same possible matches you may want to set the priority higher for some questions. Usage is usually when using it in combination with required permission.
The default priority = 0.

1.1.5) 'required-permission' string
This will check if the user has this permission before accepting the match. Regardless of how many matches the question will not be matched when he does not have the required permission.



header_placeholders.png

This plugin does not contain build in placeholders. It uses the:
PlaceholderAPI
and
MVdWPlaceholderAPI
to get the placeholders. Both these two plugins are optional dependencies and can be used together or separate.

For PlaceholderAPI placeholders are in the format %placeholderhere%
For MVdWPlaceholderAPI placeholders are in the format {placeholderhere}


header_commands.png

/qaplugin
Main command: alias for /qaplugin help

/qaplugin say <Message>
Say something as the bot. (Broadcast)

/qaplugin about
Show the version information. ALWAYS give this version when reporting errors.

/qaplugin uploadconfig
For the lazy ones this will upload the config (config.yml) to pastebin.
ALWAYS give this config when reporting errors.

/qaplugin uploadlog
This is a SIMPLE log about the plugin it will upload that simple log to pastebin. It is recommended to still send the logs from the console rather then this log!

/qaplugin resetconfig
Did a missile blow up your config (we all know it was you ;) ) then use this to reset it.

/qaplugin permissions
This gives a list of all default permissions in the plugin (commands, etc..)

/qaplugin help
Shows a list of all commands. You can configure the help in the language file.

/qaplugin reload
Reload the config
Do not use plugman or any other plugin tool to reload the plugin. (even first load). Same for /reload this is not recommended or supported
It is advised not to use this frequently

/qaplugin debug
Create a debug report containing the configs. Used to get support

header_tos.png

By downloading this plugin you agree with our terms of service
http://www.mvdw-software.com/terms-of-service


You may use this plugin on 1 server or network only
    • Describe errors. Don't just say "it doesn't work"
    • Use /qaplugin uploadconfig to get a pastebin link of your config when reporting errors
    • My timezone is GMT+1 (Just so you know) Do not start spamming me on 3am in the morning asking why I don't reply within 10 minutes
    • Once bought you will get future updates for free. Keep in mind that purchases are linked to only one spigot account. You will only receive support when asking with that account and we will not transfer purchases on bans or to alternative accounts (since that is against spigot rules).
    • New features/placeholders/effects are only added when the amount of requests are enough. The review section is not a place to ask for questions or features.
    • The review section should not be your first resort to seek support. Put it in the discussions
    • By buying this resource you agree that you know the limitations and requirements written above and that you have read the whole description at least once. This contains but is not limited to the requirement to have an internet connection available.
    • You are responsible for what happens to the plugin after downloading. Accidental distribution or leaking will not be used as an excuse. You are responsible for the security of the plugin. When a leak under your name is found you will immediately be removed from the buyers if an update is incoming and the plugin will be disabled. Next a report will be made on spigot that can lead to a permanent ban.
    • SLA: I get around 200+ support requests a day, due to this the minimum response time is set for 5 days to a max of 20 days for smaller problems. Keep in mind that during the summer I may be on vacation (this will be noted at least a month beforehand on the plugin page). I will announce vacations a month beforehand. Feature requests are noted but not immediate replied to until research or implementation starts
    • Support is only given to the account who bought it. Support to "friends", "developers" or "co-owners" will not be given.
    • By purchasing you agree to use Freshdesk for support. I will not answer any PM's, discussions, threads, @tags, skype or profile posts..
    • If you want to use this on multiple networks contact Maximvdw on freshdesk. Price for additional networks remains $8/network
WHAT TO DO AFTER BUYING:
  1. Test the default config
  2. Learn the default config see how it works, play with the values
  3. Found a problem? Contact me in the discussions
  4. Plugins are tested by a team before uploaded, so sometimes new changes can take some time. but this means every update works, so if you have a plugin fault (not starting, loading,..) this usually means an issue on your side. Feel free to contact me
  5. Have an idea or feature? Submit it: Most accepted features (that can be done fast) are placeholders
  6. Do you like the plugin? Leave a rating it helps :)
  7. Want to help improve the plugin? PM me your experience (timings, config, animations you made ,...) I want to know these things so I can base my placeholders, preset animations ,.. on things people actually use.
  8. 06-06-2015_16-32-18.png
    :D

Latest reviews

When I edit the config file and reload the plugin this happens:
- it saves the config and regenerates a new basic config
- I lose all my work
Can you fix this or is it by maxim?
Good job
MikeyBoy
MikeyBoy
Really thank you for all your support, youre awesome. This reviews keeping up my work.
Great work mate ♥ Thank you so much
MikeyBoy
MikeyBoy
Guys really thanks for all ratings! Enjoy!
Děkuji za tento plugin je opravdu dobrá a chtěl jsem vidět, jak to funguje :D
MikeyBoy
MikeyBoy
Hahah! :D Thanks for the review, enjoy mate!
BlackSpigot General Chat
Rules Help Users
    A @ AxellGB: hi
    Top