Commit graph

107 commits

Author SHA1 Message Date
Zach Levis
7d46e64ed3 Add logical operators to permissions
These operators allow some basic combination of permissions to occur,
which expands what can be easily done with permissions definitions.
2021-01-16 08:54:07 +01:00
p5nbTgip0r
09f8dbd956 🐛 JDA: Fix webhook messages throwing NPE (#214)
* Fix NPE with webhook messages.

Webhook messages would be constructed as `JDAGuildSender`, which calls `Objects.requireNonNull(event.getMember())` however the JDA documentation states that the `getMember()` method will `be null in case of Message being received in a PrivateChannel or isWebhookMessage() returning true.` If the message is a webhook message, a generic `JDACommandSender` instance will be constructed instead of a `JDAGuildSender`

* Add webhook fix to changelog
2021-01-16 08:54:07 +01:00
Alexander Söderberg
9550dce5e6 Add access to parameter annotations in the parameter injector 2021-01-16 08:54:07 +01:00
Alexander Söderberg
92f8661b59 📚 Make CHANGELOG less messy and add missing changes 2021-01-16 08:54:07 +01:00
Alexander Söderberg
2cf743c805 Add injection services (#211)
*  Add injection services

* Change dependency scope for Guice
2021-01-16 08:54:07 +01:00
Alexander Söderberg
0b6a554946 Implement predicate permissions (#210)
Co-authored-by: Josh Taylor <me@broccol.ai>
2021-01-16 08:54:07 +01:00
jmp
2068b5a43c update changelog 2021-01-16 08:54:07 +01:00
Jason
7347ced0db Expose Command/Context from exceptions where possible (#204)
* Expose Command/Context from exceptions where possible

* Update changelog
2021-01-16 08:54:07 +01:00
Alexander Söderberg
83edf839e3 :docs: Add missing stuff to changelog 2020-12-18 19:49:57 +01:00
Alexander Söderberg
c281c49edf 🚀 Prepare for release 2020-12-18 19:49:57 +01:00
Alexander Söderberg
9ed40a698a Allow interception of command builders based on annotations in AnnotationParser
Fixes #179
2020-12-18 19:49:57 +01:00
Alexander Söderberg
e5a35afb8a Add @Parser annotated methods
Fixes #166. Also fixes #180.
2020-12-18 19:49:57 +01:00
Alexander Söderberg
885cc7e005 🎨 Fix formatting 2020-12-18 19:49:57 +01:00
zml
1e91273e0e Work towards making CommandMeta typesafe (#173)
Co-authored-by: Alexander Söderberg <sauilitired@gmail.com>
2020-12-18 19:49:57 +01:00
Alexander Söderberg
ab366be24d :sparkes: Add @Suggestions annotated methods 2020-12-18 19:49:57 +01:00
Alexander Söderberg
2f077e03f3 Improve injection 2020-12-18 19:49:57 +01:00
Alexander Söderberg
eb588997f9 🎆 Release 1.2.0 2020-12-07 20:05:45 +01:00
Alexander Söderberg
070a719165 Try to preserve command sender when getting Brigadier suggestions 2020-12-07 20:05:45 +01:00
jmp
ded94567c6 Add a ManagerSetting to override existing commands 2020-12-07 20:05:45 +01:00
jmp
1ff5a2c4ce 📚 Update changelog
Add back an entry which was accidentally removed, move an entry to the correct location, add missing entries
2020-12-07 20:05:45 +01:00
jmp
544c344f18 📚 Update changelog
Also minor codestyle fixes
2020-12-07 20:05:45 +01:00
zml
013d2d61f4 Give CommandManager a registration state (#148)
* Make CommandManager track its availability for registration

This prevents situations where changes to the manager
would result in undefined state in other places.

* Add unsafe registration capability

* Very minor formatting + `@since` tags

* Add changes to changelog

Co-authored-by: Alexander Söderberg <sauilitired@gmail.com>
2020-12-07 20:05:45 +01:00
jmp
7df6917fe4 Added CommandExecutionException which wraps any exception thrown during the execution of command handlers. Should be handled using CommandManager#registerExceptionHandler, similar to NoSuchCommandException, ArgumentParseException, etc. 2020-12-07 20:05:45 +01:00
jmp
2f0ded5be6 🐛 Fix registration of command aliases on Bukkit when using Brigadier 2020-12-07 20:05:45 +01:00
jmp
fc1a613463 Allow for use of named suggestion providers in @Flag annotated command method parameters, add methods to FlagContext to work with flag values as optionals 2020-12-07 20:05:45 +01:00
jmp
dbdafed273 🐛 Fix Bukkit alias command suggestions without Brigadier 2020-12-07 20:05:45 +01:00
jmp
e6af4e6caa Add a method to get the failure reason of SelectorParseExceptions 2020-12-07 20:05:45 +01:00
jmp
a04e3f92cb Allow for use of a BiFunction<C, E, Component> instead of just a Function<E, Component> in MinecraftExceptionHandler 2020-12-07 20:05:45 +01:00
jmp
1193135b8e 📚 Update changelog 2020-12-07 20:05:45 +01:00
jmp
829c310872 Add a method to CloudBrigadierManager to enable/disable native suggestions for argument types 2020-12-07 20:05:45 +01:00
jmp
9c9e13e8b8 Allow for use of @Completions annotation with argument types other than String 2020-12-07 20:05:45 +01:00
jmp
9a5c674f0d 🐛 Use the correct default values for Double and Float ranges in the StandardParserRegistry 2020-12-07 20:05:45 +01:00
Alexander Söderberg
d484b99fc4 Store the currently parsing argument in the command context
This fixes #101
2020-12-07 20:05:45 +01:00
Alexander Söderberg
c2065aabd1 Add parameter injectors (#104) 2020-12-07 20:05:45 +01:00
jmp
e4efffe577 📚 Update changelog 2020-12-07 20:05:45 +01:00
Alexander Söderberg
fdeaa7d8cc 📚 Update CHANGELOG to prepare for the release 2020-10-24 19:52:44 +02:00
Alexander Söderberg
a68bc0bea7 Allow for recursive annotations (#97)
Co-authored-by: Mariell <proximyst@proximyst.com>
2020-10-24 19:52:44 +02:00
Alexander Söderberg
979d1079c6 Add a PircBotX implementation of cloud 2020-10-24 19:52:44 +02:00
jmp
c74ac64e5f 🐛 Fix optionals not being brig executors 2020-10-24 19:52:44 +02:00
jmp
c9d4f39612 Allow for class annotations as a default for when an annotation is not present on a method 2020-10-24 19:52:44 +02:00
Alexander Söderberg
d37f2236e7 📚 Add recent changes to CHANGELOG 2020-10-24 19:52:44 +02:00
Alexander Söderberg
65b7cb6c69 🔥 Fix super important issues 2020-10-24 19:52:44 +02:00
Alexander Söderberg
9344adea59 📚 Add recent changes to CHANGELOG 2020-10-24 19:52:44 +02:00
jmp
7cb1661f42 Add BungeeCommandPreprocessor 2020-10-24 19:52:44 +02:00
allenclan23
f73b713658 Expand the bungee module 2020-10-24 19:52:44 +02:00
jmp
d86973f227 Add VelocityCommandPreprocessor 2020-10-24 19:52:44 +02:00
Alexander Söderberg
ad3ca86f42 Add a lockable command manager
This will be used for Sponge & Fabric, that both require command registration to happen (at latest) in specific events. This way we lock writing after that event has occurred.

As a side effect, we're able to collect & merge all commands before registering them to the platform, which means we don't have to hackily force-inject duplicate commands.
2020-10-24 19:52:44 +02:00
Alexander Söderberg
79aefb05b5 Add LocationArgument to cloud-bukkit (#63)
*  Add LocationArgument to cloud-bukkit

* 🎨 Use the Bukkit CommandSender from the command context in LocationArgument

* 🐛 Fixed quoted parsing in StringArgument

* 📚 Fix code style

Co-authored-by: jmp <jasonpenilla2@me.com>
2020-10-24 19:52:44 +02:00
allenclan23
8d69767c15 Added ServerArgument to Velocity 2020-10-24 19:52:44 +02:00
jmp
c7c286eb7a Update TextColorArgument with captions 2020-10-24 19:52:44 +02:00