[ifcbrk] feature: Implement Client Status Support (#1247)

* Implement Client Status Support

Adds support for using the client_status as sent as part of the Presence model. This value can be used to determine if a user is active on the native desktop app, the mobile app, or the website.

* lint: whitespace in IPresence

* Remove breaking change to IPresence interface with a note for 2.1

* update comment to not reference 2.1

* re-add interface break to IPresence

* add example payload for client_status

* use inline declaration for Enum.TryParse
This commit is contained in:
Chris Johnston
2019-06-22 20:46:20 -07:00
committed by Christopher F
parent c870e672a2
commit 9da11b4184
9 changed files with 80 additions and 10 deletions

View File

@@ -1,5 +1,6 @@
#pragma warning disable CS1591
#pragma warning disable CS1591
using Newtonsoft.Json;
using System.Collections.Generic;
namespace Discord.API
{
@@ -18,5 +19,12 @@ namespace Discord.API
public Optional<ulong[]> Roles { get; set; }
[JsonProperty("nick")]
public Optional<string> Nick { get; set; }
// This property is a Dictionary where each key is the ClientType
// and the values are the current client status.
// The client status values are all the same.
// Example:
// "client_status": { "desktop": "dnd", "mobile": "dnd" }
[JsonProperty("client_status")]
public Optional<Dictionary<string, string>> ClientStatus { get; set; }
}
}