@@ -10,16 +10,14 @@ namespace Discord.WebSocket
/// <summary>
/// <summary>
/// Represents a thread user received over the gateway.
/// Represents a thread user received over the gateway.
/// </summary>
/// </summary>
public class SocketThreadUser : SocketUser, IGuildUser
public class SocketThreadUser : SocketUser, IThreadUser, I GuildUser
{
{
/// <summary>
/// <summary>
/// Gets the <see cref="SocketThreadChannel"/> this user is in.
/// Gets the <see cref="SocketThreadChannel"/> this user is in.
/// </summary>
/// </summary>
public SocketThreadChannel Thread { get; private set; }
public SocketThreadChannel Thread { get; private set; }
/// <summary>
/// Gets the timestamp for when this user joined this thread.
/// </summary>
/// <inheritdoc/>
public DateTimeOffset ThreadJoinedAt { get; private set; }
public DateTimeOffset ThreadJoinedAt { get; private set; }
/// <summary>
/// <summary>
@@ -180,8 +178,12 @@ namespace Discord.WebSocket
/// <inheritdoc/>
/// <inheritdoc/>
public Task RemoveTimeOutAsync(RequestOptions options = null) => GuildUser.RemoveTimeOutAsync(options);
public Task RemoveTimeOutAsync(RequestOptions options = null) => GuildUser.RemoveTimeOutAsync(options);
/// <inheritdoc/>
/// <inheritdoc/>
GuildPermissions IGuildUser.GuildPermissions => GuildUser.GuildPermissions;
IThreadChannel IThreadUser.Thread => Thread;
/// <inheritdoc/>
IGuild IThreadUser.Guild => Guild;
/// <inheritdoc/>
/// <inheritdoc/>
IGuild IGuildUser.Guild => Guild;
IGuild IGuildUser.Guild => Guild;
@@ -189,6 +191,9 @@ namespace Discord.WebSocket
/// <inheritdoc/>
/// <inheritdoc/>
ulong IGuildUser.GuildId => Guild.Id;
ulong IGuildUser.GuildId => Guild.Id;
/// <inheritdoc/>
GuildPermissions IGuildUser.GuildPermissions => GuildUser.GuildPermissions;
/// <inheritdoc/>
/// <inheritdoc/>
IReadOnlyCollection<ulong> IGuildUser.RoleIds => GuildUser.Roles.Select(x => x.Id).ToImmutableArray();
IReadOnlyCollection<ulong> IGuildUser.RoleIds => GuildUser.Roles.Select(x => x.Id).ToImmutableArray();