Browse Source

Add API-level support for Rich Presences

pull/877/head
Christopher F Christopher F 8 years ago
parent
commit
8bf41a9c71
6 changed files with 73 additions and 1 deletions
  1. +16
    -0
      src/Discord.Net.Rest/API/Common/Game.cs
  2. +16
    -0
      src/Discord.Net.Rest/API/Common/GameAssets.cs
  3. +12
    -0
      src/Discord.Net.Rest/API/Common/GameParty.cs
  4. +14
    -0
      src/Discord.Net.Rest/API/Common/GameSecrets.cs
  5. +13
    -0
      src/Discord.Net.Rest/API/Common/GameTimestamps.cs
  6. +2
    -1
      src/Discord.Net.Rest/Discord.Net.Rest.csproj

+ 16
- 0
src/Discord.Net.Rest/API/Common/Game.cs View File

@@ -13,6 +13,22 @@ namespace Discord.API
public Optional<string> StreamUrl { get; set; }
[JsonProperty("type")]
public Optional<StreamType?> StreamType { get; set; }
[JsonProperty("details")]
public Optional<string> Details { get; set; }
[JsonProperty("state")]
public Optional<string> State { get; set; }
[JsonProperty("application_id")]
public Optional<ulong> ApplicationId { get; set; }
[JsonProperty("assets")]
public Optional<API.GameAssets> Assets { get; set; }
[JsonProperty("party")]
public Optional<API.GameParty> Party { get; set; }
[JsonProperty("secrets")]
public Optional<API.GameSecrets> Secrets { get; set; }
[JsonProperty("timestamps")]
public Optional<API.GameTimestamps> Timestamps { get; set; }
[JsonProperty("instance")]
public Optional<bool> Instance { get; set; }

[OnError]
internal void OnError(StreamingContext context, ErrorContext errorContext)


+ 16
- 0
src/Discord.Net.Rest/API/Common/GameAssets.cs View File

@@ -0,0 +1,16 @@
using Newtonsoft.Json;

namespace Discord.API
{
internal class GameAssets
{
[JsonProperty("small_text")]
public Optional<string> SmallText { get; }
[JsonProperty("small_image")]
public Optional<string> SmallImage { get; }
[JsonProperty("large_image")]
public Optional<string> LargeText { get; }
[JsonProperty("large_text")]
public Optional<string> LargeImage { get; }
}
}

+ 12
- 0
src/Discord.Net.Rest/API/Common/GameParty.cs View File

@@ -0,0 +1,12 @@
using Newtonsoft.Json;

namespace Discord.API
{
internal class GameParty
{
[JsonProperty("id")]
public ulong Id { get; set; }
[JsonProperty("size")]
public ulong[] Size { get; set; }
}
}

+ 14
- 0
src/Discord.Net.Rest/API/Common/GameSecrets.cs View File

@@ -0,0 +1,14 @@
using Newtonsoft.Json;

namespace Discord.API
{
internal class GameSecrets
{
[JsonProperty("match")]
public string Match { get; set; }
[JsonProperty("join")]
public string Join { get; set; }
[JsonProperty("spectate")]
public string Spectate { get; set; }
}
}

+ 13
- 0
src/Discord.Net.Rest/API/Common/GameTimestamps.cs View File

@@ -0,0 +1,13 @@
using System;
using Newtonsoft.Json;

namespace Discord.API
{
internal class GameTimestamps
{
[JsonProperty("start")]
public DateTimeOffset Start { get; set; }
[JsonProperty("end")]
public DateTimeOffset End { get; set; }
}
}

+ 2
- 1
src/Discord.Net.Rest/Discord.Net.Rest.csproj View File

@@ -10,7 +10,8 @@
<ProjectReference Include="..\Discord.Net.Core\Discord.Net.Core.csproj" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' != 'net45' ">
<PackageReference Include="System.Net.Http" Version="4.3.2" /> <!-- https://github.com/dotnet/corefx/issues/19535 -->
<PackageReference Include="System.Net.Http" Version="4.3.2" />
<!-- https://github.com/dotnet/corefx/issues/19535 -->
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
<Reference Include="System.Net.Http" />


Loading…
Cancel
Save