Commit Graph

9 Commits

Author SHA1 Message Date
Still Hsu
73dc884d47 Improve SpotifyGame (#1039)
* Initial commit

* Add TrackUrl

* Rename AlbumArt to AlbumArtUrl for consistency
2018-04-29 11:15:24 -04:00
Christopher F
02c650773d Clean up SpotifyGame PR
- 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.
2018-03-18 16:18:40 -04:00
Still Hsu
64b9cc7a53 Add Spotify track support (#970)
* 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
2018-03-18 16:06:53 -04:00
Alex Gravely
178ea8de4d Change GameParty size types to longs. (#955) 2018-02-17 18:38:14 -05:00
Christopher F
a384ce02ab Support listening/watching activity types
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.
2018-01-13 23:29:59 -05:00
Christopher F
c08f37bb03 Fix nullref exceptions from Rich Presences 2018-01-05 20:49:59 -05:00
Christopher F
5ce85deb9d Attempt to patch the GameParty nullref
Not sure if this works, needs a more proper solution in the future
anyways
2017-12-27 14:47:55 -05:00
Christopher F
34b4e5a6d2 Refactor Games, support reading Rich Presences (#877)
* 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 5f3cb947a92f4fd01cc4df47ca548180036b47f3

* 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
2017-12-23 14:58:35 -05:00
RogueException
e2934abe29 Made API models internal. Removed Discord.Net.API. 2017-01-01 23:28:42 -04:00