using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Discord { public class ServerUser : IUser { /// public EntityState State { get; } /// public ulong Id { get; } /// Returns the private channel for this user. public Server Server { get; } /// bool IUser.IsPrivate => false; /// public string Name { get; } /// public ushort Discriminator { get; } /// public bool IsBot { get; } /// public string AvatarId { get; } /// public string CurrentGame { get; } /// public UserStatus Status { get; } /// public DateTime JoinedAt { get; } /// public IReadOnlyList Roles { get; } /// Returns true if this user has marked themselves as muted. public bool IsSelfMuted { get; } /// Returns true if this user has marked themselves as deafened. public bool IsSelfDeafened { get; } /// Returns true if the server is blocking audio from this user. public bool IsServerMuted { get; } /// Returns true if the server is blocking audio to this user. public bool IsServerDeafened { get; } /// Returns true if the server is temporarily blocking audio to/from this user. public bool IsServerSuppressed { get; } /// Gets this user's current voice channel. public VoiceChannel VoiceChannel { get; } /// public DiscordClient Discord { get; } /// public string AvatarUrl { get; } /// public string Mention { get; } public ServerPermissions ServerPermissions { get; } public ChannelPermissions GetPermissions(IPublicChannel channel) => default(ChannelPermissions); /// public Task GetPrivateChannel() => null; public Task> GetChannels() => null; public bool HasRole(Role role) => false; public Task AddRoles(params Role[] roles) => null; public Task RemoveRoles(params Role[] roles) => null; public Task Update() => null; public Task Kick() => null; public Task Ban(int pruneDays = 0) => null; public Task Unban() => null; } }