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
+}