Added reference project
This commit is contained in:
22
ref/Entities/Channels/Channel.cs
Normal file
22
ref/Entities/Channels/Channel.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
17
ref/Entities/Channels/IChannel.cs
Normal file
17
ref/Entities/Channels/IChannel.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
7
ref/Entities/Channels/IPrivateChannel.cs
Normal file
7
ref/Entities/Channels/IPrivateChannel.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace Discord
|
||||
{
|
||||
public interface IPrivateChannel : IChannel
|
||||
{
|
||||
User Recipient { get; }
|
||||
}
|
||||
}
|
||||
30
ref/Entities/Channels/IPublicChannel.cs
Normal file
30
ref/Entities/Channels/IPublicChannel.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
18
ref/Entities/Channels/ITextChannel.cs
Normal file
18
ref/Entities/Channels/ITextChannel.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
7
ref/Entities/Channels/IVoiceChannel.cs
Normal file
7
ref/Entities/Channels/IVoiceChannel.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace Discord
|
||||
{
|
||||
public interface IVoiceChannel : IChannel
|
||||
{
|
||||
int Bitrate { get; set; }
|
||||
}
|
||||
}
|
||||
31
ref/Entities/Channels/PrivateChannel.cs
Normal file
31
ref/Entities/Channels/PrivateChannel.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
50
ref/Entities/Channels/TextChannel.cs
Normal file
50
ref/Entities/Channels/TextChannel.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
49
ref/Entities/Channels/VoiceChannel.cs
Normal file
49
ref/Entities/Channels/VoiceChannel.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user