diff --git a/src/Discord.Net.Rest/Entities/Interactions/MessageComponents/RestMessageComponentData.cs b/src/Discord.Net.Rest/Entities/Interactions/MessageComponents/RestMessageComponentData.cs
index 2b31990f3..ce25084b4 100644
--- a/src/Discord.Net.Rest/Entities/Interactions/MessageComponents/RestMessageComponentData.cs
+++ b/src/Discord.Net.Rest/Entities/Interactions/MessageComponents/RestMessageComponentData.cs
@@ -25,16 +25,16 @@ namespace Discord.Rest
///
public IReadOnlyCollection Values { get; }
- /// />
+ ///
public IReadOnlyCollection Channels { get; }
- /// />
+ ///
public IReadOnlyCollection Users { get; }
- /// />
+ ///
public IReadOnlyCollection Roles { get; }
- /// />
+ ///
public IReadOnlyCollection Members { get; }
#region IComponentInteractionData
diff --git a/src/Discord.Net.WebSocket/Entities/Interaction/MessageComponents/SocketMessageComponentData.cs b/src/Discord.Net.WebSocket/Entities/Interaction/MessageComponents/SocketMessageComponentData.cs
index d54430095..535647fa7 100644
--- a/src/Discord.Net.WebSocket/Entities/Interaction/MessageComponents/SocketMessageComponentData.cs
+++ b/src/Discord.Net.WebSocket/Entities/Interaction/MessageComponents/SocketMessageComponentData.cs
@@ -22,16 +22,17 @@ namespace Discord.WebSocket
///
public IReadOnlyCollection Values { get; }
- /// />
+ ///
public IReadOnlyCollection Channels { get; }
- /// />
- public IReadOnlyCollection Users { get; }
+ ///
+ /// Returns is user is cached otherwise.
+ public IReadOnlyCollection Users { get; }
- /// />
+ ///
public IReadOnlyCollection Roles { get; }
- /// />
+ ///
public IReadOnlyCollection Members { get; }
#region IComponentInteractionData
@@ -62,7 +63,7 @@ namespace Discord.WebSocket
if (model.Resolved.IsSpecified)
{
Users = model.Resolved.Value.Users.IsSpecified
- ? model.Resolved.Value.Users.Value.Select(user => RestUser.Create(discord, user.Value)).ToImmutableArray()
+ ? model.Resolved.Value.Users.Value.Select(user => (IUser)state.GetUser(user.Value.Id) ?? RestUser.Create(discord, user.Value)).ToImmutableArray()
: null;
Members = model.Resolved.Value.Members.IsSpecified
@@ -105,7 +106,7 @@ namespace Discord.WebSocket
if (select.Resolved.IsSpecified)
{
Users = select.Resolved.Value.Users.IsSpecified
- ? select.Resolved.Value.Users.Value.Select(user => RestUser.Create(discord, user.Value)).ToImmutableArray()
+ ? select.Resolved.Value.Users.Value.Select(user => (IUser)state.GetUser(user.Value.Id) ?? RestUser.Create(discord, user.Value)).ToImmutableArray()
: null;
Members = select.Resolved.Value.Members.IsSpecified