* meta: bump version
* Null or empty fix (#176)
* Add components and stickers to ReplyAsync extension
* Fixed null or empty
* Changed Label to Description
* -||-
Co-authored-by: quin lynch <lynchquin@gmail.com>
* More regions (#177)
* Preconditions
* ChannelHelper
* RestDMChannel
* RestGroupChannel
* RestBan
* RestGroupUser
* EntityExtensions
* DiscordSocketClient
* DiscordSocketClient
* Discord.net.core.xml fix (#178)
* Changed Label to Description
* Added Discord- .MessageComponent .ISticker[]
,Discord.MessageComponent,Discord.ISticker[] to ReplyAsync
* Remove references to labs
* Update Discord.Net.sln
* Added SendMessagesInThreads and StartEmbeddedActivities. (#175)
* Added SendMessagesInThreads and StartEmbeddedActivities.
Adjusted owner perms.
Change UsePublicThreads -> CreatePublicThreads
Change UsePrivateThreads -> CreatePrivateThreads
* removed extra ///
* Added UsePublicThreads and UsePrivateThreads back with Obsolete Attribute
* removed 'false' from Obsolete Attribute
* Squashed commit of the following:
commit dca41a348e
Author: quin lynch <lynchquin@gmail.com>
Date: Thu Sep 23 07:02:19 2021 -0300
Autocomplete commands
* meta: xml. closes#171
* Revert user agent and $device to dnet
* meta: bump version
* meta: bump vers
* Fix sticker args
* Grammer fix (#179)
* Made IVoiceChannel mentionable
* Embeds array for send message async (#181)
* meta: bump version
* meta: bump vers
* Fix sticker args
* Grammer fix (#179)
* Added embeds for SendMessageAsync
* [JsonProperty("embed")] forgot to remove this
public Optional<Embed> Embed { get; set; }
* It has been done as requested.
* Changed the old way of handeling single embeds
* Moved embeds param and added options param
* xmls
Co-authored-by: quin lynch <lynchquin@gmail.com>
* Fix thread permissions (#183)
* Update GuildPermissionsTests.cs
* Update GuildPermissions.cs
* Use compound assignment (#186)
* Used compound assignment
* -||-
* -||-
* Remove unnecessary suppression (#188)
* Inlined variable declarations (#185)
* Fixed some warnings (#184)
* 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>
* Object initialization can be simplified fixed (#189)
* Conditional-expression-simplification (#193)
* Capitlazation fixes (#192)
* Removed-this. (#191)
* Use 'switch' expression (#187)
* Use 'switch' expression
* Reverted it to the old switch case
* Fixed-compiler-error (#194)
* Submitting updates to include new permissions. (#195)
* Submitting updates to include new permissions.
* Make old permissions obsolete and update tests
Co-authored-by: quin lynch <lynchquin@gmail.com>
* Update azure-pipelines.yml
* Update azure-pipelines.yml
* Update azure-pipelines.yml
* Add support for long in autocomplete option
* Add support for sending files with multiple embeds (#196)
* Add support for sending files with multiple embeds
* Simplify prepending single embed to embed array
* Consistency for embeds endpoints (#197)
* Changed the way of handling prepending of embeds.
For consistency.
* reformatted the summary
* Revert pipeline
* Fix duplicate merge conflicts
* Changed minimum slash command name length to 1 per Discord API docs (#198)
* Channel endpoints requirements correction (#199)
* Added some requirements to channels for topic
* Changed check from NotNullOrEmpty to NotNullOrEmpty
* Added some requirements to channels for name
Preconditions.LessThan
* Formatting of file
* Added restriction for description not being null (#200)
* Update azure-pipelines.yml
* Update deploy.yml
* Remove version tag from proj
* Update deploy.yml
* Removed versions from project files
* Removed style of the nuget badge and added logo (#201)
The style was not properly added to it and the plastic version does not look good with the discord badge.
I thought it would look better with a logo
* Fix Type not being set in SocketApplicationCommand
* Remove useless GuildId property
* meta: update XML
* Add Autocomplete to SlashCommandOptionBuilder
* Added autocomplete in SlashCommandOptionBuilder. (#206)
Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>
* Fix duplicate autocomplete
* Fix#208
* Fix sub commands being interpreted as a parameter for autocomplete
* Fix exposed optional
* Support the discord:// protocol in buttons (#207)
* Update UrlValidation.cs
* Update ComponentBuilder.cs
* Add docs and better error messages.
* Fix wonky intentation
* Add competing activity status type (#205)
* Update GuildPermissionsTests.cs
* Update GuildPermissions.cs
* Add competing status type
* Add Icons to IRole (#204)
* Added icon field to IRole
* Added GetGuildRoleIconUrl()
* Added Clean Content Function (#174)
* Added Clean Content Function
* Fixed Spelling problems and bad var handling
* Add StripMarkDown Method
* Clean Content Expanded (#212)
* Implement CleanContent In IMessage & RestMessage
* Update Spelling and Documentation
* Add SanatizeMessage to MessageHelper and Refactor Rest and Socket Message
* Add event for autocomplete interaction (#214)
* Spelling corrections (#215)
* Remove null collections
* Followup with file async warnings (#216)
* Changed from NotNullOrWhitespace to NotNullOrEmpty
* Added NotNullOrEmpty on filename
* Added system to interpret from the path
* Added a check for if it contains a period
* It has been done, how ever it will break stuff
* Changed to use ??= how ever still added error check
* Added space under check
* Changed from with a period to valid file extension
* Added checks for SendFileAsync
* Removed filename != null &&
* Add channel types in application command options. (#217)
* add channel types in application command options
* Indent Docs
* Stage instance audit logs as well as thread audit log type
* Update azure-pipelines.yml
* Update azure-pipelines.yml
* Fix system messages not including mentioned users. Added ContextMenuCommand message type
* Remove file extension check (#218)
* Fix NRE in modify guild channel
* Fix 429's not being accounted for in ratelimit updates
* meta: add net5 framework
Co-Authored-By: MrCakeSlayer <13650699+MrCakeSlayer@users.noreply.github.com>
* Proper doc logos (#221)
* Update GuildPermissionsTests.cs
* Update GuildPermissions.cs
* Add competing activity status type
* logo changes
* logo text as path
* add missing logo
* Update package logo and favicon
* Update docfx references
* Remove XML files and use original pipeline format
* Remove console writeline
* Remove Console.WriteLine
* Remove useless log
* Rename Available sticker field to IsAvailable
* Rename Available to IsAvailable in stickers
* Add summary indent for role members
* Add summary indent to SocketInvite
* Rename DefaultPermission to IsDefaultPermission
* Rename Default to IsDefault and Required to IsRequired in IApplicationCommandOption
* Rename Default and Required to IsDefault and IsRequired in IApplicationCommandOption. Rename DefaultPermission to IsDefaultPermission in IApplicationCommand
* Remove extra white spaces
* Renamed Joined, Archived, and Locked to HasJoined, IsArchived, and IsLocked
* Rename Live and DiscoverableDisabled to IsDiscoverableDisabled and IsLive in IStageChannel
* Remove newline
* Add indent to summaries
* Remove unnecessary json serializer field
* Fix ToEntity for roletags incorrectly using IsPremiumSubscriber
* Update RestChannel for new channel types
* Fix different rest channels not deserializing properly
* fully qualify internal for UrlValidation and add indent to summary
* Add missing periods to InteractionResponseType
* Fix summary in IApplicationCommandOptionChoice
* Update IApplicationCommandOption summaries
* Update IApplicationCommandInteractionDataOption summaries
* Update IApplicationCommandInteractionData summaries
* Update IApplicationCommand summaries
* Update ApplicationCommandType summaries
* rename DefaultPermission to IsDefaultPermission in ApplicationCommandProperties
* update ApplicationCommandOptionChoiceProperties summaries
* Rename Default, Required, and Autocomplete to IsDefault, IsRequired, and IsAutocomplete in ApplicationCommandOptionProperties
* Update SlashCommandProperties summaries
* update SlashCommandBuilder boolean field names, summaries, and choice parameters
* Update SelectMenuOption summaries, Rename Default to IsDefault in SelectMenuOption
* update SelectMenuComponent summaries. Rename Disabled to IsDisabled in SelectMenuComponent
* update ComponentBuilder summaries and boolean fields.
* Update ButtonComponent summaries and boolean fields
* update ActionRowComponent summaries
* Update UserCommandBuilder
* Update MessageCommandBuilder summaries and boolean properties
* Update IGuild summary
* Update IGuild summaries
* Update StagePrivacyLevel summary
* update IThreadChannel summaries
* Update IStageChannel summaries
* Refactor summaries and boolean property names
* General cleanup (#223)
* General cleanup
* Add Async suffix to SendAutocompleteResult
* Fix more formatting
* Fix unused RequestOptions in GetActiveThreadsAsync
* Add message to ArgumentNullException
* Ephemeral attachments
* Add missing jsonproperty attribute
* Add IMessage.Interaction
* Update attachment checks for embed urls
* meta: bump version
* Remove old package configs and update image
* Update package logos
* Fix logo reference for azure
* Deprecate old package definitions in favor for target file
* Deprecate old package definitions in favor for target file
Co-authored-by: Jared L <48422312+lhjt@users.noreply.github.com>
* Update package ids
* Fix url validation
* meta: bump version
* Fix assignment of UserMentions (#233)
* Fix CleanContent (#231)
* Fix SocketSlashCommandData access modifier. (#237)
Fixes#229
* Update README with better header (#232)
* Update README with better header
Adds HTML elements that implement the main logo & improve the redirection tag positions.
* Resolving border issue in light-mode
* Update sponsor section
* Implement checks for interaction respond times and multiple interaction responses. closes#236, #235
* Add response check to socket auto complete
* meta: bump versions
* Fix#239
* meta: bump version
* meta: update logo
* meta: bump versions
* Revert received at time, confirmed by discord staff to be accurate
* Merge branch 'release/3.x' of https://github.com/Discord-Net-Labs/Discord.Net-Labs into merger-labs
Update requested changes of obsolete and references to labs.
Added `Interaction` to `IMessage`
Fixed grammar
Fixed bugs relating to interactions.
* Update docs
* Update CHANGELOG.md
* meta: docs building
* Update docs.yml
* Update docs.yml
* Fix docfx version
* Update docs.yml
* Update docs.bat
* Rename docs repo for clone
* update docfx version
* Update docs.bat
* Update docfx version
* Remove docs from pipeline
* FAQ revamped, metadata updated (#241)
* FAQ revamped, metadata updated
* Update FAQ.md
* Update README.md
* Docs index improvement
* Fix InvalidOperationException in modify channel
* feature: guild avatars, closes#238
* feature: modify role icons
* meta: changelog
* meta: bump version
* Update README.md
* Fix non value type options not being included in autocomplete
* Add new activity flags (#254)
* Add new activity flags
* Add missing commas
* Added support for GUILD_JOIN_REQUEST_DELETE event (#253)
Fixes#247
* Adding BotHTTPInteraction user flag (#252)
* animated guild banner support (#255)
* Docs work (WIP) (#242)
* Main page work
* Metadata logo dir
* More main page edits
* Naming change
* Dnet guide entries pruned
* Add student hub guild directory channel (#256)
* animated guild banner support
* Add guild directory channel
* Fix followup with file overwrite having incorrect parameter locations
* Merge labs 3.x
* Update GUILD_JOIN_REQUEST_DELETE event
* Update head.tmpl.partial
* Removed BannerId and AccentColor (#260)
* Removed BannerId property, GetBannerURL method, and AccentColor property from IUser and socket entities.
* Fixed errors in IUser.cs
* Added back summary for GetAvatarUrl method in IUser.cs
* Support Guild Boost Progress Bars (#262)
* Support Guild Boost Progress Bars
* Update SocketChannel.cs
* Fix non-optional and unnecessary values.
* Spelling
* Reordering and consistency.
* Remove log for reconnect
* Add missing flags to SystemChannelMessageDeny (#267)
* Fix labs reference in analyzer project and provider project
* Rename new activity flags
* Guild feature revamp and smart gateway intent checks
* Get thread user implementation
* Amend creating slash command guide (#269)
* Adding BotHTTPInteraction user flag
* Added comments explaining the Global command create stipulations.
* Fix numeric type check for options
* Add state checking to ConnectionManager.StartAsync (#272)
* initial interface changes
* Multi file upload + attachment editing
* meta: bump versions
* Update CHANGELOG.md
* Update CHANGELOG.md
* Support Min and Max values on ApplicationCommandOptions (#273)
* Support Min and Max values on ApplicationCommandOptions
* Support decimal min/max values
* Docs imrpovments + use ToNullable
* Logomark, doc settings edit (#258)
* Logomark, doc settings edit
* Replace standard logo
* Bumping docfx plugins to latest release
* Bump version metadata
* Logo svg fix
* Change default sticker behavior and add AlwaysResolveSticker to the config
* Implement rest based interactions. Added ED25519 checks. Updated summaries.
* Update package logo
* Automatically fix ordering of optional command options (#276)
* auto fix optional command option order
* clean up indentation
* Fix maximum number of Select Menu Options (#282)
As of https://discord.com/developers/docs/interactions/message-components#select-menu-object-select-menu-structure the maximum number of options is 25, not less than 25. Hopefully the change catches all necessary locations
* Add voice region to modify voice channels
* Update summaries on rest interactions
* Interaction Specific Interfaces (#283)
* added interaction specific interfaces
* fix build error
* implement change requests
* Update application
* Add Guild Scheduled Events (#279)
* guild events initial
* sharded events
* Add new gateway intents and fix bugs
* More work on new changes to guild events
* Update guild scheduled events
* Added events to extended guild and add event start event
* Update preconditions
* Implement breaking changes guild guild events. Add guild event permissions
* Update tests and change privacy level requirements
* Update summaries and add docs for guild events
* meta: bump version
* Increment meta version (#285)
* Increment meta version
* Update docfx.json
* Fix#289 and add configureawaits to rest based interactions
* meta: bump version
* Add GUILD_SCHEDULED_EVENT_USER_ADD and GUILD_SCHEDULED_EVENT_USER_REMOVE (#287)
* Remove newline
* Fix autocomplete result value
* meta: bump versions
* Add `GuildScheduledEventUserAdd` and `GuildScheduledEventUserRemove` to sharded client
* Make RestUserCommand public (#292)
* Fix Components not showing on FUWF (#288) (#293)
Adds Components to Payload JSON Generation
* Implement smarter rest resolvable interaction data. Fixes#294
* Add UseInteractionSnowflakeDate to config #286
* Implement Better Discord Errors (#291)
* Initial error parsing
* Implement better errors
* Add missing error codes
* Add voice disconnect opcodes
* Remove unused class, add summaries to discordjsonerror, and remove public constructor of slash command properties
* Add error code summary
* Update error message summary
* Update src/Discord.Net.Core/DiscordJsonError.cs
Co-authored-by: Jared L <48422312+lhjt@users.noreply.github.com>
* Update src/Discord.Net.WebSocket/API/Voice/VoiceCloseCode.cs
Co-authored-by: Jared L <48422312+lhjt@users.noreply.github.com>
* Fix autocomplete result value
Co-authored-by: Jared L <48422312+lhjt@users.noreply.github.com>
* Change the minimum length of slash commands to 1 (#284)
* Change the minimum length of slash commands to 1. This is the correct value according to the docs and it has been changed after user feedback.
* Fix the limit in 3 other places
Co-authored-by: quin lynch <lynchquin@gmail.com>
* Add new thread creation properties
* Add role emoji. Fixes#295
* Fix mocked text channel
* Fix precondition checks. Closes#281
* Initial fix (#297)
* meta: bump version
* Update from release/3.x
* Remove more labs references
* Remove doc file for Discord.Net.Analyzers
Co-authored-by: Simon Hjorthøj <sh2@live.dk>
Co-authored-by: drobbins329 <drobbins329@gmail.com>
Co-authored-by: MrCakeSlayer <13650699+MrCakeSlayer@users.noreply.github.com>
Co-authored-by: d4n3436 <dan3436@hotmail.com>
Co-authored-by: Will <WilliamWelsh@users.noreply.github.com>
Co-authored-by: Eugene Garbuzov <kkxo.mail@gmail.com>
Co-authored-by: CottageDwellingCat <80918250+CottageDwellingCat@users.noreply.github.com>
Co-authored-by: Emily <89871431+emillly-b@users.noreply.github.com>
Co-authored-by: marens101 <marens101@gmail.com>
Co-authored-by: Jared L <48422312+lhjt@users.noreply.github.com>
Co-authored-by: Armano den Boef <68127614+Rozen4334@users.noreply.github.com>
Co-authored-by: Bill <billchirico@gmail.com>
Co-authored-by: Liege72 <65319395+Liege72@users.noreply.github.com>
Co-authored-by: Floowey <floowey@gmx.at>
Co-authored-by: Cenk Ergen <57065323+Cenngo@users.noreply.github.com>
Co-authored-by: exsersewo <exsersewo@systemexit.co.uk>
Co-authored-by: Dennis Fischer <fischer_dennis@live.de>
This change fixes a bug that was introduced in PR #1406. Games were falsely detected to be CustomStatusGames, based on the Id property being included in the model payload.
This fixes the false detection of Games as CustomStatusGame. An activity will only be considered a CustomStatusGame if the Id has a value of "custom".
This change has been tested by listening to the GuildMemberUpdated event, and opening/closing games with a custom status set.
* Fixed GetUsersAsync to use MaxUsersPerBatch const as limit instead of MaxMessagesPerBatch.
Requests are now returning up to 1000 guild user entities instead of the previous 100.
* Added StartedAt and EndsAt timespans for SpotifyGame.
They make it possible to expose track's Elapsed and Remaining properties.
* Moved Duration to be initialized within model construction.
* Updated StartedAt and EndsAt comments.
* Implement CustomStatusGame activity
Adds the CustomStatusGame class, which is the activity corresponding to the custom status feature.
* Remove unused import from Game.cs
* WIP commit, update IActivity and IUser with missing types
* incomplete implementation of interfaces
* Add implementation of activity flags, and extension method to check flag
* remove usings that were not required
* clean up files and add documentation where missing
* remove unused usings
* Add remark saying that premium_type info may be inaccessible to bots
it seems that this information can not be accessed by any user,
and may require the identity oauth scope
* Add locale property to the user model
adds the locale property to the user model, which appears not to be
specified for bots
* rename ActivityFlags
* Add incomplete xmldoc to ActivityFlag
Added xmldoc to the ActivityFlag type, excluded flags that i was unsure about
* rename the UserFlags file
* Add incomplete xmldoc to UserFlag enum
* Remove unnecessary extension methods and use built-in functionality
* use <c> tag for xmldoc 'null's
* Add xmldoc for JoinRequest ActivityFlag
* improve the PremiumType xmldoc
* Add zero activityflag
* Add summary tag verbs, example of IUser locale
* Rename Flag enum types to use Properties suffix
* Expose the details field in the Game model
* update Activity extension methods to support Details field
* Use inherited Details implementation in RichGame
* lint: remove commented out code from debugging
* Fix issue in previous commit
* Move oauth-only user fields to SelfUser classes
Moves the implementation of the Flags, PremiumType, and Locale user fields to ISelfUser classes. In testing, it seemed that normal bot accounts did not have this information supplied to them. When tested with a Bearer token in the Rest client, these fields are set.
* remove old HypeSquadEvents flag that appears to have been replaced with the new HypeSquad flags
- Add a helper under CDN for cover art URLs
It would be bad practice of us to leave CDN urls hardcoded in the
deserializer, would be harder to change down the line should Spotify
ever change their CDN.
I'm not entirely supportive of leaving Spotify's CDN hardcoded in our lib
either, but there's no better alternative.
- Change SpotifyGame#Artists to an IEnumerable<string>
Seems pretty common to prefer IEnumerables in place of Arrays.
* Initial Spotify support
* Remove GameAsset#ToEntity
- appId doesn't seem to be necessary, and Spotify Game doesn't return appId either.
* Implement SpotifyGame details
* Implement song Duration prop
* Add album art CDN
* Fix ActivityType
* Remove payload debug
* Add changes according to review
+ Make `ApplicationId` nullable
+ Move ctor after props
This resolves#931
As part of this change, StreamingType has been refactored to realign
with how Discord seems to define the 'type' field on activities now.
StreamType is renamed to ActivityType, and the following properties have
been changed:
- NotStreaming -> Playing
- Twitch -> Streaming
Additionally, the StreamType property/parameter has been removed from
StreamingGame, and moved up a scope to Game.
Normal Games may now set their type, to line up with changes in
Discord's official clients.
* Add API-level support for Rich Presences
* Add library-level support for Game presences
* Add model conversions for outgoing+incoming rich presences
* Refactored Game into Activities
* Integrated Activities with user entities
rebase hell from 5f3cb947a9
* Fix JSON converters for Activities
* Finish rebase, activity should be set on BaseSocketClient
* Use ApplicationId to define a rich presence
* Added SetActivityAsync to Base and Sharded Socket clients
* Remove public parameterless Game constructor
* Remove GameAssets, refactored to GameAsset
* Hide constructors for types that should be read-only
* Revert changes to Discord.Net.sln
got damned visual studio caching
* Refactor GameParty to use dedicated current/capacity values
Per feedback from @khionu