Added reference project

This commit is contained in:
RogueException
2016-02-24 19:36:18 -04:00
parent 27d7e9915b
commit 36ea8b8c3a
68 changed files with 1515 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Discord
{
public abstract class Channel : IChannel
{
public ulong Id { get; }
public abstract DiscordClient Client { get; }
public abstract ChannelType Type { get; }
public bool IsText { get; }
public bool IsVoice { get; }
public bool IsPrivate { get; }
public bool IsPublic { get; }
public abstract User CurrentUser { get; }
public abstract IEnumerable<User> Users { get; }
public abstract Task Save();
}
}

View File

@@ -0,0 +1,17 @@
using System.Collections.Generic;
namespace Discord
{
public interface IChannel : IModel<ulong>
{
DiscordClient Client { get; }
ChannelType Type { get; }
bool IsText { get; }
bool IsVoice { get; }
bool IsPrivate { get; }
bool IsPublic { get; }
IEnumerable<User> Users { get; }
}
}

View File

@@ -0,0 +1,7 @@
namespace Discord
{
public interface IPrivateChannel : IChannel
{
User Recipient { get; }
}
}

View File

@@ -0,0 +1,30 @@
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Discord
{
public interface IPublicChannel : IChannel
{
Server Server { get; }
string Name { get; set; }
int Position { get; set; }
IEnumerable<PermissionOverwrite> PermissionOverwrites { get; }
PermissionOverwrite? GetPermissionsRule(User user);
PermissionOverwrite? GetPermissionsRule(Role role);
Task<IEnumerable<Invite>> DownloadInvites();
Task Delete();
Task<Invite> CreateInvite(int? maxAge = 1800, int? maxUses = null, bool tempMembership = false, bool withXkcd = false);
Task AddPermissionsRule(User user, ChannelPermissions allow, ChannelPermissions deny);
Task AddPermissionsRule(User user, TriStateChannelPermissions permissions);
Task AddPermissionsRule(Role role, ChannelPermissions allow, ChannelPermissions deny);
Task AddPermissionsRule(Role role, TriStateChannelPermissions permissions);
Task RemovePermissionsRule(User user);
Task RemovePermissionsRule(Role role);
}
}

View File

@@ -0,0 +1,18 @@
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
namespace Discord
{
public interface ITextChannel : IChannel
{
Message GetMessage(ulong id);
Task<IEnumerable<Message>> DownloadMessages(int limit = 100, ulong? relativeMessageId = null, Relative relativeDir = Relative.Before);
Task<Message> SendMessage(string text, bool isTTS = false);
Task<Message> SendFile(string filePath, string text = null, bool isTTS = false);
Task<Message> SendFile(Stream stream, string filename, string text = null, bool isTTS = false);
Task SendIsTyping();
}
}

View File

@@ -0,0 +1,7 @@
namespace Discord
{
public interface IVoiceChannel : IChannel
{
int Bitrate { get; set; }
}
}

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
namespace Discord
{
public class PrivateChannel : Channel, ITextChannel, IPrivateChannel
{
public User Recipient { get; }
public IEnumerable<Message> Messages { get; }
public override DiscordClient Client => null;
public override ChannelType Type => default(ChannelType);
public override User CurrentUser => null;
public override IEnumerable<User> Users => null;
public Message GetMessage(ulong id) => null;
public Task<IEnumerable<Message>> DownloadMessages(int limit) => null;
public Task<IEnumerable<Message>> DownloadMessages(int limit, ulong? relativeMessageId, Relative relativeDir) => null;
public Task<Message> SendMessage(string text, bool isTTS = false) => null;
public Task<Message> SendFile(string path, string text = null, bool isTTS = false) => null;
public Task<Message> SendFile(Stream stream, string filename, string text = null, bool isTTS = false) => null;
public Task SendIsTyping() => null;
public override Task Save() => null;
}
}

View File

@@ -0,0 +1,50 @@
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
namespace Discord
{
public class TextChannel : Channel, ITextChannel, IPublicChannel, IMentionable
{
public Server Server { get; }
public string Mention { get; }
public IEnumerable<PermissionOverwrite> PermissionOverwrites { get; }
public IEnumerable<Message> Messages { get; }
public string Topic { get; set; }
public bool IsTyping { get; set; }
public string Name { get; set; }
public int Position { get; set; }
public override DiscordClient Client => null;
public override ChannelType Type => default(ChannelType);
public override User CurrentUser => null;
public override IEnumerable<User> Users => null;
public Message GetMessage(ulong id) => null;
public PermissionOverwrite? GetPermissionsRule(User user) => null;
public PermissionOverwrite? GetPermissionsRule(Role role) => null;
public Task<IEnumerable<Message>> DownloadMessages(int limit) => null;
public Task<IEnumerable<Message>> DownloadMessages(int limit, ulong? relativeMessageId, Relative relativeDir) => null;
public Task<IEnumerable<Invite>> DownloadInvites() => null;
public Task<Message> SendMessage(string text, bool isTTS = false) => null;
public Task<Message> SendFile(string path, string text = null, bool isTTS = false) => null;
public Task<Message> SendFile(Stream stream, string filename, string text = null, bool isTTS = false) => null;
public Task SendIsTyping() => null;
public Task<Invite> CreateInvite(int? maxAge = 1800, int? maxUses = default(int?), bool tempMembership = false, bool withXkcd = false) => null;
public Task AddPermissionsRule(User user, ChannelPermissions allow, ChannelPermissions deny) => null;
public Task AddPermissionsRule(User user, TriStateChannelPermissions permissions) => null;
public Task AddPermissionsRule(Role role, ChannelPermissions allow, ChannelPermissions deny) => null;
public Task AddPermissionsRule(Role role, TriStateChannelPermissions permissions) => null;
public Task RemovePermissionsRule(User user) => null;
public Task RemovePermissionsRule(Role role) => null;
public Task Delete() => null;
public override Task Save() => null;
}
}

View File

@@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
namespace Discord
{
public class VoiceChannel : IPublicChannel, IVoiceChannel
{
public ulong Id { get; }
public DiscordClient Client { get; }
public Server Server { get; }
public ChannelType Type { get; }
public bool IsText { get; }
public bool IsVoice { get; }
public bool IsPrivate { get; }
public bool IsPublic { get; }
public IEnumerable<PermissionOverwrite> PermissionOverwrites { get; }
public IEnumerable<User> Users { get; }
public string Name { get; set; }
public int Position { get; set; }
public int Bitrate { get; set; }
public Message GetMessage(ulong id) => null;
public PermissionOverwrite? GetPermissionsRule(User user) => null;
public PermissionOverwrite? GetPermissionsRule(Role role) => null;
public Task<IEnumerable<Message>> DownloadMessages(int limit) => null;
public Task<IEnumerable<Message>> DownloadMessages(int limit, ulong? relativeMessageId, Relative relativeDir) => null;
public Task<IEnumerable<Invite>> DownloadInvites() => null;
public Task<Message> SendMessage(string text, bool isTTS = false) => null;
public Task<Message> SendFile(string path, string text = null, bool isTTS = false) => null;
public Task<Message> SendFile(Stream stream, string filename, string text = null, bool isTTS = false) => null;
public Task<Invite> CreateInvite(int? maxAge = 1800, int? maxUses = default(int?), bool tempMembership = false, bool withXkcd = false) => null;
public Task AddPermissionsRule(User user, ChannelPermissions allow, ChannelPermissions deny) => null;
public Task AddPermissionsRule(User user, TriStateChannelPermissions permissions) => null;
public Task AddPermissionsRule(Role role, ChannelPermissions allow, ChannelPermissions deny) => null;
public Task AddPermissionsRule(Role role, TriStateChannelPermissions permissions) => null;
public Task RemovePermissionsRule(User user) => null;
public Task RemovePermissionsRule(Role role) => null;
public Task Delete() => null;
public Task Save() => null;
}
}