Commit Graph

370 Commits

Author SHA1 Message Date
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
Christopher F
defc8f1c4e Add docstrings to preconditions. 2016-11-25 18:09:18 -05:00
Christopher F
ea148db08b Add RequireBotPermission, rename RequirePermission
This is a breaking change.

Adds a precondition that requires the bot has a specified permission (Resolves #211).

Renames RequirePermission to RequireUserPermission.
2016-11-25 17:48:08 -05:00
Christopher F
fdecfe6bd4 Add RequireOwner Precondition
This precondition will require that the invoker of the command is the owner of the bot.
2016-11-25 17:44:37 -05:00
FiniteReality
5cdda592c1 Add requested changes 2016-11-25 21:19:41 +00:00
FiniteReality
bc76e38ce5 Fix additional issue with aliases building incorrectly 2016-11-25 21:15:39 +00:00
FiniteReality
05fb81c617 Fix a bunch of issues with aliases 2016-11-20 20:20:23 +00:00
FiniteReality
fd5e237b41 Fix commands from being created with invalid aliases 2016-11-20 13:55:55 +00:00
Davipb
b0286975cd Fix parsing of multiple quoted parameters
This should Fix #262
2016-11-19 11:05:53 -02:00
RogueException
593ba46f1c Cleaned up command builders and async func names 2016-11-18 08:18:00 -04:00
RogueException
a73e411edb Merge branch 'feature/command-builders' of git://github.com/FiniteReality/Discord.Net into FiniteReality-feature/command-builders 2016-11-18 06:11:07 -04:00
FiniteReality
196cce05af Clean up attribute checking and extraneous casts
This probably isn't all of them. This is what I get for copy+pasting code.
2016-11-18 09:24:31 +00: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
RogueException
42cbd67ee0 Removed prerelease tag from project.json 2016-11-17 16:23:12 -04:00
RogueException
cf42bd1854 Restored project.json and old build script 2016-11-17 16:18:49 -04:00
RogueException
9b79019b54 Merge pull request #355 from AntiTcb/fix/enumTypeReader
Values in ImmutableDictionaries were strings rather than enumType
2016-11-17 15:24:17 -04:00
RogueException
0f674d2404 Updated dependencies to .NET Core 1.1 2016-11-17 17:30:51 -04:00
ObsidianMinor
ddca1bc6a4 Migrated projects to Visual Studio 2017 2016-11-17 10:05:30 -06:00
AntiTcb
ef0337752e Proper fix this time, fully tested on names and values. 2016-11-16 23:16:37 -05:00
FiniteReality
6d46347ebc Finish implementation of command builders 2016-11-16 21:01:11 +00:00
AntiTcb
59d393b357 Values in ImmutableDictionaries were strings rather than enumType 2016-11-16 11:43:23 -05:00
FiniteReality
ab95ced41d Use default TypeReader if not overriden 2016-11-15 21:57:27 +00:00
FiniteReality
d25fbf78c0 Use lambda-style subbuilders 2016-11-15 21:50:10 +00:00
FiniteReality
af433c82cc Complete builders, start work on using them 2016-11-15 21:28:04 +00:00
RogueException
4180856e39 Merge branch 'fix/enumTypeReader' of git://github.com/AntiTcb/Discord.Net into AntiTcb-fix/enumTypeReader 2016-11-14 20:17:54 -04:00
RogueException
c2722cf7c4 SendMessage should accept EmbedBuilder directly 2016-11-14 20:05:43 -04:00
FiniteReality
f95154af23 Start work on command builders
Right now commands require a module before they can be created;
I'm looking to remove this in the future.
2016-11-14 19:36:48 +00:00
Christopher F
bad7d827c3 Modify SendMessage to include an embeds field 2016-11-13 00:51:40 -05:00
Alex
d8440b764a Changes requested from review 2016-11-12 00:07:25 -05:00
AntiTcb
1d20029c7b Enumerate over Enum.GetNames to ensure equal value names are not excluded. 2016-11-02 03:01:42 -04:00
Sindre Langhus
0b43545ae0 Update ReplyAsync Task to return the sent message. 2016-10-23 23:55:09 +02:00
RogueException
b8102a6767 Default DependencyMap to an empty map when not supplied 2016-10-20 03:55:14 -03:00
RogueException
3ca0067f1b Merge pull request #313 from FiniteReality/scoped-di
Move DI stuff around to support scoped DI
2016-10-16 21:50:28 -03:00
Christopher F
11f4dc0d10 Add a missing null-conditional in CommandContext#ctor
Prevents an NRE when creating a CommandContext from a message in an IDMChannel
2016-10-16 16:25:10 -04: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
890318ecfc Added a simpler CommandContext constructor 2016-10-15 13:08:13 -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
735c869f3d Moved Client from ModuleBase to CommandContext. 2016-10-14 13:12:28 -03:00
RogueException
88c5dd38bf Added CommandContext.IsPrivate 2016-10-13 11:50:40 -03:00
RogueException
4643e44e48 Updated package info 2016-10-12 16:49:22 -03:00
RogueException
addb81f288 Fixed Commands version 2016-10-12 16:37:02 -03:00
RogueException
3fc7b3b206 RPC's Authorize should not try to authenticate 2016-10-10 21:34:45 -03:00
RogueException
d480b2f25b Renamed run modes 2016-10-10 21:19:41 -03:00
RogueException
c7ac85455f Added a configurable run mode for commands 2016-10-10 21:16:34 -03:00
RogueException
635819b89f Reduced command module lifetime to a single command execution. Removed ModuleAttribute. 2016-10-10 20:27:16 -03:00
RogueException
8ab675e775 Restrict typereaders to using the cache 2016-10-08 18:41:55 -03:00
RogueException
5c33e28757 Added missing ConfigureAwaits 2016-10-08 16:59:17 -03:00