Commit Graph

3152 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
Alex Thomson
a59f4ba62e Add missing PollProperties (#2927) 2024-05-12 11:37:47 +03:00
Mihail Gribkov
9dd67b2f69 meta: 3.15.0 (#2925) 2024-05-11 19:00:41 -04:00
zobweyt
1a5cba875d [Feature] Parameter precondition attribute for simplifying performing hierarchical operations within a guild (#2906)
* Support interaction framework and update bundled preconditions docs

* Support text commands and update bundled preconditions docs

* Fix example

* Move hierarchy util to `PermissionUtils`

* Refactoring
2024-05-12 01:27:15 +03:00
Mihail Gribkov
476ec068f1 [Feature] Polls (#2902)
no breakings hopefully
2024-05-11 20:34:12 +00:00
ImNoOSRS
5dadcb2e30 RequireRole permission for commands. (#2923)
* Create RequireRoleAttribute.cs

* Apply suggestions from code review

---------

Co-authored-by: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com>
2024-05-11 23:27:59 +03:00
Zach Goodson
753724d15c Create RequireTeamAttribute.cs (#2903)
* Create RequireTeamAttribute.cs

* Fix Attribute Doc

* Attempt to Fix NULL Cases.

* Fix NULL check (oops).

* Add RequireTeamAtttribute to preconditions.md

* Fix Typo
2024-05-11 23:24:38 +03:00
Proddy
93cb71af57 Fix null error when using a SelectMenuBuilder constructor (#2924)
* Fix null error when using a `SelectMenuBuilder` constructor

* Update references to `Options` to support `null`
2024-05-11 23:23:51 +03: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
3054505d4b SocketInteraction is messed up (#2920) 2024-04-28 19:51:48 +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
7aab36606b Remove analyzer project & resolve some build warnings (#2905)
* yeet analyzer & analyzer test

* fix test warning

* yeet analyzer from the workflow

* resolve more warnings

* forgot to push
2024-04-14 00:01:07 +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
baee7c1ca6 [CI] fix tag build version (#2886)
* [CI] Fix tag build version

* fix this thing.
2024-03-19 02:21:45 +03:00
Mihail Gribkov
73d63e1625 meta: 3.14.0 (#2884) 2024-03-18 17:50:01 -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
Богдан Петренко
09680c51ac [Feature] Voice reconnection and resuming (#2873)
* Voice receive fix (use system-selected port)

* Update SocketGuild.cs

* Reconnect voice after moved, resume voice connection, don't invoke Disconnected event when is going to reconnect

* no more collection primitives

* Disconnected event rallback & dispose audio client after finished

* Update src/Discord.Net.WebSocket/Audio/AudioClient.cs

* Update src/Discord.Net.WebSocket/Audio/AudioClient.cs

---------
2024-03-14 12:33:41 +03:00
Mihail Gribkov
fc2fc87708 [Feature] SentRequest event (#2870) 2024-03-04 21:36:11 +03:00
Mihail Gribkov
fa51f0a86f Fix optional param being non-optional (#2869) 2024-03-02 01:06:46 +03:00
Mihail Gribkov
2787db3eaa [Fix] InteractionService.AddModulesXAsync command duplication (#2867) 2024-02-27 14:14:59 +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
Proddy
6870ac5386 Fixed a bug when creating a SelectMenuBuilder from a SelectMenuComponent incorrectly set the CustomId (#2862) 2024-02-24 17:32:18 +00:00
Mihail Gribkov
eb5678aea5 [Feature] Add Icon size parameter to GetGuildIconUrl CDN method (#2832)
* we need biggah iconssss
2024-02-24 03:09:29 +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
4a05ba5e8a [Docs] Add NUGET_README.md (#2844)
* add `NUGET_README.md`

* Update NUGET_README.md

* Update NUGET_README.md
2024-02-24 02:33:54 +03:00
Богдан Петренко
1a16f4d271 [Fix] Receiving voice packets (use system-assigned port) (#2857)
* Voice receive fix (use system-selected port)

* Update SocketGuild.cs

---------

Co-authored-by: Misha133 <mihagribkov133@gmail.com>
2024-02-23 22:17:07 +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
Mihail Gribkov
ee386b1a15 Allow setting custom status with SetGameAsync (#2858) 2024-02-22 21:02:57 +00: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
a1987021fe Meta 3.13.1 (#2842)
* Update Discord.Net.targets

* Update docfx.json

* Update Discord.Net.nuspec

* Update CHANGELOG.md

* Update docs/docfx.json

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

---------

Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>
2024-02-11 20:58:01 +00:00
Mihail Gribkov
f1777de164 Allow creating announcement channels (#2837) 2024-02-11 23:48:40 +03:00
Mihail Gribkov
4d7e384e51 no fun for ya all (#2835) 2024-02-11 23:47:43 +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
89efe0f3ad no whitespace for ya (#2831) 2024-01-25 14:08:15 +03:00
Mihail Gribkov
541571c9c7 [44] 44 (#2827)
* 44

* 44 44

44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44
2024-01-17 10:47:56 +00:00
Mihail Gribkov
30ccb2c83b Revert pr (Revert 12179a93d7) (#2826) 2024-01-16 22:25:57 +00:00