@@ -16,6 +16,8 @@ namespace Discord.Rest
public string Nickname { get; private set; }
public string Nickname { get; private set; }
internal IGuild Guild { get; private set; }
internal IGuild Guild { get; private set; }
public bool IsDeafened { get; private set; }
public bool IsMuted { get; private set; }
public ulong GuildId => Guild.Id;
public ulong GuildId => Guild.Id;
public GuildPermissions GuildPermissions
public GuildPermissions GuildPermissions
@@ -47,6 +49,8 @@ namespace Discord.Rest
_joinedAtTicks = model.JoinedAt.UtcTicks;
_joinedAtTicks = model.JoinedAt.UtcTicks;
if (model.Nick.IsSpecified)
if (model.Nick.IsSpecified)
Nickname = model.Nick.Value;
Nickname = model.Nick.Value;
IsDeafened = model.Deaf;
IsMuted = model.Mute;
UpdateRoles(model.Roles);
UpdateRoles(model.Roles);
}
}
private void UpdateRoles(ulong[] roleIds)
private void UpdateRoles(ulong[] roleIds)
@@ -63,8 +67,16 @@ namespace Discord.Rest
var model = await Discord.ApiClient.GetGuildMemberAsync(GuildId, Id, options);
var model = await Discord.ApiClient.GetGuildMemberAsync(GuildId, Id, options);
Update(model);
Update(model);
}
}
public Task ModifyAsync(Action<ModifyGuildMemberParams> func, RequestOptions options = null)
=> UserHelper.ModifyAsync(this, Discord, func, options);
public async Task ModifyAsync(Action<ModifyGuildMemberParams> func, RequestOptions options = null)
{
var args = await UserHelper.ModifyAsync(this, Discord, func, options);
if (args.Deaf.IsSpecified)
IsDeafened = args.Deaf.Value;
if (args.Mute.IsSpecified)
IsMuted = args.Mute.Value;
if (args.RoleIds.IsSpecified)
UpdateRoles(args.RoleIds.Value);
}
public Task KickAsync(RequestOptions options = null)
public Task KickAsync(RequestOptions options = null)
=> UserHelper.KickAsync(this, Discord, options);
=> UserHelper.KickAsync(this, Discord, options);
@@ -75,8 +87,6 @@ namespace Discord.Rest
}
}
//IVoiceState
//IVoiceState
bool IVoiceState.IsDeafened => false;
bool IVoiceState.IsMuted => false;
bool IVoiceState.IsSelfDeafened => false;
bool IVoiceState.IsSelfDeafened => false;
bool IVoiceState.IsSelfMuted => false;
bool IVoiceState.IsSelfMuted => false;
bool IVoiceState.IsSuppressed => false;
bool IVoiceState.IsSuppressed => false;