diff --git a/DisCatSharp/Entities/User/DiscordConnection.cs b/DisCatSharp/Entities/User/DiscordConnection.cs index 17eb14e28..c43197226 100644 --- a/DisCatSharp/Entities/User/DiscordConnection.cs +++ b/DisCatSharp/Entities/User/DiscordConnection.cs @@ -1,174 +1,204 @@ // This file is part of the DisCatSharp project, based off DSharpPlus. // // Copyright (c) 2021-2022 AITSYS // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. using System.Collections.Generic; using DisCatSharp.Enums; using Newtonsoft.Json; namespace DisCatSharp.Entities; /// /// Gets a Discord connection to a 3rd party service. /// public class DiscordConnection { /// /// Gets the id of the connection account /// [JsonProperty("id")] public string Id { get; internal set; } /// /// Gets the username of the connection account. /// [JsonProperty("name")] public string Name { get; internal set; } /// /// Gets the service of the connection. /// /// /// Type /// Obsolete (Non-assignable) /// /// + /// instagram + /// false + /// + /// + /// crunchyroll + /// false + /// + /// + /// tiktok + /// false + /// + /// + /// paypal + /// false + /// + /// + /// epicgames + /// false + /// + /// + /// ebay + /// false + /// + /// /// twitch /// false /// /// /// steam /// false /// /// /// youtube /// false /// /// /// twitter /// false /// /// /// facebook /// false /// /// /// spotify /// false /// /// /// xbox /// false /// /// /// playstation /// false /// /// /// epicgames /// false /// /// /// reddit /// false /// /// /// battlenet /// false /// /// /// github /// false /// /// /// leagueoflegends /// true /// /// /// skype /// true /// /// /// samsunggalaxy /// true /// /// /// [JsonProperty("type")] public string Type { get; internal set; } /// /// Gets whether the connection is revoked. /// [JsonProperty("revoked", NullValueHandling = NullValueHandling.Include)] public bool? IsRevoked { get; internal set; } /// /// Gets a collection of partial server integrations. /// [JsonProperty("integrations", NullValueHandling = NullValueHandling.Ignore)] public IReadOnlyList Integrations { get; internal set; } /// /// Gets whether the connection is verified. /// [JsonProperty("verified", NullValueHandling = NullValueHandling.Ignore)] public bool Verified { get; internal set; } /// /// Gets whether the connection will show a activity. /// [JsonProperty("show_activity", NullValueHandling = NullValueHandling.Ignore)] public bool ShowActivity { get; internal set; } /// /// Whether the connection will sync friends. /// [JsonProperty("friend_sync", NullValueHandling = NullValueHandling.Ignore)] public bool? FriendSync { get; internal set; } /// /// Whether this connection supports console voice transfer. /// Currently in beta rollout for XBox. Playstation soon. /// [JsonProperty("two_way_link", NullValueHandling = NullValueHandling.Ignore)] public bool TwoWayLink { get; internal set; } /// /// Gets the visibility of the connection. /// [JsonProperty("visibility", NullValueHandling = NullValueHandling.Ignore)] public ConnectionVisibilityType Visibility { get; internal set; } + /// + /// Gets the metadata visibility of the connection. + /// + [JsonProperty("metadata_visibility", NullValueHandling = NullValueHandling.Ignore)] + public ConnectionMetadataVisibilityType MetadataVisibility { get; internal set; } + /// /// Gets the client instance this object is tied to. /// [JsonIgnore] internal BaseDiscordClient Discord { get; set; } /// /// Initializes a new instance of the class. /// internal DiscordConnection() { } } diff --git a/DisCatSharp/Enums/User/ConnectionMetadataVisibilityType.cs b/DisCatSharp/Enums/User/ConnectionMetadataVisibilityType.cs new file mode 100644 index 000000000..fc784befd --- /dev/null +++ b/DisCatSharp/Enums/User/ConnectionMetadataVisibilityType.cs @@ -0,0 +1,39 @@ +// This file is part of the DisCatSharp project, based off DSharpPlus. +// +// Copyright (c) 2021-2022 AITSYS +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +namespace DisCatSharp.Enums; + +/// +/// The metadata visibility type of user account connections. +/// +public enum ConnectionMetadataVisibilityType : long +{ + /// + /// This connections metadata is only visible to the owning user. + /// + None = 0, + + /// + /// This connections metadata is visible to everyone. + /// + Everyone = 1 +}