* 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>
Added SocketApplicationCommands, Added method in SocketGuild to fetch that guilds ApplicationCommands.
Tested all rest routes and fixed them accordingly.
Did more testing and I think its ready to go
New Rest entities: RestApplicationCommand,RestGlobalCommand, RestGuildCommand, RestApplicationCommandOption, RestApplicationCommandChoice, RestApplicationCommandType.
Added public methods to the RestClient to fetch/create/edit interactions.
* Implement gateway ratelimit
* Remove unused code
* Share WebSocketRequestQueue between clients
* Add global limit and a way to change gateway limits
* Refactoring variable to fit lib standards
* Update xml docs
* Update xml docs
* Move warning to remarks
* Remove specific RequestQueue for WebSocket and other changes
The only account limit is for identify that is dealt in a different way (exclusive semaphore), so websocket queues can be shared with REST and don't need to be shared between clients anymore.
Also added the ratelimit for presence updates.
* Add summary to IdentifySemaphoreName
* Fix spacing
* Add max_concurrency and other fixes
- Add session_start_limit to GetBotGatewayResponse
- Add GetBotGatewayAsync to IDiscordClient
- Add master/slave semaphores to enable concurrency
- Not store semaphore name as static
- Clone GatewayLimits when cloning the Config
* Add missing RequestQueue parameter and wrong nullable
* Add RequeueQueue paramater to Webhook
* Better xml documentation
* Remove GatewayLimits class and other changes
- Remove GatewayLimits
- Transfer a few properties to DiscordSocketConfig
- Remove unnecessary usings
* Remove unnecessary using and wording
* Remove more unnecessary usings
* Change named Semaphores to SemaphoreSlim
* Remove unused using
* Update branch
* Fix merge conflicts and update to new ratelimit
* Fixing merge, ignore limit for heartbeat, and dispose
* Missed one place and better xml docs.
* Wait identify before opening the connection
* Only request identify ticket when needed
* Move identify control to sharded client
* Better description for IdentifyMaxConcurrency
* Add lock to InvalidSession
* Add missing properties to Guild, related methods, and deprecate GuildEmbed endpoints
- Add missing guild properties: `discovery_splash`, `widget_enabled`, `widget_channel_id`, `rules_channel_id`, `max_presences`, `max_presences`, `max_members`, `public_updates_channel_id`, `max_video_channel_users`, `approximate_member_count`, `approximate_presence_count`
- Update guild properties: `embed_enabled`, `embed_channel_id`
- Add `GetGuildDiscoverySplashUrl` to `CDN`
- Add classes related to the guild widget
- Add `withCounts` parameter to `GetGuild(s)Async`
- Make GuildEmbed related methods obsolete with a message redirecting to widget ones
* Change xml docs and PremiumSubscriptionCount type
* Changed some xml docs
* feature: support X-RateLimit-Reset-After
Users may now optionally disable using the system clock to calculate
the ratelimit duration. This may be overrided globally, via
DiscordConfig, or per RequestOptions.
This change has been built and tested via the integrated test suite,
but has not been tested in the real world. Please verify this does not
break any of the edge-case ratelimits.
* patch: wire new config properties to ApiClient
* patch: update Reset-After parsing precision
This patch applies the changes made to parsing precision in 606dac3.
* feature: add DiscordSocketRestClient
this resolves#803.
Users can access a DiscordSocketRestClient from the new
`DiscordSocketClient.Rest` property.
DiscordSocketRestClient is a wrapper over DiscordRestClient with certain
state-modifying methods, such as Login/Logout disabled, to prevent users
from breaking the client state.
DiscordSocketRestClient uses the same API client as the
DiscordSocketClient, allowing for shared ratelimiting - meaning users
can now force HTTP requests without needing to wory about running into
429s.
* fix: disallow users from bypassing shadowed login
* Initial set of dispose implementations
Not handled yet:
- Discord.Net.Websocket/Entities/SocketGuild
- Discord.Net.Tests
* Refactor DiscordSocketClient init into ctor
This way we remove an IDisposableAnalyzer warning for not disposing
the client when we set the client variable.
* Dispose of clients when disposing sharded client
* Finish implementing IDisposable where appropriate
I opted to use NoWarn in the Tests project as it wasn't really necessary
considering that our tests only run once
* Tweak samples after feedback
* Add XML docs
* Clean up style switcher
* Squash commits on branch docs/faq-n-patches
* Fix broken theme selector
* Add local image embed instruction
* Add a bunch of XML docs
* Add a bunch of XML docs
* Fix broken search
+ DocFX by default ships with an older version of jQuery, switching to a newer version confuses parts of the DocFX Javascript.
* Minor fixes for CONTRIBUTING.md and README.md
* Clean up filterConfig.yml
+ New config exposes Discord.Net namespace since it has several common public exceptions that may be helpful to users
* Add XML docs
* Read token from Environment Variable instead of hardcode
* Add XMLDocs
* Compress some assets & add OAuth2 URL generator
* Fix sample link & add missing pictures
* Add tag examples
* Fix embed docs consistency
* Add details regarding userbot support
* Add XML Docs
* Add XML Docs
* Add XML Docs
* Minor fixes in documentations
+ Fix unescaped '<'
+ Fix typo
* Fix seealso for preconditions and add missing descriptions
* Add missing exceptions
* Document exposed TypeReaders
* Fix letter-casing for files
* Add 'last modified' plugin
Source: https://github.com/Still34/DocFx.Plugin.LastModified
Licensed under MIT License
* XML Docs
* Fix minor consistencies & redundant impl
* Add properties examples to overwrite
* Fix missing Username prop
* Add warning for bulk-delete endpoint
* Replace note block
* Add BaseSocketClient docs
* Add XML docs
* Replace langword null to code block null instead
- Because DocFX sucks at rendering langword
* Replace all langword placements with code block
* Add more IGuild docs
* Add details to SpotifyGame
* Initial proofread of the articles
* Add explanation for RunMode
* Add event docs
- MessageReceived
- ChannelUpdated/Destroyed/Created
* Fix light theme link color
* Fix xml docs error
* Add partial documentation for audit log impl
* Add documentation for some REST-based objects
* Add partial documentation for audit log objects
* Add more XML comments to quotation mark alias map stuff, including an example
* Add reference to CommandServiceConfig from the util docs'
* Add explanation that if " is removed then it wont work
* Fix missing service provider in example
* Add documentation for new INestedChannel
* Add documentation
* Add documentation for new API version & few events
* Revise guide paragraphs/samples
+ Fix various formatting.
+ Provide a more detailed walkthrough for dependency injection.
+ Add C# note at intro.
* Fix typos & formatting
* Improve group module example
* Small amount to see if I'm doing it right
* Remove/cleanup redundant variables
* Fix EnterTypingState impl for doc inheritance
* Fix Test to resolve changes made in 15b58e
* Improve precondition documentation
+ Add precondition usage sample
+ Add precondition group usage sample
+ Move precondition samples to its own sample folder
* Move samples to individual folders
* Clarify token source
* Cleanup styling of README.md for docs
* Replace InvalidPathChars for NS1.3
* InvalidPathChars does not exist in NS1.3; replaced with GetInvalidPathChars instead.
* Add a missing change for 2c7cc738
* Update LastModified to v1.1.0 & add license
* Rewrite installation page for Core 2.1
* Fix anchor link
* Bump post-processor to v1.1.1
* Add fixes to partial file & add license
* Moved theme-switcher code to scripts partial file
+ Add author's MIT license to featherlight javascript
* Remove unused bootstrap plugin
* Bump LastModified plugin
* Changed the path from 'lastmodified' to 'last-modified' for consistency
* Cleanup README & Contribution guide
* Changes to last pr
* Fix GetCategoryAsync docs
* Proofread and cleanup articles
* Change passive voice in "Get Started" to active
* Fix improper preposition in Commands Introduction page
* Fix minor grammar mistakes in "Your First Bot" (future tense -> present tense/subjunctive mood -> indicative mood/proper noun casing/incorrect noun/add missing article)
* Fix minor grammar mistakes in "Installation" (missing article)
* no hablo ingles
* Try try try again
* I'm sure you're having as much fun as I am
* Cleanup TOC & fix titles
* Improve styling
+ Change title font to Noto Sans
+ Add materialized design for commit message box
* Add DescriptionGenerator plugin
* Add nightly section for clarification
* Fix typos in Nightlies & Post-execution
* Bump DescriptionGenerator to v1.1.0
+ This build adds the functionality of generating managed references' summary into the description tag.
* Initial emoji article draft
* Add 'additional information' section for emoji article
* Add cosmetic changes to the master css
* Alter info box color
+ Add transition to article content
* Add clarification in the emoji article
* Emphasize that normal emoji string will not translate to its Unicode representation.
* Clean up or add some of the samples featured in the article.
+ Add emoji/emote declaration section for clarification.
+ Add WebSocket emote sample.
- Remove inconsistent styling ('wacky memes' proves to be too out of place).
* Improve readability for nightlies article
* Move 'Bundled Preconditions' section
* Bump LastModified to fix UTC DateTime parsing
* Add langwordMapping.yml
* Add XML docs
* Add VSC workspace rule
* The root workspace limits the ruler to 120 characters for member documentations and excludes folders such as 'samples' and 'docs'.
* The docs workspace limits the ruler to 70 characters for standard conceptual article to comply with documentation's CONTRIBUTING.md rule, and excludes temprorary folders created by DocFX.
* Update CONTRIBUTING.md
* Add documentation style rule
* Fix styling of several member documentation
* Fix ' />' caused by Agent Smith oddities
* Fix styling to be more specific about the mention of IDs
* Fix exception summary to comply with official Microsoft Docs style
* References
https://docs.microsoft.com/en-us/dotnet/api/system.argumentnullexception?view=netframework-4.7.2https://docs.microsoft.com/en-us/dotnet/api/system.platformnotsupportedexception?view=netframework-4.7.2https://docs.microsoft.com/en-us/dotnet/api/system.badimageformatexception?view=netframework-4.7.2
* Add XML documentations
* Shift color return docs
* Fix minor docs
* Added documentation for SocketDMChannel, SocketGuildChannel, and SocketTextChannel
* Add XML docs
* Corrections to SocketGuildChannel
* Corrections to SocketTextChannel
* Corrections to SocketDMChannel
* Swapped out 'id' for 'snowflake identifier
* Swapped out 'id' for 'snowflake identifier'
* SocketDMChannel amendments
* SocketGuildChannel amendments
* SocketTextChannel amendments
* Add XML docs & patch return types
+ Starting from this commit, all return types for tasks will use style similar to most documentations featured on docs.microsoft.com
References:
https://docs.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.dbcontext.-ctor?view=efcore-2.1https://docs.microsoft.com/en-us/dotnet/api/system.io.filestream.readasync?view=netcore-2.1https://docs.microsoft.com/en-us/dotnet/api/system.io.textwriter.writelineasync?view=netcore-2.1#System_IO_TextWriter_WriteLineAsync_System_Char___
And many more other asynchronous method documentations featured in the latest BCL.
* Added documentation for many audit log data types, fixed vowel indefinite articles
* Change audit log data types to start with 'Contains' (verb) instead of an article
* Fix some documentation issues and document some more audit log data types
* Fix English posession
* Add XML doc
* Documented two more types
* Documented RoleCreateAuditLogData
* Document remaining audit log data types
* Added RestDMChannel documentation
* Added RestGuildChannel documentation
* Added RestTextChannel documentation
* Added RestVoiceChannel documentation
* Added RestUser documentation
* Added RestRole documentation
* Added RestMessage documentation
* Slightly better wording
* Contains -> Contains a piece of (describe article)
* [EN] Present perf. -> past perf.
* Add XML docs
* Fix arrow alignment
* Clarify supported nullable type
* Fixed a typo in ISnowflakeEntity
* Added RestUser Documentation
* Added RestInvite documentation
* Add XML docs & minor optimizations
* Minor optimization for doc rendering
* Rollback font optimization changes
* Amendments to RestUser
* Added SocketDMChannel documentation
* Added RestDMChannel documentation
* Added RestGuild documentation
* Adjustment to SocketDMChannel
* Added minimal descriptions from the API documentation for Integration types
* Added obsolete mention to the ReadMessages flag.
* Added remarks about 2FA requirement for guild permissions
* Added xmldoc for GuildPermission methods
* Added xml doc for ToAllowList and ToDenyList
* Added specification of how the bits of the color raw value are packed
* Added discord API documentation to IConnection interface
* I can spell :^)
* Fix whitespace in ChannelPermission
* fix spacing of values in guildpermission
* Made changes to get field descriptions from feedback, added returns tag to IConnection
* Added property get standard for IntegrationAccount
* Added property get pattern to xml docs and identical returns tag.
* Change all color class references to struct
...because it isn't a class.
* Add XML docs
* Rewrote the returns tags in IGuildIntegration, removed the ones I was unsure about.
* Rewrote the rest of the returns tags
* Amendments
* Cleanup doc for c1d78189
* Added types to <returns> tags where missing
* Added second sample for adding reactions
* Added some class summaries
* Missed a period
* Amendments
* restored the removed line break
* Removed unnecessary see tag
* Use consistent quotation marks around subscribers, the name for these users are dependant on the source of where they are integrated from (youtube or twitch), so we should not use a name that is specific to one platform
* Add <remarks> tag to the IGuildIntegration xmldocs
* Fix grammar issue
* Update DescriptionGenerator
* Cleanup of https://github.com/Still34/Discord.Net/pull/8
* Cleanup previous PR
* Fix for misleading behaviour in the emoji guide
+ Original lines stated that sending a emoji wrapped in colon will not be parsed, but that was incorrect; replaced with reactions instead of sending messages as the example
* Add strings for dictionary in DotSettings
* Add XML docs
* Fix lots of typos in comments
+ Geez, I didn't know there were so many.
* Add XML docs & rewrite GetMessagesAsync docs
This commit rewrites the remarks section of GetMessagesAsync, as well as adding examples to several methods.
* Update 'Your First Bot'
+ This commit reflects the new changes made to the Discord Application Developer Portal after its major update
* Initial optimization for DocFX render & add missing files
* Add examples in message methods
* Cleanup https://github.com/RogueException/Discord.Net/pull/1128
* Fix first bot note
* Cleanup FAQ structure
* Add XML docs
* Update docfx plugins
* Fix navbar collapsing issue
* Fix broken xref
* Cleanup FAQ section
+ Add introductory paragraphs to each FAQ section.
+ Add 'missing dependency' entry to commands FAQ.
* Split commands FAQ to 'General' and 'DI' sections.
* Cleanup https://github.com/RogueException/Discord.Net/pull/1139
* Fix missing namespace
* Add missing highlighting css for the light theme
* Add additional clarification for installing packages
* Add indentation to example for clarity
* Cleanup several articles to be more human-friendly and easier to read
* Remove RPC-related notes
* Cleanup slow-mode-related documentation strings
* Add an additional note about cross-guild emote usage
* Add CreateTextChannel sample
* Add XMLDocs
* Mark guild as optional for invite
* Mark partial InviteMetadata members as Optional<T>
* Some of them aren't sent when requesting through the general GET invite endpoint
* Remove GetInviteParams
* It was kinda stupid in the first place, might as well always get the count instead of having to ask the user whether they want the two fields filled or not.
* Add ChannelType property
* Add vanity invite support
* Initial support for invite member count arg
* Fix IDiscordClient#GetInviteAsync behavior
- Previously, the GetInviteAsync method would return null since it couldn't be parsed as a simple RestInvite object. The object should be a RestInviteMetadata instead.
* Fix methods that didn't comply with the interface
* Change with_counts REST behaviour
* Remove unnecessary JSON prop
* Remove AcceptAsync
* Move REST requests to appropiate class
* Add call to ClientHelper and expose to public API
* Expose shard count request in public api
* Expose method from interface
* Update sharded client to utilize the new method
* Method is already implemented in a base class
* Refactor name to fit pattern for methods returning a `Task`
* Adds missing ConfigureAwait
* Corrects unnecessary whitespace
* Removes unneeded whitespace
* Add Webhook API models, REST implementation, and Socket bridges.
* Remove token overrides from REST.
Leaving that as a Webhook package only feature.
* Add Webhook API models, REST implementation, and Socket bridges.
* Remove token overrides from REST.
Leaving that as a Webhook package only feature.
* Webhook core implementation.
* Webhook REST implementation.
* Webhook client implementation.
* Add channel bucket id.