|
|
@@ -1,10 +1,11 @@ |
|
|
|
using Discord.Rest; |
|
|
|
using System; |
|
|
|
using Discord.Rest; |
|
|
|
using Model = Discord.API.GuildMember; |
|
|
|
using PresenceModel = Discord.API.Presence; |
|
|
|
|
|
|
|
namespace Discord.WebSocket |
|
|
|
{ |
|
|
|
internal class SocketGuildUser : GuildUser, ISocketUser |
|
|
|
internal class SocketGuildUser : GuildUser, ISocketUser, IVoiceState |
|
|
|
{ |
|
|
|
internal override bool IsAttached => true; |
|
|
|
|
|
|
@@ -16,11 +17,74 @@ namespace Discord.WebSocket |
|
|
|
public override Game Game => Presence.Game; |
|
|
|
public override UserStatus Status => Presence.Status; |
|
|
|
|
|
|
|
public VoiceState? VoiceState => Guild.GetVoiceState(Id); |
|
|
|
public bool IsSelfDeafened => VoiceState?.IsSelfDeafened ?? false; |
|
|
|
public bool IsSelfMuted => VoiceState?.IsSelfMuted ?? false; |
|
|
|
public bool IsSuppressed => VoiceState?.IsSuppressed ?? false; |
|
|
|
public SocketVoiceChannel VoiceChannel => VoiceState?.VoiceChannel; |
|
|
|
public VoiceState? VoiceState |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
return Guild.GetVoiceState(Id); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public bool IsSelfDeafened |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
return VoiceState?.IsSelfDeafened ?? false; |
|
|
|
} |
|
|
|
} |
|
|
|
public bool IsSelfMuted |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
return VoiceState?.IsSelfMuted ?? false; |
|
|
|
} |
|
|
|
} |
|
|
|
public bool IsSuppressed |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
return VoiceState?.IsSuppressed ?? false; |
|
|
|
} |
|
|
|
} |
|
|
|
public VoiceChannel VoiceChannel |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
return VoiceState?.VoiceChannel; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public bool IsDeafened |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
return VoiceState?.IsDeafened ?? false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public bool IsMuted |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
return VoiceState?.IsMuted ?? false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
IVoiceChannel IVoiceState.VoiceChannel |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
return VoiceState?.VoiceChannel; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public string VoiceSessionId |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
return VoiceState?.VoiceSessionId ?? ""; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public SocketGuildUser(SocketGuild guild, SocketGlobalUser user, Model model) |
|
|
|
: base(guild, user, model) |
|
|
|