diff --git a/src/Discord.Net.Core/Entities/Invites/IInviteMetadata.cs b/src/Discord.Net.Core/Entities/Invites/IInviteMetadata.cs
index 1136e1678..0e026ab62 100644
--- a/src/Discord.Net.Core/Entities/Invites/IInviteMetadata.cs
+++ b/src/Discord.Net.Core/Entities/Invites/IInviteMetadata.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace Discord
{
@@ -15,8 +15,8 @@ namespace Discord
/// Gets the max amount of times this invite may be used, or null if there is no limit.
int? MaxUses { get; }
/// Gets the amount of times this invite has been used.
- int Uses { get; }
+ int? Uses { get; }
/// Gets when this invite was created.
- DateTimeOffset CreatedAt { get; }
+ DateTimeOffset? CreatedAt { get; }
}
-}
\ No newline at end of file
+}
diff --git a/src/Discord.Net.Rest/API/Common/InviteMetadata.cs b/src/Discord.Net.Rest/API/Common/InviteMetadata.cs
index 586307523..ca019b79b 100644
--- a/src/Discord.Net.Rest/API/Common/InviteMetadata.cs
+++ b/src/Discord.Net.Rest/API/Common/InviteMetadata.cs
@@ -1,4 +1,4 @@
-#pragma warning disable CS1591
+#pragma warning disable CS1591
using Newtonsoft.Json;
using System;
@@ -9,15 +9,15 @@ namespace Discord.API
[JsonProperty("inviter")]
public User Inviter { get; set; }
[JsonProperty("uses")]
- public int Uses { get; set; }
+ public Optional Uses { get; set; }
[JsonProperty("max_uses")]
- public int MaxUses { get; set; }
+ public Optional MaxUses { get; set; }
[JsonProperty("max_age")]
- public int MaxAge { get; set; }
+ public Optional MaxAge { get; set; }
[JsonProperty("temporary")]
public bool Temporary { get; set; }
[JsonProperty("created_at")]
- public DateTimeOffset CreatedAt { get; set; }
+ public Optional CreatedAt { get; set; }
[JsonProperty("revoked")]
public bool Revoked { get; set; }
}
diff --git a/src/Discord.Net.Rest/Entities/Invites/RestInviteMetadata.cs b/src/Discord.Net.Rest/Entities/Invites/RestInviteMetadata.cs
index 42aeb40aa..c7236be58 100644
--- a/src/Discord.Net.Rest/Entities/Invites/RestInviteMetadata.cs
+++ b/src/Discord.Net.Rest/Entities/Invites/RestInviteMetadata.cs
@@ -1,20 +1,20 @@
-using System;
+using System;
using Model = Discord.API.InviteMetadata;
namespace Discord.Rest
{
public class RestInviteMetadata : RestInvite, IInviteMetadata
{
- private long _createdAtTicks;
+ private long? _createdAtTicks;
public bool IsRevoked { get; private set; }
public bool IsTemporary { get; private set; }
public int? MaxAge { get; private set; }
public int? MaxUses { get; private set; }
- public int Uses { get; private set; }
+ public int? Uses { get; private set; }
public RestUser Inviter { get; private set; }
- public DateTimeOffset CreatedAt => DateTimeUtils.FromTicks(_createdAtTicks);
+ public DateTimeOffset? CreatedAt => DateTimeUtils.FromTicks(_createdAtTicks);
internal RestInviteMetadata(BaseDiscordClient discord, IGuild guild, IChannel channel, string id)
: base(discord, guild, channel, id)
@@ -32,10 +32,10 @@ namespace Discord.Rest
Inviter = model.Inviter != null ? RestUser.Create(Discord, model.Inviter) : null;
IsRevoked = model.Revoked;
IsTemporary = model.Temporary;
- MaxAge = model.MaxAge != 0 ? model.MaxAge : (int?)null;
- MaxUses = model.MaxUses;
- Uses = model.Uses;
- _createdAtTicks = model.CreatedAt.UtcTicks;
+ MaxAge = model.MaxAge.IsSpecified ? model.MaxAge.Value : (int?)null;
+ MaxUses = model.MaxUses.IsSpecified ? model.MaxUses.Value : (int?)null;
+ Uses = model.Uses.IsSpecified ? model.Uses.Value : (int?)null;
+ _createdAtTicks = model.CreatedAt.IsSpecified ? model.CreatedAt.Value.UtcTicks : (long?)null;
}
IUser IInviteMetadata.Inviter => Inviter;