* Fixed some warnings
* Another fixed warning
* Changed the SSendFileAsync to SendFileAsync
* Removed para AlwaysAcknowledgeInteractions
* Moved it back to the previous version
* Added periods to the end like quin requested!! :((
Co-authored-by: MrCakeSlayer <13650699+MrCakeSlayer@users.noreply.github.com>
* 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
* 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
Sometimes Discord messes up and leaves a guild with a null PreferredLocale, causing an error to be thrown. This fixes that from Discord.Net's end even though it's Discord's fault.
* Fix#1335 Add isMentionable parameter to CreateRoleAsync in non-breaking manner
This PR adds the isMentionable parameter to the CreateRoleAsync method
in a way that prevents it from being interface-breaking. This has been done
by adding it as an optional parameter at the end of publicly-exposed
methods.
This parameter determines if the newly created role can be mentioned as it is
created.
* Overload CreateRoleAsync methods
* Fix#1381 Guild PreferredLocale support
Adds support for getting and modifying a guild's preferred_locale. This is a language tag in IETF BCP 47 format, which works with the built-in CultureInfo.
While Discord only supports a number of cultures, I think that this restriction should be handled at the API and not by the wrapper. (Also easier on our end)
* Add PreferredCulture to IGuild
This property was defined in RestGuild and SocketGuild, so it only makes sense to make it part of IGuild as well.
* Support filtering audit log entries on user, type, and before id
Adds support for filtering audit log entires with GetAuditLogsAsync. Adds the ability to specify a userId and ActionType to filter. Exposes the beforeId filter which was already implemented, yet unused (even when requesting > 100 entries)?
Was thinking that this could expose overloads of GetAuditLogAsync that accepts a IUser and IAuditLogEntry, but dealing with all the combinations of these types may be excessive.
* use only stringbuilder for args instead of string interpolation
* add new MessageTypes
* Add new properties to the updated models
* add the SystemChannelMessageDeny
unsure if there would be a better name for this enum, given it's inverted nature, open for suggestions
* add PremiumTier flag, add Guild description property
* add method for getting vanity image from CDN
* make the size of GetGuildVanityUrl optional
* lint: remove commented out code from prev commit
* add a None flag to SystemChannelMessage enum
* implement the new modify guild params
* implement additional model properties in IGuild types
* implement GuildMember PremiumSince
* docs: reword size param explanation
* add extension methods that make it easier to check the SystemChannelMessage flags for end users
because the flag is inverted, this ideally should make it easier for the user. it may also be useful to do something similar for modifying this property
* docs: correct typo from copy-paste
* add the premium_subscription_count property
* fix vanity url code and banner switchup
a mistake was made somewhere, that's all I know for sure
* clarify remark on inverted logic for system channel flags
* fix PremiumSubscriptionCount optional value
* add another example to the systemchannelflags xmldoc remark
* docs: fix typos, clarify wording
* use DateTimeOffset for PremiumSince, follow conventions from other prop
* Remove template in favor of official samples
* Fixed a variable name copy pasta mistake
line 35 was _database.GetData() instead of DBService.GetData()
* Experimental theme change
* Change paragraph, code, heading fonts
* Widen viewport
* Update DocFX.Plugins.LastModified v1.2.3
* Exclude Discord.API in docs
* Add remarks for SocketReaction properties
* Add examples for BaseSocketClient.Events
* Add additional clarification for some methods
* Move IUser and IGuildChannel examples
* Clarify several guides samples with notes
- Reword TypeReader comment to avoid giving the idea that the sample itself is "obsolete"
- Remove CommandException logging comment regarding C#7.0 as the version is now the standard across VS2017 and up
- Remove suggestion about handling result in command handler since it is now advised to use CommandExecuted instead
+ Add additional comment to clarify ctor for DI setup
* Add/migrate code examples
* Incorporate material design theme
License @ https://github.com/ovasquez
* Update installation and nightly guide
* Fix improper indentations made obvious by the widen viewport
* Fix minor grammar issues
+ Add installation for nightly build using dotnet CLI
* Fix nav level indentation
* Revise "Your First Bot" article
* Merge some paragraphs to avoid clutter while keeping readability
* Reword the use of command framework
+ Add additional warning/note about environment variable
* Add additional indent level
* Fix indentation text warping
* Remove connections sample
* Update logging sample
Remove redundant part of the sample
* Remove mention of RPC
* Remove misleading section about commands
- Remove command sample from complete snippet
* Revise "Your First Bot" command paragraphs
* Change wording to hint devs that additional command parser packages may be available, as more and more begin to crop up
* Update themes
* Add XML docs contribution guidelines
Update guidelines
* Update CommandExecuted remarks
* Fix precondition remarks typo
no one saw that ok
* Fix permission sample in docfx
* Fix IMessageChannel samples
* Update docs/_template/light-dark-theme/styles/docfx.vendor.minify.css
Co-Authored-By: Still34 <341464@gmail.com>
* Update docs/_template/light-dark-theme/styles/material.css
Co-Authored-By: Still34 <341464@gmail.com>
* Update docs/_template/light-dark-theme/styles/material.css
Co-Authored-By: Still34 <341464@gmail.com>
* 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
* Added ability to specify position when creating a channel
* Adjusted categories to include guildproperties and allow specifying position when creating channel categories
* fixed unimplemented methods (for CreateCategoryChannelAsync) and added appropriate documentation