* Bump version to 3.19.0 in nuspec file
* Update app footer year and version in docfx.json
* Bump version prefix to 3.19.0
* Update CHANGELOG for version 3.19.0-beta.1
* implement modal v2 components to rest interaction extensions
* update rest extensions inline docs
* rename respondwithmodal to respondwithmodalasync
* add type converters for single user, role, channel, mentionable selects and file-uploads
* update rest interaction module base with new async methods
* code cleanup and bug fixes in default snowflake modal typeconverter
* add default snowflake typeconverters to interaction service
* fix nre in respondwithmodal extension method
* add interaction service attributes new modal input types
* add new modal component type converters
* relocate hide attribute outside of slash command enum converter for general purpose use
* refactor base inputcomponentbuilder types to use modal component typeconverters
* add builders for new modal input types
* add component insertion methods to modal builder for new input types
* refactor base inputcomponentinfo class to use modal component typeconverters
* add component info classes for newly added modal input types
* add build logic for new modal input metadata classes
* add componet collection properties for new modal input types to modalinfo
* implement convertion logic for new modal inputs to the respond with modal extension methods
* implement modal input typeconverters into interaction service
* add read logic to enum modal component typeconverter
* add default entity modal component typeconverter
* add write logic to default value modal component typeconverter
* add write logic to the nullable modal component typeconverter
* add description property to input label attribute
* add inline docs to modal attributes
* add modal file upload attribute
* add inline docs to input component infos
* add description property to input component builder
* add inline docs to modal component builders
* add modal file upload component info
* add modal file upload component builder
* rename select input attribute
* refactor select input attribute and add description property in moduleClassBuilder
* add inline docs to modalBuilder
* add description to inputComponentInfo
* file-scope namespace for commandBuilder and modal interfaces
* update respondWithModal logic to include new components
* add inline docs and file upload component to modalInfo
* add attachment modal typeconverter
* create base non-input modal component entities
* update modal component typeconverter namespaces and remove unused
* add default min/max values to select input attribute
* create text display builder and info classes
* add text display parsing logic
* add text display attribute
* add modal select menu option attribute
* add docs to text display component info
* fix text display parsing
* add isRequired mapping to select menus
* revert to block-scope to clear diff false-positives
* fix inline doc annotations
* fix build errors
* add interaction parameter to modal component typeconverter write method
* add null check to select menu option attribute
* add null check to default value modalTypeConverter write method
* make ctors of modal component base attributes internal
* implement predicate to hide attribute and enum modalcomponent typeconverter
* fix HideAttribute inline docs build errors
* simplify naming of the component classes and normalize namespaces
* fix build errors in module class builder
* add inline docs to modalComponentTypeConverter TryGetModalInteractionData
* add min/max values parameters to ModalChannelSelectAttribute
* fix defaultArrayModalTypeConverter chanell type write logic
* simplify addDefaultValue methods for channe, mentionable, role, and user selects
* add emoji support to select menu options
* add instance value parsing to enum modalComponentConverter
* fixed error on changing role icon/emoji to an image.
* Update src/Discord.Net.Rest/Entities/Roles/RoleHelper.cs
---------
Co-authored-by: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com>
* Get Archived thread calls on text channels
* Throw not supported exceptions on Thread&Voice channels
* Extract interface
* Should probably also change these
* Move to regions
Currently in MessageComponentConverter, the error on unknown type is
System.ArgumentNullException: Value cannot be null. (Parameter 'target')
This is because PopulateObject() doesn't allow a null target, but we
don't have a default case on the switch statement.
* fix(IsLoadableModule): return false for abstract classes
IsLoadableModule did not check the property TypeInfo.IsAbstract.
Therefore, an unnecessary warning log stated that it could not be loaded.
Now, if a class is abstract, it will be ignored safely and all the inheritors will continue to load any commands.
* fix: handle other attributes
Co-authored-by: Cenk Ergen <57065323+Cenngo@users.noreply.github.com>
* refactor: simplify attribute logic
* fix: correct terminology in debug message
---------
Co-authored-by: Cenk Ergen <57065323+Cenngo@users.noreply.github.com>