Commit Graph

4020 Commits

Author SHA1 Message Date
Quin Lynch
09e0fdb91f Add optional id parameter to ThumbnailBuilder constructor (#3233)
Some checks failed
Dotnet Build / Build and Test (push) Has been cancelled
Dotnet Build / Deploy (push) Has been cancelled
2026-02-10 21:15:56 -04:00
Quin Lynch
c3a30dbf95 Add optional id parameter to SeparatorBuilder constructor (#3234) 2026-02-10 21:15:43 -04:00
Quin Lynch
b169a116d2 Add constructor for SectionBuilder with id (#3235) 2026-02-10 21:15:29 -04:00
Quin Lynch
e05e849584 Add constructor for ActionRowBuilder with id (#3236) 2026-02-10 21:15:19 -04:00
Quin Lynch
e3cb507032 Add overloaded constructor to ContainerBuilder (#3237) 2026-02-10 21:15:02 -04:00
Quin Lynch
16ea091d20 Add overloaded constructor with id to MediaGalleryBuilder (#3238)
Added an overloaded constructor to MediaGalleryBuilder that accepts an ID.
2026-02-10 21:14:42 -04:00
Mihail Gribkov
0dea5bb4fd Add BypassSlowmode permission (#3228) 2026-01-23 22:28:58 +03:00
Cenk Ergen
9c1db3f0f0 [Fix] Modal Write invocation without instance and missing ChannelTypes (#3221)
* add channel types to channel select builder and info

* add channelTypes to select builder from IModal

* remove public setter requirement from modal component definition and add guard clause to inputs

* refactor modal building to run typeConverter writes even without modal instance

* add inline docs to channelTypes props and method

* add property as a target for ChannelTypesAttribute

* move enum option building logic out of enum typeConverter

* add channel type constraint mapping to channel single-select typeConverter

* move SelectMenuOptionAttribute to its own file

* add null forgiving operator to channel type mapping

* remove list initialization from enum modal typeConverter

* disallow channel default value assignment to mentionable selects

* add id property to modal components

* add component id assignment from attributes

* update component attribute ctor signatures and inline docs

* Update src/Discord.Net.Interactions/TypeConverters/ModalComponents/EnumModalComponentConverter.cs

Co-authored-by: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com>

* replace default values of component ids with 0

---------

Co-authored-by: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com>
2026-01-22 17:50:27 +03:00
Mihail Gribkov
4fdebdc6ed Meta/3.19.0 beta.1 (#3220)
* 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
2026-01-03 03:00:48 +03:00
Cenk Ergen
86b885b24b fix modal text display constructor initialization (#3218) 2026-01-03 00:12:15 +03:00
enonibobble
b386a0e22a Switch lock backport package to #if defs instead (#3217) 2025-12-31 22:42:25 +03:00
Mark Cilia Vincenti
4e95dd7123 Improve .NET 9.0+ locking performance (#3216) 2025-12-30 22:08:44 +03:00
Cenk Ergen
fd6e3ad8df Fix NRE in Rest Interaction Guild User Resolution (#3210) 2025-12-23 22:18:01 +03:00
Cenk Ergen
1e27c994f9 Modal Components v2 Single-select Typeconverters, Rest, and Patches (#3209)
* 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
2025-12-23 22:17:22 +03:00
Todd Gleason
ad8182fce3 Added UnknownComponent classes, and support to MessageComponentConverter and MessageComponentExtensions (#3207) 2025-12-23 22:16:14 +03:00
HEJOK254
161a91e73e Fix AutocompleteResult.Value having no length limit (#3206) 2025-12-23 19:12:39 +00:00
José Santos Garrido
11a56bc96d Fix user status update when speaking (#3204) 2025-11-28 22:26:27 +03:00
Cenk Ergen
e8c5436c40 [Feature] Modal Select Components Support for IF (#3189)
* 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
2025-11-24 21:08:05 +03:00
Kevin
06510e1b2b fixed error on changing role icon/emoji to an image. (#3192)
* 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>
2025-11-13 20:06:05 +03:00
Mihail Gribkov
f205bba17f Add net10.0 build target, update deps (#3200) 2025-11-11 22:34:40 +03:00
d4n
0aff637ecf Add select menu IsRequired property and fix usage of DefaultValues (#3199) 2025-11-10 01:12:17 +03:00
Mihail Gribkov
a4760144a5 [Feature] Modal refactoring & select menu support (#3172)
* add missing xmldoc + new component type

* add API models

* label builder

* most POG commit ever

* another pog commit (add file upload component)

* add a constructor & missing extension methods

* refactor modal builder

* Fix build errors

* Add xml docs and fluent methods to new components

* Fix naming

* Set default value of `FileUploadComponentBuilder.IsRequired` to `true`

* xmldoc fixes

* Support receiving modal interactions with new components & implement resolved data

* Add missing text display methods to modal builder

* Update src/Discord.Net.Rest/API/Common/FileUploadComponent.cs

Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>

---------

Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>
Co-authored-by: d4n <dan3436@hotmail.com>
2025-11-09 13:57:57 +03:00
Robin Laevaert
ca6c9bcff7 Get Archived thread calls on text channels (#3198)
* 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
2025-11-02 16:50:27 +03:00
Mihail Gribkov
86680929ae [Fix] Correct IUserMessage.ModifyAsync precondition expression 2025-10-31 23:19:25 +03:00
Mihail Gribkov
80fbbc2e2b [Feature] Add modify current guild member support (#3196)
* refactors & add `ModifyCurrentUserAsync`

* i mean, it said "remove", so I removed it
2025-10-27 22:42:23 +03:00
Mihail Gribkov
dade9b2df6 Add GetRoleUserCounts REST method (#3195) 2025-10-19 19:09:19 +03:00
Mihail Gribkov
5ca29fd461 Remove unsupported SDK targets (#3193)
* yee old sdks (and CI cache too since it's pretty useless)

* also bump deps

* Update src/Discord.Net.Interactions/Discord.Net.Interactions.csproj

Co-authored-by: d4n <dan3436@hotmail.com>

* Update src/Discord.Net.Core/Discord.Net.Core.csproj

Co-authored-by: d4n <dan3436@hotmail.com>

* `.ForEachAsync` => `await foreach`

* remove old targets from .nuspec & update docs

* bump sdk in ws4net provider (probably should deprecate it tho)

---------

Co-authored-by: d4n <dan3436@hotmail.com>
2025-10-18 12:34:02 +03:00
José Santos Garrido
a468e182eb Fix voice receiving (#3190)
* Update voice API to version 8

* Fix voice receiving

* Reuse RTP Header array during decryption
2025-09-21 20:20:03 +03:00
OMEGA3065
8883596c31 Fix missing SelectMenu Type, ChannelTypes, DefaultValues in ComponentBuilder.AddComponent (#3186) 2025-09-13 17:16:02 +00:00
José Santos Garrido
927c9053e4 Update voice API to version 8 (#3183) 2025-09-03 12:45:08 +03:00
GreemDev
e61eb519bf Make Cacheable constructors public (#3177) 2025-08-30 11:52:42 +03:00
Mihail Gribkov
5273f1df98 [Feature] Add PinMessages permission (#3178) 2025-08-22 23:38:45 +03:00
Adam Gauthier
ae6e7d50b3 MessageComponent: Add better json type exception (#3176)
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.
2025-08-14 10:44:01 +03:00
ForceFK
ebc7db8601 Fix duplicated flag value in ActivityProperties enum (#3174) 2025-08-11 23:48:58 +03:00
Mihail Gribkov
0b078d79a9 Remove voice gateway port stripping (#3173) 2025-08-07 23:14:43 +03:00
Mihail Gribkov
fc0712da12 Bump guild batch limit to 200 (#3171) 2025-08-06 22:27:23 +03:00
Alex Thomson
9cb6ffdd17 Make ParameterChoice constructor public (#3169) 2025-07-28 20:19:19 +03:00
Mihail Gribkov
958d28636b [Fix] Incorrect casts in the legacy component builder (#3167)
* [Fix] Incorrect casts in the legacy component builder

* cringe
2025-07-20 01:53:17 +03:00
Mihail Gribkov
87c1461698 Fix release CI workflow 2025-07-20 00:27:07 +03:00
Mihail Gribkov
98e2d0fd66 Meta 3.18 (#3163) 2025-07-20 00:16:31 +03:00
Adriaan Waem
cf66ab4520 Docs/components v2 :wires: (#3162)
* new pages :3

* fimished intro page

* fimished interaction page

* remove unused shit

* I think we are done lmao

* I lied, fixed some small mistakes

* Update docs/guides/components_v2/interaction.md

Co-authored-by: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com>

* misha quality assurance :3 + breakings pages

* Apply suggestions from code review

Co-authored-by: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com>

* component types guide expanded

* :3

* Apply suggestions from code review

Co-authored-by: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com>

---------

Co-authored-by: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com>
2025-07-18 22:14:24 +03:00
GreemDev
80b4328578 Fix guild tag badge URL helper (#3161) 2025-07-15 05:20:07 +03:00
Mihail Gribkov
3fd06a3504 Fix build (#3159) 2025-07-14 01:49:22 +03:00
Mihail Gribkov
61b99ef872 Remove debug lines from .gitignore (accidental commit) 2025-07-14 01:41:17 +03:00
Mihail Gribkov
f9ba642976 [Fix] Certain global user properies not getting updated (#3158)
* yep

* fix
2025-07-14 01:39:46 +03:00
OverwrittenCode
978f999843 fix(IsLoadableModule): return false for abstract classes (#3148)
* 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>
2025-07-13 23:22:32 +03:00
Mihail Gribkov
79b455ecf4 [Feature] User primary guild (#3156) 2025-07-13 23:22:04 +03:00
Mihail Gribkov
800a23430d [CV2] QoL & fixes (#3153) 2025-07-01 22:11:27 +03:00
Mihail Gribkov
c343ce95a5 Guild member JoinedAt nullability (#3152)
* GuildMember.JoinedAt is nullable
2025-07-01 00:18:40 +03:00
Mihail Gribkov
f18c836b5f [CV2] add children component counts to IComponentContainer (#3147) 2025-06-12 13:25:08 +03:00