* Fix#995 ICategoryChannel.CategoryID throws NotSupportedException
* Add tests
* change run mode of TestChannelCategories
* Add throw for GetCategoryAsync
* Add xml doc explaining why exception is thrown
* Add test coverage for text and voice channel categories
* initial implementation of INestedChannel
* more implementation of INestedChannel design
* Add case in RestChannel Create for Category type
* set the CategoryID for RestVoiceChannel
* rewrite channel category tests to work with existing pattern
* remove outdated todo
* Make IVoiceChannel implement INestedChannel
* remove redundant interface implementation
* Add c#7 feature from feedback
* Remove redundant GetCategoryAsync methods from socket entities
* Added configureawait to async methods
* change signature of interface GetCategoryAsync
* Add check for cachemode in rest channel GetCategory
* remove redundant IGuildChannel interface from ITextChannel and IVoiceChannel
* Update deps, fix test warnings.
* Support ns2.0
* Fix typo
* Remove ns1.1 support
* Net.Http and Net.Websockets.Client are not needed in ns2.0
* Move to net46 per volt
* Remove ns1.3 constants
commit 114e5b431b
Author: HelpfulStranger999 <helpfulstranger999@gmail.com>
Date: Sat Apr 28 19:08:35 2018 -0500
Fixes lack of default value for tts
commit 1fd8c70c53
Author: HelpfulStranger999 <helpfulstranger999@gmail.com>
Date: Sat Apr 28 15:21:11 2018 -0500
Makes text parameter of sending messages optional
* Cleaned up and refactored slightly
* Resolves#971
* Adds support for default avatars and resolves#971
* Amendment
* Final amendment
* Paginating reactions
* Amendments based on feedback
* Further amendment based on review
* Final(?) amendment
* Removes default limit and after user id
* Removes fromUserId; cleans up model creation; replaces function with individual parameters
* Copy audit logs impl from old branch and clean up
I suck at using git, so I'm gonna use brute force.
* Remove unnecessary TODOs
Category channels do not provide any new information, and the other
I forgot to remove beforehand
* Add invite update data, clean up after feedback
* Remove TODOs, add WebhookType enum for future use
WebhookType is a future-use type, as currently audit logs are the only
thing which may return it.
- Removed unnecessary parameter in SocketVoiceServer
- Moved SocketVoiceServer into Entities/Voice
- Fixed a bug where trying to download the cached guild would throw
- Fixed a potential bug where Discord might not give us a port when
connecting to voice
* Expose VoiceServerUpdate events
* Amend based on feedback
* Move this out of guild entity
* Fix namespace issue
* Adjust based on feedback #2
* Use cacheable instead
* Change based on feedback
* 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
* Add EditorConfig
* Add basic .NET style rules
* Add naming rules
* Add some more extension
* Add target of the internal fields
* Fix build fails when built on macOS and Linux
* Use 'Condition' attributes
refs: 6f29dda78b (r181371650)
* Throw when attempting to modify a message not made by the current user
* Didn't realize the client is passed into the MessageHelper function
* Respond to feedback
* Update Users property for category channels
* Wrong property being used for Channels property
CategoryId is the category that "owns" this channel. That is actually impossible right now for category channels, so it returns null and get all channels wrongly.
* Resolve permissions for category
* Remove spaces
* Small fix for IChannel.GetUsersAsync
- 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
* 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
commit a8bafb90cd
Merge: f38dd4c47e04285e
Author: WamWooWam <wamwoowam@gmail.com>
Date: Mon Mar 12 08:05:52 2018 +0000
Merge branch 'dev' of https://github.com/WamWooWam/Discord.Net into dev
commit f38dd4c421
Author: WamWooWam <wamwoowam@gmail.com>
Date: Mon Mar 12 08:05:49 2018 +0000
Cleaned up & fixed code style.
commit 7e04285e5d
Author: Thomas May <wamwoowam@gmail.com>
Date: Sun Mar 11 14:11:28 2018 +0000
Revert changes to DefaultRestClient
Didn't actually need to change this, whoops.
commit 3f5b2c8ef1
Author: WamWooWam <wamwoowam@gmail.com>
Date: Sat Mar 10 19:30:44 2018 +0000
Enabled embeds alongside uploaded files.
God damn Discord is a mess.
Co-authored-by: WamWooWam <wamwoowam@gmail.com>
* Set usage of TokenType.User as an error rather than a warning.
* Remove commented sections and #pragma's
Additionally, changes use of ReadMessages to ViewChannel since that Obsolete was also suppressed by the pragma
This resolves#938 and #883
Note: This fix is not 'verified' in production (I waited over a week for
another full Discord outage and never encountered one), but I do have it
on record from b1nzy that Discord may send an OP9 with `{"d": true}`
during outages, so this would appear to be the proper fix.
The removed code seems to have been leftover from when ConnectionManager
was rewritten and never finished.
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.
This change resolves#916
Discord requires the {"type": 0} payload for all non-streaming
activities. This change fixes a bug where name-only games would fail to
include this payload, causing the presence change to be discarded by
Discord.
This resolves#742.
Common cases for IGuild being null on access are DMs (since they do not
belong to a guild) - this change resolves null guilds to shard zero,
where DMs are also received.
* Fix#854 Added ViewChannel enum and property to channel permissions
* replaced usages of ChannelPermission#ReadMessages with ViewChannel
* rename parameter of ChannelPermissions constructor
* made OverwritePermissions#ReadMessages obsolete, use ViewChannel instead
* Fix#854 Added ViewChannel enum and property to channel permissions
replaced usages of ChannelPermission#ReadMessages with ViewChannel
rename parameter of ChannelPermissions constructor
made OverwritePermissions#ReadMessages obsolete, use ViewChannel instead
* renamed readMessages parameter in ChannelPermissions constructor and Modify
* fixed channel permission tests to use ChannelPermission enum instead of GuildPermission enum
* replaced usages of readmessages in channel permission tests
* resolve build warnings for permission tests
commit a85c5814a7
Author: Christopher F <computerizedtaco@gmail.com>
Date: Sat Jan 6 22:25:48 2018 -0500
Code cleanup
commit 4b243fd3dd
Author: Christopher F <computerizedtaco@gmail.com>
Date: Sat Jan 6 22:08:28 2018 -0500
Add support for channel categories (#907)
commit 41ed9106f2
Author: mrspits4ever <spits.lucas@gmail.com>
Date: Thu Dec 14 20:02:57 2017 +0100
removed mentioning support for RestCategoryChannel, added channels property to SocketCategoryChannel
commit 71142c3108
Merge: 4589d731678a7238
Author: mrspits4ever <spits.lucas@gmail.com>
Date: Wed Dec 13 21:17:53 2017 +0100
Merge branch 'dev' of https://github.com/RogueException/Discord.Net into feature/channel-categories
commit 4589d73187
Author: mrspits4ever <spits.lucas@gmail.com>
Date: Wed Dec 13 21:17:46 2017 +0100
adressed requested changes
commit d59b038efa
Author: pegasy <pegasy@users.noreply.github.com>
Date: Mon Sep 25 18:53:23 2017 +0200
Renamed classes / properties / methods to use CategoryChannel instead of ChannelCategory to be consistant with how text / voice channels are named.
commit 5c4777dc8c
Author: pegasy <pegasy@users.noreply.github.com>
Date: Sun Sep 24 19:08:25 2017 +0200
removed Guild from class name for ChannelCategory
Renamed all properties to use Category instead of Parent
Throw exception on GetUsers / GetInvites etc for categories
commit e18bd8c799
Author: pegasy <pegasy@users.noreply.github.com>
Date: Sun Sep 24 15:49:51 2017 +0200
Add support for channel categories (as its own channel type)
* 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.
* Added support for animated emoji
This was such a useful feature Discord, I'm glad you added this instead
of fixing bugs.
* Fix bugs in emote parser
* Added unit tests for emotes
* 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