Commit Graph

107 Commits

Author SHA1 Message Date
FiniteReality
00895b1227 Remove CommandService.BuildServiceCollection
💥
2017-05-06 18:25:44 +01:00
RogueException
ba1982a3f9 Replaced DependencyMap with ServiceCollection and IServiceProvider (#625) 2017-05-04 12:52:26 -03:00
Bond-009
cb4f6e37f6 Overloaded AddModuleAsync with Type (#581)
* Overloaded AddModuleAsync with Type

* Overloaded RemoveModuleAsync with Type

* Use expression-bodied method for consistency
2017-04-29 04:42:47 -03:00
Finite Reality
ca18eb0eb4 Replace TryGetValue call with TryRemove call (#586)
Resolves #584
2017-03-23 11:03:06 -03:00
RogueException
3fb21e06c2 Fixed RunMode.Sync running Async. Added ThrowOnError option. 2017-03-18 21:38:28 -03:00
RogueException
a2b12520b2 Added CommandService logging 2017-03-18 12:14:14 -03:00
Finite Reality
3ddb01a5a2 Fix order of iteration in ExecuteAsync (#534) 2017-03-18 08:55:56 -03:00
Christopher F
f3aa546407 Throw an InvalidOp if a user tries to set the DefaultRunMode to Default
never overestimate the end user
2017-02-12 19:06:36 -05:00
FiniteReality
0715cb6623 Actually use HashSet<T> to initialize _moduleDefs 2017-01-22 03:08:52 +00:00
FiniteReality
a65ba095af Replace ConcurrentBag<T> with HashSet<T>
Fixes #487
2017-01-17 20:08:18 +00:00
RogueException
2c075e186a Added support for custom ModuleBase command contexts. Added SocketCommandContext/RpcCommandContext. 2016-12-23 16:57:30 -04:00
RogueException
1965c0539a Added support for concrete Rest/Socket/RPC classes in command params 2016-12-23 16:57:29 -04:00
RogueException
5663e47db6 Added command separator char, improved passing search results to parser 2016-12-18 17:48:33 -04:00
Christopher F
604d69fb7f Revert "Implement configurable command node separators" 2016-12-17 16:34:04 -05:00
RogueException
18de2ecac7 Merge pull request #412 from FiniteReality/issue/304-v2
Implement configurable command node separators
2016-12-16 15:38:27 -04:00
RogueException
b01200f929 Cleaned up primitive type readers. Fixed TimeSpan reader. 2016-12-16 06:33:21 -04:00
Finite Reality
9aa924f75c Remove blank line 2016-12-11 18:07:30 +00:00
FiniteReality
70d30efb94 Implement configurable command node separators
This fixes #304 over foxbot's PR for the same issue.
2016-12-09 10:31:57 +00:00
RogueException
803b65212e Merge pull request #364 from FiniteReality/feature/parameter-tweaks
Parameter preconditions and typereader overriding
2016-12-07 21:39:55 -04:00
Aux
d4d8e721db Resolves #390
Fix case insensitive commands forcing parameters to return lowercase
2016-12-04 17:29:39 -04:00
FiniteReality
704b2b75f4 Fix changes after review 2016-12-03 23:51:20 +00:00
FiniteReality
254e874c99 Fix OverrideTypeReader
This commit also adds a TypeReaders property to CommandService, so
it is possible to see all of the registered TypeReaders. This makes
it possible for users to implement their own parsing instead of
using the built-in parsing.
2016-12-03 23:51:20 +00:00
james7132
3e35666186 Add TimeSpan TypeReader 2016-11-27 01:57:12 -08:00
Christopher F
ecc3d9c729 Add configuration option for case insensitive commands
Currently, commands are case-sensitive. This PR allows for commands to be case insensitive (which is now the default option).
2016-11-26 23:12:23 -05:00
Christopher F
55f6efd080 Merge branch 'issue/365'
Conflicts:
	src/Discord.Net.Commands/CommandService.cs
2016-11-26 22:26:47 -05:00
Christopher F
f9c5e229d0 Add CommandServiceConfig, DefaultRunMode
This adds an (optional) CommandServiceConfig, as well as a DefaultRunMode for commands.

This resolves #368 (for commands where a RunMode is not explicitly specified, a custom default value should be used)
2016-11-25 18:49:35 -05:00
FiniteReality
05fb81c617 Fix a bunch of issues with aliases 2016-11-20 20:20:23 +00:00
RogueException
593ba46f1c Cleaned up command builders and async func names 2016-11-18 08:18:00 -04:00
FiniteReality
de645548a9 Complete command builders implementation
In theory this should just work, more testing is needed though
2016-11-18 09:14:19 +00:00
FiniteReality
6d46347ebc Finish implementation of command builders 2016-11-16 21:01:11 +00:00
RogueException
b8102a6767 Default DependencyMap to an empty map when not supplied 2016-10-20 03:55:14 -03:00
FiniteReality
a7cefbcf9f Move DI stuff around to support scoped DI 2016-10-16 17:33:00 +01:00
james7132
3841eb616c Fix #311
TypeInfo.BaseType will likely return the same Type if all modules derive from
ModuleBase or some common subclass of it. Making it appear as if only one module
is registered.

Changed to TypeInfo.AsType for expected behavior.
2016-10-16 08:39:26 +00:00
RogueException
8c8ac47887 Merge pull request #308 from Joe4evr/AutoLoadFix
Exclude abstract types from being loaded as modules.
2016-10-15 14:29:24 -03:00
RogueException
8ebc437674 Exposed IDependencyMap in CommandService.Execute 2016-10-15 12:27:51 -03:00
Joe4evr
bc45c0b6a4 Exclude abstract types from being loaded as modules. 2016-10-14 18:41:13 +02:00
RogueException
635819b89f Reduced command module lifetime to a single command execution. Removed ModuleAttribute. 2016-10-10 20:27:16 -03:00
RogueException
5c33e28757 Added missing ConfigureAwaits 2016-10-08 16:59:17 -03:00
RogueException
98475302af Added bool/char typereaders 2016-10-06 04:05:32 -03:00
RogueException
3c3e790edd Replaced several arrays with immutables 2016-10-05 23:59:55 -03:00
RogueException
708f9fe514 Added CommandContext, fixed commands compile errors 2016-10-04 09:54:44 -03:00
FiniteReality
accb3e27b8 Add PriorityAttribute and sortby priority in Search 2016-09-15 18:43:06 +01:00
RogueException
23a0316252 Split IMessage into IUserMessage and ISystemMessage 2016-08-27 19:07:22 -03:00
RogueException
f6d8659a2e Removed ParamList null checks 2016-08-21 21:47:32 -03:00
RogueException
324664917d Added new parameter scoring, support multiple matches 2016-08-21 11:03:50 -03:00
FiniteReality
610a3a26ab Add DI support to command Groups 2016-08-20 21:06:13 +01:00
RogueException
0b25554c31 Unknown overload should return UnknownCommand instead of ParseFailed 2016-08-17 10:07:26 -03:00
RogueException
94d6acc00e Exposed reflection classes on commands, modules and parameters 2016-08-12 06:36:06 -03:00
RogueException
e452aa9662 Cleaned up Command Result structs 2016-08-09 17:53:08 -03:00
Finite Reality
0e920da21f Complete Preconditions implementation 2016-08-03 17:21:38 +01:00