Commit Graph

607 Commits

Author SHA1 Message Date
Bence Szucs
9030a5b2bb [Feature] Config Bypass for CanSendResponse (#2932)
* Adds bool switch for DeferAsyncTimeCheck in DiscordConfig

* Adds DeferAsyncTimeCheck bool to DiscordSocketClient

* Adds DeferAsyncTimeCheck to DeferAsync in SocketCommandBase

* Adds DeferAsyncTimeCheck to DeferAsync in SocketModal

* Adds DeferAsyncTimeCheck to DeferAsync in SocketMessageComponent

* Changes name of DeferAsyncTimeCheck to be more general

* Moves ResponseInternalTimeCheck from socket client to base client

* Adds ResponseInternalTimeCheck to Rest interactions

* Adds ResponseInternalTimeCheck to socket interactions
2024-05-16 21:25:21 +00:00
enonibobble
aa424f6f37 Enable nuget debug symbols. (#2929) 2024-05-12 22:17:52 +03:00
Mihail Gribkov
476ec068f1 [Feature] Polls (#2902)
no breakings hopefully
2024-05-11 20:34:12 +00:00
Nora
54d2fe5773 Remove generic exceptions. (#2913)
* Replace instances of Exception with better ones in reflection utils.

* Replace instances of Exception with better ones in the websocket project.

* Finish replacing generic exceptions.

* Tiny tweak to reflection utils for consistency with the .NET library.
2024-05-11 23:23:08 +03:00
Quin Lynch
83fdc8917e Fix: NRE with rest interactions & no api call (again) (#2922)
* init

* add better error message in this case
2024-05-11 23:21:12 +03:00
Mihail Gribkov
f9086d3a2c more cringe (#2919) 2024-04-28 17:42:38 +03:00
Mihail Gribkov
f85bf9ac48 bettah bulk bans (#2915) 2024-04-23 00:13:31 +03:00
Mihail Gribkov
27a0785653 .Distinct() roles(ids) in IGuildUser.ModifyAsync (#2914) 2024-04-23 00:13:15 +03:00
Quin Lynch
a2f624e6de Fix: Don't depend on WebSocket for Interaction service (#2912)
* unfuck interaction service to not depend on WS

* Add XML docs

* fix summary refs
2024-04-16 00:57:10 -03:00
Quin Lynch
13ea5664e1 Fix: RestDMChannel relies on recipient (#2910)
* don't assume we have a DM user

* also check nullable for Update/GetUser

* Update src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs

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

---------

Co-authored-by: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com>
2024-04-15 18:24:00 +00:00
Quin Lynch
397a887719 Fix: Don't rely on Guild for id (#2911) 2024-04-15 15:22:06 -03:00
Adam Gauthier
b70e21ba28 [Feature] Support options in Rest's AddRoleAsync (#2908)
Adding support for passing RequestOptions to DiscordRestClient's role
methods. Seems like it was just forgotten when the methods were added.
2024-04-15 10:13:40 +03:00
Mihail Gribkov
d1da2a00e9 [Feature] Guild bans with seconds prune period (#2898)
* rip legacy code

* rename so no conflicts

* eh renamed wrong thing
2024-04-04 03:57:37 -04:00
Mihail Gribkov
24a69785fe [Feature] Initial user apps support (#2883)
* omg it kinda works somehow

* more things added

* a bit of xmldocs

* added interaction framework support

* working? IF

* more builder stuff

* space

* rename attribute to prevent conflict with `ContextType` enum

* context type

* moar features

* remove integration types

* trigger workflow

* modelzzzz

* `InteractionContextType`

* allow setting custom status with `SetGameAsync`

* bugzzz

* app permissions

* message interaction context

* hm

* push for cd

* structs lets goooo

* whoops forgot to change types

* whoops x2

* tweak some things

* xmldocs + missing prop + fix enabled in dm

* moar validations

* deprecate a bunch of stuffz

* disable moar obsolete warnings

* add IF sample

* Apply suggestions from code review

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

* Update src/Discord.Net.Rest/Entities/RestApplication.cs

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

---------

Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>
2024-03-18 21:24:05 +00:00
Mihail Gribkov
bfc8dc229e Update library dependencies (#2806)
* bump dependencies

* sealed class

* forgot to push

* downgrade `IDisposableAnalyzers` to `4.0.2`

* also forgot to push

* Update docs.yml

* samples => `net8.0` | deps more up to date

* mark as non-trimmable & remove some cringe conditions

* format for beauty
2024-03-19 00:23:01 +03:00
Mihail Gribkov
03402cd4d2 [Feature] Bulk ban support (#2881) 2024-03-16 01:22:23 +03:00
Mihail Gribkov
4efe3be301 yeah it's sadge (#2880) 2024-03-14 19:25:26 -04:00
Mihail Gribkov
d0c0a56884 [Feature] Support setting banner on bot profiles (#2879) 2024-03-14 22:30:23 +00:00
Mihail Gribkov
fc2fc87708 [Feature] SentRequest event (#2870) 2024-03-04 21:36:11 +03:00
Mihail Gribkov
955fae01a0 [Fix] Incorrect ConnectionState of a DiscordSocketClient casted to IDiscordClient/BaseSocketClient 2024-02-26 14:04:55 +03:00
Mihail Gribkov
5a62ba1af4 [Feature] Allow switching voice channels without disconnecting (external clients only) (#2866)
* eh well it should work

* fix issues

* make sure an external client is used
2024-02-26 13:54:18 +03:00
Mihail Gribkov
7c96844f17 [Fix] Allow setting channel topic to null when creating channels (#2849) 2024-02-23 23:51:31 +00:00
Mihail Gribkov
9a7bd05c28 [CI] New build action + Build framework on linux (#2848)
* Create dotnet.yml

* Update dotnet.yml

* Update dotnet.yml

* Update dotnet.yml

* pragma disable some obsolete warnings

* Update dotnet.yml

* Update dotnet.yml

* Update dotnet.yml

* update vars for windows

* cache? dotnet

* oops forgot to save

* add concurrency

* test deploy

* fix?

* disable caching

* Update dotnet.yml

* Update dotnet.yml

* Update dotnet.yml

* ...

* Update dotnet.yml

* it should build now. maybe. probably

* huh?

* huh x2

* disable deploy on PRs / enable cache

* publish test results

* Update dotnet.yml

* remove cache cuz it's useless

* Update dotnet.yml

* push to github packages cuz why not

* add toggle vars for pushes

* Update dotnet.yml

* uncomment release since there's a toggle now
2024-02-23 23:31:04 +03:00
FluffyDoggo
6256de42bc Refactor MaxBitrate and UploadLimit in GuildHelper (#2854) 2024-02-19 11:59:14 +03:00
Mihail Gribkov
1eb7a53f78 [Fix] NRE in automod audit logs (#2850)
* fix nre

* no breakings :(
2024-02-15 20:29:33 +03:00
Mihail Gribkov
f1777de164 Allow creating announcement channels (#2837) 2024-02-11 23:48:40 +03:00
Nora
dc8e0e329d Get docs working on latest docfx version. (#2778)
* [Docs] Get docs working on latest docfx version.

Removed light-dark-theme as it didn't work with modern docfx, and Material provides the features it provided anyways.

Gotta figure out how to get the description generator and "last modified" plugins to work.

* [Docs] Get docs working on latest docfx version.

Removed light-dark-theme as it didn't work with modern docfx, and Material provides the features it provided anyways.

Gotta figure out how to get the description generator and "last modified" plugins to work.

* [Docs] Re-add search index extractor.

* [Docs] Use material theme and override derived tree style.

Also adds a tiny GitHub icon on the navbar.

* [Docs] Exclude DebugTools project.

* [Docs] Use better method for overriding things.

Totally not because DocFX won't allow me to have an override template.

* [Docs] Improve styling overrides.

* [Docs] Fix links in FAQs and guides.

* [Docs] Use new xref service.

The old xref service is being deprecated by the end of the year.
See https://github.com/dotnet/docfx/issues/8958

* [Docs] Replace (c) with proper copyright symbol.

* [Docs] Fix formatting in docfx.json file.

Thanks, VSCode.

* [Docs] Remove non-working post processors.

They don't work, and *personally* I feel like they're unnecessary considering you can check the last modification date in the (linked) GitHub page. I honestly have no idea what the other post processor does and honestly the code doesn't help much either.

* [Docs] Fix "in this article" being too thin.

Fixes https://github.com/discord-net/Discord.Net/pull/2778#issuecomment-1748812077

* [Docs] Get examples working again.

* [Docs] Make properties be separated more clearly.

* [Docs] Change docs index to reflect the new nightly MyGet feed.

* [Docs] Get docs working on latest docfx version.

Removed light-dark-theme as it didn't work with modern docfx, and Material provides the features it provided anyways.

Gotta figure out how to get the description generator and "last modified" plugins to work.

* [Docs] Get docs working on latest docfx version.

Removed light-dark-theme as it didn't work with modern docfx, and Material provides the features it provided anyways.

Gotta figure out how to get the description generator and "last modified" plugins to work.

* [Docs] Re-add search index extractor.

* [Docs] Use material theme and override derived tree style.

Also adds a tiny GitHub icon on the navbar.

* [Docs] Exclude DebugTools project.

* [Docs] Use better method for overriding things.

Totally not because DocFX won't allow me to have an override template.

* [Docs] Improve styling overrides.

* [Docs] Fix links in FAQs and guides.

* [Docs] Use new xref service.

The old xref service is being deprecated by the end of the year.
See https://github.com/dotnet/docfx/issues/8958

* [Docs] Replace (c) with proper copyright symbol.

* [Docs] Fix formatting in docfx.json file.

Thanks, VSCode.

* [Docs] Remove non-working post processors.

They don't work, and *personally* I feel like they're unnecessary considering you can check the last modification date in the (linked) GitHub page. I honestly have no idea what the other post processor does and honestly the code doesn't help much either.

* [Docs] Fix "in this article" being too thin.

Fixes https://github.com/discord-net/Discord.Net/pull/2778#issuecomment-1748812077

* [Docs] Get examples working again.

* [Docs] Make properties be separated more clearly.

* [Docs] Change docs index to reflect the new nightly MyGet feed.

* [Docs] Fix index image not switching when changing themes.

Co-Authored-By: exsersewo <25526843+exsersewo@users.noreply.github.com>

* add updated description generator postprocessor

* update postprocessor

* got it working

* downgrade postprocessor docfx

* [Docs] Add left margin to side navigation links.

* remove dup docs cuz `<inheritdoc />`

---------

Co-authored-by: exsersewo <25526843+exsersewo@users.noreply.github.com>
Co-authored-by: Misha133 <mihagribkov133@gmail.com>
Co-authored-by: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com>
2024-02-11 18:51:10 +00:00
Mihail Gribkov
138e18cb7a [Fix] GetEventCoverImageUrl throwing NRE in case event cover image is null (#2818)
* return null instead of throwing NRE

* fix xmldoc
2024-01-11 22:29:07 +03:00
Mihail Gribkov
de4b6b9f27 [Fix] Incorrect json model for Guild Scheduled Event (#2813)
* fix some cringe

* whoooooooops
2023-12-26 10:34:10 +03:00
Mihail Gribkov
d382e5cd48 [Feature] Audit log integration type (#2814)
* why do I do this instead of preparing for an exam

* oh yeah nullable ofc

* oh yeah
2023-12-26 01:34:25 +03:00
Mihail Gribkov
079a98fbdd [Feature] Add AppliedTags to DiscordWebhookClient.SendXAsync (#2805) 2023-12-05 01:37:51 +03:00
Dmitry
86655a8157 [Refactor] Remove some unnecessary async/await (#2739)
* Remove some unnecessary async/await

* More not-so-async stuff

* More not-so-async stuff

* Fix merge issue
2023-11-18 21:29:14 +00:00
Mihail Gribkov
699554ad11 [Features] Automod member profile moderation, new application fields, use clyde ai & guild invenory settings (#2791)
* guild inventory settings

* `UseClydeAI` (1L << 47) permission

* automod member profile moderation

* Dnet: The Enums update (new application fields)

* ah yeah, `IApplication`

* some oversights

* y did I change this

* oh bruh nvm

* `CreateGuildExpressions` permission

---------

Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>
2023-11-18 21:15:20 +00:00
Mihail Gribkov
89bebc361a poggers (#2796) 2023-11-18 16:08:51 -05:00
Mihail Gribkov
9fd5c6c27e [Feature] Super reactions support (#2707)
* super reactions

* add type to `GetReactionUsers` methods

* add `MeBurst`
2023-11-18 15:57:11 -05:00
Mihail Gribkov
e3cd340dcc [Feature] Media channel support (#2725)
* initial commit

* oops

* another typo -_-

* Update AttachmentFlags.cs

Made this on my phone lol

* Update AttachmentFlags.cs

* -line

* initial impl

* some guild methods for media (and forum) channels

* file attachment can be a thumbnail

* can't edit media channel layout

* updatess

* Update ChannelPermissions.cs

* typo
2023-11-18 15:56:14 -05:00
zobweyt
b1787d8334 [Refactor] Extract GetDisplayAvatarUrl in IUser (#2771)
* Implement `GetDisplayAvatarUrl` method

* Remove obsolete example

* Update XML documentation

---------

Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>
2023-11-18 20:50:17 +00:00
Mihail Gribkov
ac274d4b76 [Feature] Select menu default values (#2776)
* initial commit

* docs & readonly
2023-11-18 15:44:16 -05:00
Mihail Gribkov
8060dcf4ae [Feature] Voice channel status support (#2777)
* initial commit

* MOCKED CHANNELS AGRHHHHHHHH

* fix for sharded

* yup
2023-11-18 15:42:14 -05:00
Mihail Gribkov
8e4d449615 Remove checks from UpdateAsync methods (#2790) 2023-11-18 15:38:46 -05:00
Mihail Gribkov
f64d9d6f22 [Feature] Avatar decorations support (#2782)
* yup

* nullable...

* add props & methos to `GuildUser` & `IUser`
2023-11-18 15:38:36 -05:00
Mihail Gribkov
b45b7743a5 create roles with icons (#2792) 2023-11-18 15:35:51 -05:00
Mihail Gribkov
9b36df3c55 [Feature] Guild incident actions (#2783)
* initial commit

* <see langword="null"/> notes
2023-11-02 02:18:29 -04:00
Mihail Gribkov
7b5c40aab6 [Fix] Embed ToJsonString & (Try)Parse (#2787)
* fix

* EmbedBuilderUtils

* lazy

* xmldocs...
2023-10-05 19:10:01 +03:00
Mihail Gribkov
7723f61072 [Feature] Premium subscriptions (#2781)
* what a big commit lel, add app sub enums

* work

* ah yup lol

* `?`

* events 1

* typo

* `list` => `get` | remaining events

* add `RespondWithPremiumRequiredAsync` to interaction module base
2023-09-30 09:39:28 -04:00
FluffyDoggo
8baf913c9d [Fix] Some IDiscordClient methods are not properly implemented in clients (#2774)
* Add proper implementations of CreateGlobalApplicationCommand and BulkOverwriteGlobalApplicationCommand

* Update all shards
2023-09-15 08:46:51 +03:00
Mike
a668757669 Fix UpdateAsync Remove Attachment Bug (#2766)
* Similar to PR #2742 but this now fixes the UpdateAsync attachments bug.

* Update functions.

* `Update` => `UpdateAsync`

---------

Co-authored-by: Misha133 <mihagribkov133@gmail.com>
2023-09-02 20:18:35 +03:00
Sauceke
589c58adb0 [Fix] URL encode timestamps sent as query parameters (#2770)
* [Fix] URL encode timestamps sent as query parameters
2023-09-02 19:53:30 +03:00
Declan Messer
ae275ab3a7 [Fix] Additional Update/Modify Async Attachment's (#2753) 2023-08-21 23:27:23 +03:00
Declan Messer
0c120796c4 ModifyAsync Attachments Bug Fix #2236 (#2742)
* ModifyAsync Attatchment Bug Fix

* Resolved UploadWebhookFileParams Bug when passing through null attatchment obj.

* Grammar.

* Update src/Discord.Net.Rest/Entities/Interactions/InteractionHelper.cs

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

---------

Co-authored-by: Misha133 <61027276+Misha-133@users.noreply.github.com>
Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>
2023-08-10 16:43:09 +03:00