* Add input validation for bot tokens based on their length
* Add token validation to BaseDiscordClient#LoginAsync
Adds a TokenUtils class which is used to validate that tokens are correct
* Revert changes to DiscordRestApiClient
* Add Unit tests to the TokenUtils class, fix a logic error that was caught by those tests
* Allow for API to throw exceptions
Moves the validation of tokens to be inside of LoginInternalAsync, and writes a Warning to the console when the supplied tokens are invalid
* Added GetJumpUrl() as an IMessage extension method
* Removed extra line for consistency
* Moved the namespace from Discord.Commands to Discord
* lint: remove eof newline
* lint: use TextChannel to get GuildID
* Mark guild as optional for invite
* Mark partial InviteMetadata members as Optional<T>
* Some of them aren't sent when requesting through the general GET invite endpoint
* Remove GetInviteParams
* It was kinda stupid in the first place, might as well always get the count instead of having to ask the user whether they want the two fields filled or not.
* Add ChannelType property
* Add vanity invite support
* fix channel permissions modify parameter to use nullable boolean, correct default value
* Add general tests for the ChannelPermissions.Modify method to test default values
* remove unused cast in tests
* add guildpermission modify no param tests
* Add no-param modify tests for OverwritePermissions
* fix inconsistent parameters in GuildPermissions cstr
* Adjust formatting of methods and cstrs with many parameters
* remove temp file that was included. no idea what that is
* Fix System dependency
I should really stop fixing merge conflicts in the github website.
* Fix#995 ICategoryChannel.CategoryID throws NotSupportedException
* Add tests
* change run mode of TestChannelCategories
* Add throw for GetCategoryAsync
* Add xml doc explaining why exception is thrown
* Add test coverage for text and voice channel categories
* initial implementation of INestedChannel
* more implementation of INestedChannel design
* Add case in RestChannel Create for Category type
* set the CategoryID for RestVoiceChannel
* rewrite channel category tests to work with existing pattern
* remove outdated todo
* Make IVoiceChannel implement INestedChannel
* remove redundant interface implementation
* Add c#7 feature from feedback
* Remove redundant GetCategoryAsync methods from socket entities
* Added configureawait to async methods
* change signature of interface GetCategoryAsync
* Add check for cachemode in rest channel GetCategory
* remove redundant IGuildChannel interface from ITextChannel and IVoiceChannel
- Fixes indentation with a few files (looks like a bad copy+paste job)
- Renames RoleInfo to RoleEditInfo
- Moves RoleInfo from MemberRoleAuditLogData into its own class
All of this should improve docs.
- Replaces the usages of `ReadMessages` with `ViewChannel`
- Renames the read message parameters of `GuildPermissions#Modify` to be view channel as well
* Update deps, fix test warnings.
* Support ns2.0
* Fix typo
* Remove ns1.1 support
* Net.Http and Net.Websockets.Client are not needed in ns2.0
* Move to net46 per volt
* Remove ns1.3 constants
* Add ability to support different types of quotation marks
* Added normal quotation mark to list of aliases, removed single quote mark
* clean up leftover changes from testing
* change quotation mark parsing to use a map of matching pairs
* remove commented out code
* Fix conventions of the command parser utility functions
* change storage type of alias dictionary to be IReadOnlyDictionary
* revert type of CommandServiceConfig QuotationMarkAliasMap to Dictionary
* minor formatting changes to CommandParser
* remove unnecessary whitespace
* Move aliases outside of CommandInfo class
* copy IReadOnlyDictionary to ImmutableDictionary
* minor syntax changes in CommandServiceConfig
* add newline before namespace for consistency
* newline formatting tweak
* simplification of GetMatch method for CommandParser
* add more quote unicode punctuation pairs
* add check for null value when building ImmutableDictionary
* Move default alias map into a separate source file
* Ensure that the collection passed into command service is not null