Finite Reality
86092f9253
Rename Synopsis to Summary to improve clarity
9 years ago
Finite Reality
11f1163ec2
Add Command and module instance parameters to CheckPermissions
After a small discussion with Joe4evr on discord, a way of retrieving the
state of a module appeared to be needed. The new override should provide
enough context to a bot dev to allow them to do what they want.
9 years ago
Finite Reality
1e72eca34a
Remove Preconditions check from Command.Execute
Preconditions are still handled by CommandService.Execute
9 years ago
Finite Reality
046d56cab5
Add module-level preconditions and precondition for individual permissions
9 years ago
Finite Reality
0e920da21f
Complete Preconditions implementation
9 years ago
Finite Reality
a5393dc937
Rename Permission to Precondition
9 years ago
Finite Reality
023703c996
Add logic to CommandService.Execute to handle basic permissions checks
9 years ago
Finite Reality
47089448dd
Fix Synopsis/Description mix-up
9 years ago
Finite Reality
757c36ccd1
Rename and move things about
9 years ago
Finite Reality
8c0d4b6123
Improve command documentation features
9 years ago
Finite Reality
3856d43587
Remove Modules enumerable, change Commands to ILookup
9 years ago
Finite Reality
eb38bdd437
Fix indentation
9 years ago
Finite Reality
772fd97080
Implement initial command permissions system
After our initial discussion on the matter (see #172 ) this is the system
that we all seem to have agreed on. As a result, I have implemented a
simple system which effectively implements permissions, while being
extensible and tweakable so bot devs can decide what they want to do for
permissions.
As for default 'permissions', I'm not sure what the best approach would be
here; bot devs are likely to implement their own permissions 'levels' and
use those. I think the most we could do for now is add attributes to
require certain users (by id) and certain roles (by id and possibly by
name?) This would probably be the best option for now as it requires less
work from us, nor do we know the *exact* approach bot devs want to take
with permissions.
9 years ago
RogueException
75b864bfe7
Merge pull request #164 from RogueException/issues/160
Don't load modules that are already loaded
9 years ago
Christopher F
4c200c94ec
Key the ModuleMap based on Type rather than instance
9 years ago
RogueException
a04cf5201a
Cleaned up params implementation
9 years ago
Finite Reality
6732e256fb
Clean up a little
9 years ago
Finite Reality
5ce609c323
Fix small typo
9 years ago
Finite Reality
c8fc0ffa33
Add support for 'params' arguments
9 years ago
Christopher F
9348e087b0
Don't load modules that are already loaded
Previously, if a user autoloaded commands more than once, commands that were already in the command map would be readded.
If the module list already contains a module with the same type as the module being loaded, it will not load the new instance of this module.
9 years ago
Khionu Terabite
846a1746a2
Added `Command.Synopsis` for seperation of short and long descriptions, this being intended for long.
9 years ago
RogueException
15dd6016e7
Fixed several CommandParameter nullrefs
9 years ago
RogueException
02d5fc4a8e
Exposed CommandParameter's Type
9 years ago
RogueException
3077249705
Fixed parsing errors when the first argument is on a new line
9 years ago
RogueException
c5569a44ea
Renamed Unparsed -> Remainder. Fixed non-string remainder parameters.
9 years ago
RogueException
ff017bd51f
Remove string check for unparsed
9 years ago
Finite Reality
2f0881460c
Ignore static constructors when creating types
9 years ago
RogueException
6fe02bf033
Added a few missing primitive parsers
9 years ago
RogueException
4a06753990
Cleaned up TypeReaders
9 years ago
RogueException
f0a6899bc7
Cleaned up WebSocket entities. Renamed CachedXXX -> SocketXXX.
9 years ago
RogueException
e179c85896
Increased LogMessage's default source padding
9 years ago
Khionu Terabite
ae2ef74b14
Variable rename
Changed name to be more context appropriate
9 years ago
RogueException
b029725bb1
Cleaned up new DependencyMap system
9 years ago
RogueException
751c28a87e
Merge pull request #139 from DigiTechs/feature-128
Add Dependency Injection and Autoloading to the Commands service
9 years ago
RogueException
b407c71567
Added support for non-int enums
9 years ago
Finite Reality
b546ba919b
Simplify exception
9 years ago
RogueException
c101c44c04
Merge pull request #140 from RogueException/khio-enumpatch
Enum TypeReader
9 years ago
RogueException
c191f65c63
Fixed Mention prefix detection
9 years ago
Khionu Terabite
523b862525
Added Dynamic Enum TypeParsing, to support all enums
9 years ago
Finite Reality
39d8e3c159
Allow users to get IDependencyMap if they follow a strict format
9 years ago
RogueException
77589cc758
Fixed Discord.Net.Commands warning
9 years ago
Finite Reality
f7455c389b
Improve DI system
9 years ago
Christopher F
e266fa8b32
Cleaned up bugs in DependencyMap and ReflectionUtils
9 years ago
Christopher F
bbe51012cf
Add Dependency Map, Update Assembly Crawler
[Untested] Assembly Crawler will now accept constructors matching: new(), new(CommandService), new(IDependencyMap).
Add IDependencyMap
Add DependencyMap
9 years ago
Christopher F
6e42acba68
Add Autoload to Module Attribute
[UNTESTED] Adds an optional parameter to the Module attribute, "autoload", which defaults to true.
Specifies whether or not the assembly crawler should load this module.
9 years ago
Khionu Terabite
63fdd67413
Initial Plan for allowing custom Enum Type Readers
9 years ago
RogueException
a9bfa958dc
Reference Discord.Net with a wildcard version
9 years ago
RogueException
e2f15c96cd
Added template version for dotnet pack --version-suffic
9 years ago
RogueException
53e1c79848
Cleaned up mention logic, removed User.NicknameMention
9 years ago
RogueException
da2002b520
Renamed Message.Text -> Message.Content
9 years ago