* init
* attribute rename
* added docs
* Revert "added docs"
This reverts commit 30aa0c4ef7.
* added basic docs
* Switched to nested modules for method grouping, changed command traversal method
* interface now declares the helper methods
* added new method with predicate parameter
* added config option for deleting the "thinking" state of unhandled commands
* Slash Module Base now exposes helper methods for interacting with the underlying Interaction
* Revert "interface now declares the helper methods"
This reverts commit 541b0be935.
* IDiscordInteraction now declares the helper methods
* new cancelable wait interaction method
* added support for user created command types
* added option type 'number', added write method to typereaders
* added enum and timespan typereaders
* revert
* added interface method declarations
* inline docs
* revert interface changes
* current user id assignment in sharded client
* added wildcards to interactions, tweaks
* tweaks on interaction wild card pattern
* Pre-app menu
* fixed CurrentUserId and added application command events
* made event listener persistent
* Sharded Client Application Command Events and CurrentUserId Issue (#105)
* added interface method declarations
* inline docs
* current user id assignment in sharded client
* fixed CurrentUserId and added application command events
* made event listener persistent
* removed option type converter, task offloaded to typereaders
* added "deleteOGResponse" method to module base
* Upstream fetch for Discord-Net-Labs/release/3.x
* solved merge conflicts
* removed merge artifacts
* added new Context Command attributes
* added Conxtext Command info classes and changed the naming scheme for the existing classes
* added IgnoreGroupNames prop to command attributes
* added ContextCommand builder
* moved command builders to internal
* added ContextCommand methods to the command service
* command service now uses InteractionHelper to register commands
* bug fixes and refactorings
* docs update
* added inline docs to public members
* added inline docs
* added method name property to command infos
* added inline docs
* changed the execution callback to a declared delegate
* createInstance delegate is now created only once per module
* declared the ExecuteCallback delegate
* introduced a way to modify the command permissions
* changed method names
* added optional compiled lambda module builder
* added the missing sync execution option
* moved run mode selection to the base class
* info class refactorings
* switched to compiled lambda based method invoke
* command refactorings
* added docs
* removed untended class
* bug fixes
* minor refactorings
* reflection changes
* bug fix for interaction parameters
* commands and modules now groups the preconditons on building
* added default permission to context commands
* added DontAutoRegister attribute
* renamed TypeReader to TypeConverter
* added docs to TypeConverterResult, made ISlashModuleBase public
* namespace and project change
* added inline docs file
* renamed ExecuteComponentCommand method
* added scoped service support to the dependency injection model
* fixed premature disposal of scoped services
* extended the scope to cover the precondition checking methods
* removed slash command related preconditions from core lib
* added sample application
* precondition checks are now executed according to the command RunMode
* reverting the conflicting changes
* reverted SocketInteraction
* reverting more conflicts
* added indentations to inline docs
* implemented change requests
* updated the sample app
* moved builders to public
* added indentations to typeconverter docs
* renamed old componentCommandExecuted event
* bug fix for generic typeconverters
* Revert "bug fix for generic typeconverters"
This reverts commit fcc61957de.
* bug fix for context commands
* code cleanup
* removed public module build method
* modev OnModuleBuilding execution inside the module build method
* added try-catch blocks encapsulating arg generation
* fixed parameter preconditions not raising commandExecuted event
* removed OnModuleBuilding execution from ModuleClassBuilder
* removed setters from Precondition ErrorMessages
* added methods to interaction service for creating user defined modules
* added IParameterInfo parameter to TypeConverter.Write
* changed the target frameworks
* DefaultValueConverter bug fix
* GenerateArgs refactorings
* WaitForMessageComponent now relies message id
* added ChannelTypes support
* added ChannelTypes support
* fix build error for new lib version
* added ToString method to CommandInfo
* added ToString method to CommandInfo
* Fix index out of bounds error for new non-null slash command option collection
* enum converter rework
* added user extendable types to command context and module base
* added regex anchors to ensure pattern matches the whole string
* incomplete guides
* add missing ignoreGroupNames assignment for ComponentInteraction
* typeconverters now seperate pascal casing parameter names
* fix missing IServiceScopefactory ?
* Revert "typeconverters now seperate pascal casing parameter names"
This reverts commit 141300f3d2.
* moved the option name pascal casing seperator to RestUtils
* fix component command arg generation
* removed , from default command delimiters
* updated the regex to match every non whitespace value
* added Autocomplete interaction support and updated the regex to match every non whitespace value
* replaced the posix class with range exps in pascal casing seperator
* added inline docs to autocompleter related classes
* added regex metacharacter escape to wildcard patterns
* added null check to Regex EscapeExcluding
* added .net5.0 support and updated the project package
* added .net5.0 support and updated the project package
* add dependency injection to autocompleters
* add net6.0
* bump versions
* bug fix: pascal casing parameters are not assigned
* rework autocomplete commands to accept command and parameter names seperatly
* rename *InteractionCommandContext to *InteractionContext
* add max-min value support to number type slash command options
* add hide attribute to deafult enum converter
* add inline docs
* guides update: min/max value and autocomplete interactions
* remove net6.0 support
* add inline doc to Config.EnableAutocompleters
* add autocompleters guide
* added attribute usage to min/max value
* implement rest based interactions
* add handling logic for rest based interactions
* update default TypeConverters to accommodate rest based interactions
* added interaction specific interfaces
* fix build error
* implement change requests
* bump metapackage version
* replace concrete interface types with interfaces in command execution logic
* fix min/max value attribute target
* add rest specific interaction module for creating interaction responses for rest based interactions within the module
* update rest callback to accept an interaction context parameter
* clean up RestResponseCallback implementation artifacts
* fix command registration bug when using the sharded socket client
* update docs
* fix build errors
* fix slash command depth check
* implement requested changes
* fix build error
* the grand finale
* the grand finale
Co-authored-by: quin lynch <lynchquin@gmail.com>
* Update GuildPermissionsTests.cs
* Update GuildPermissions.cs
* Add competing activity status type
* logo changes
* logo text as path
* add missing logo
* I've added a link to Bulk overwrite of global slash commands for when it gets commited
* Fix link for 3.x
Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>
* Create Create 08-bulk-overwrite-of-global-slash-commands.md
Just added what i was trying to figure out it might help others that are looking for an example.
* added a little comment
* Removed create from file name
* Update README.md
* Update README.md
* Fix SocketSlashCommandDataOption to use long for Number instead of int (#89)
* Application webhooks (#86)
* Added webhook components for hooks having an application ID.
* resolved#88
* resolved#85
* Update device for gateway
* Fix MessageProperties.Embed being ignored in some methods that modifies a message (#92)
* Update label/description lengths for selects (ref: https://github.com/discord/discord-api-docs/pull/3598/files) (#91)
https://github.com/discord/discord-api-docs/pull/3598/files
* Fix tests (#90)
* Fix gateway serialization to include nulls (#96)
* Add missing guild permissions (#93)
* Update GuildPermissions.cs
* Update GuildPermissionsTests.cs
* Add banner and accent color to user and some fixes/improvements (#81)
* Add banner and accent color to user and some fixes
* Fix
* Fix!
* increase size of user banners to 256
* Some changes and mini refactor of color class
* add constant maxDecimalValue to color and checks with exceptions
* add `NotSupportedException` for `BannerId` and `AccentColor` in `SocketWebhookUser`
* Update ComponentBuilder.cs
- `MaxLabelLength` from `ComponentBuilder` moved to `ButtonBuilder`
- Added `MaxLabelLength` for `SelectMenuOptionBuilder`
- Changed `MaxDescriptionLength` to 100
* Interface Method Declarations for Interaction Methods (#99)
* added interface method declarations
* inline docs
* Fix serialization error
* meta: bump versions
* Fix debug pragma
* meta: bump version
* Remove rich presence button
* Assign CurrentUserId in Sharded Client (#100)
* added interface method declarations
* inline docs
* current user id assignment in sharded client
* Allow EmbedBuilder.ImageUrl to use attachment scheme syntax (#104)
* Make Webhook ApplicationId nullable instead of optional + fix IDiscordInteraction DeferAsync method (#110)
* Make Webhook ApplicationId nullable instead of optional
* Fix IDiscordInteraction DeferAsync to account for ephemeral defer
* Fix application command and thread starter messages being created as SocketSystemMessage
* Added description of ApplicationCommandType Enums
* Requested Fixes
renamed SocketApplicationUserCommand to SocketUserCommand
renamed SocketApplicationMessageCommand to SocketMessageCommand
using ContextMenuCreationProperties for both User and Message commands
* Added Summary to public members
removed whitespace from DiscordRestApiClient.cs
* Fixing guide to use switch statement
* implemented TrySendApplicationCommandAsync
* implemented ephemeral in SocketCommandBase Defer, and RespondAsync.
assigning int 64 was error. changed to "MessageFlags.Ephemeral", built and tested to work.
* removed ApplicationCommandType from SocketUser and SocketMessageCommandData
Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>
Co-authored-by: František Boháček <fandabohacek@gmail.com>
Co-authored-by: quin lynch <lynchquin@gmail.com>
Co-authored-by: d4n3436 <dan3436@hotmail.com>
Co-authored-by: MrCakeSlayer <13650699+MrCakeSlayer@users.noreply.github.com>
Co-authored-by: Nikon <47792796+INikonI@users.noreply.github.com>
Co-authored-by: Cenk Ergen <57065323+Cenngo@users.noreply.github.com>