using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Discord { public class Server : IModel { public class Emoji { public string Id { get; } public string Name { get; } public bool IsManaged { get; } public bool RequireColons { get; } public IEnumerable Roles { get; } } public ulong Id { get; } public User CurrentUser { get; } public string IconId { get; } public string SplashId { get; } public string IconUrl { get; } public string SplashUrl { get; } public int ChannelCount { get; } public int UserCount { get; } public int RoleCount { get; } public TextChannel DefaultChannel { get; } public Role EveryoneRole { get; } public IEnumerable Features { get; } public IEnumerable CustomEmojis { get; } public IEnumerable Channels { get; } public IEnumerable TextChannels { get; } public IEnumerable VoiceChannels { get; } public IEnumerable Users { get; } public IEnumerable Roles { get; } public string Name { get; set; } public Region Region { get; set; } public int AFKTimeout { get; set; } public DateTime JoinedAt { get; set; } public User Owner { get; set; } public VoiceChannel AFKChannel { get; set; } public IPublicChannel GetChannel(ulong id) => null; public IPublicChannel GetChannel(string mention) => null; public Role GetRole(ulong id) => null; public User GetUser(ulong id) => null; public User GetUser(string name, ushort discriminator) => null; public User GetUser(string mention) => null; public Task> DownloadBans() => null; public Task> DownloadInvites() => null; public Task Leave() => null; public Task Delete() => null; public Task Save() => null; public Task CreateChannel(string name, ChannelType type) => null; public Task CreateInvite(int? maxAge = 1800, int? maxUses = null, bool tempMembership = false, bool withXkcd = false) => null; public Task CreateRole(string name, ServerPermissions? permissions = null, Color color = null, bool isHoisted = false) => null; public Task Ban(User user, int pruneDays = 0) => null; public Task Unban(User user) => null; public Task Unban(ulong userId) => null; public Task ReorderChannels(IEnumerable channels) => null; public Task ReorderRoles(IEnumerable roles, Role after = null) => null; public Task PruneUsers(int days = 30, bool simulate = false) => null; } }