@@ -41,11 +41,11 @@ namespace Discord | |||||
Permissions = new ChannelPermissionOverrides(allow, deny); | Permissions = new ChannelPermissionOverrides(allow, deny); | ||||
} | } | ||||
} | } | ||||
private readonly ConcurrentDictionary<ulong, Member> _users; | private readonly ConcurrentDictionary<ulong, Member> _users; | ||||
private readonly ConcurrentDictionary<ulong, Message> _messages; | private readonly ConcurrentDictionary<ulong, Message> _messages; | ||||
private Dictionary<ulong, PermissionOverwrite> _permissionOverwrites; | private Dictionary<ulong, PermissionOverwrite> _permissionOverwrites; | ||||
public DiscordClient Client { get; } | public DiscordClient Client { get; } | ||||
/// <summary> Gets the unique identifier for this channel. </summary> | /// <summary> Gets the unique identifier for this channel. </summary> | ||||
@@ -64,6 +64,8 @@ namespace Discord | |||||
/// <summary> Gets the type of this channel). </summary> | /// <summary> Gets the type of this channel). </summary> | ||||
public ChannelType Type { get; private set; } | public ChannelType Type { get; private set; } | ||||
/// <summary> Gets the path to this object. </summary> | |||||
internal string Path => $"{Server?.Name ?? "[Private]"}/{Name}"; | |||||
/// <summary> Gets true if this is a private chat with another user. </summary> | /// <summary> Gets true if this is a private chat with another user. </summary> | ||||
public bool IsPrivate => Recipient != null; | public bool IsPrivate => Recipient != null; | ||||
/// <summary> Gets the string used to mention this channel. </summary> | /// <summary> Gets the string used to mention this channel. </summary> | ||||
@@ -345,7 +347,7 @@ namespace Discord | |||||
public async Task<Message> SendFile(string filePath) | public async Task<Message> SendFile(string filePath) | ||||
{ | { | ||||
using (var stream = File.OpenRead(filePath)) | using (var stream = File.OpenRead(filePath)) | ||||
return await SendFile(Path.GetFileName(filePath), stream).ConfigureAwait(false); | |||||
return await SendFile(System.IO.Path.GetFileName(filePath), stream).ConfigureAwait(false); | |||||
} | } | ||||
public async Task<Message> SendFile(string filename, Stream stream) | public async Task<Message> SendFile(string filename, Stream stream) | ||||
{ | { | ||||
@@ -85,8 +85,10 @@ namespace Discord | |||||
/// <summary> Gets when this invite was created. </summary> | /// <summary> Gets when this invite was created. </summary> | ||||
public DateTime CreatedAt { get; private set; } | public DateTime CreatedAt { get; private set; } | ||||
/// <summary> Returns a URL for this invite using XkcdCode if available or Id if not. </summary> | |||||
public string Url => $"{DiscordConfig.InviteUrl}/{Code}"; | |||||
/// <summary> Gets the path to this object. </summary> | |||||
internal string Path => $"{Server?.Name ?? "[Private]"}/{Code}"; | |||||
/// <summary> Returns a URL for this invite using XkcdCode if available or Id if not. </summary> | |||||
public string Url => $"{DiscordConfig.InviteUrl}/{Code}"; | |||||
internal Invite(DiscordClient client, string code, string xkcdPass) | internal Invite(DiscordClient client, string code, string xkcdPass) | ||||
{ | { | ||||
@@ -201,6 +201,8 @@ namespace Discord | |||||
internal int Nonce { get; set; } | internal int Nonce { get; set; } | ||||
/// <summary> Gets the path to this object. </summary> | |||||
internal string Path => $"{Server?.Name ?? "[Private]"}/{Id}"; | |||||
/// <summary> Returns the server containing the channel this message was sent to. </summary> | /// <summary> Returns the server containing the channel this message was sent to. </summary> | ||||
public Server Server => Channel.Server; | public Server Server => Channel.Server; | ||||
/// <summary> Returns if this message was sent from the logged-in accounts. </summary> | /// <summary> Returns if this message was sent from the logged-in accounts. </summary> | ||||
@@ -28,7 +28,7 @@ namespace Discord | |||||
public UserStatus Status => Client.PrivateUser.Status; | public UserStatus Status => Client.PrivateUser.Status; | ||||
/// <summary> Returns the string used to mention this user. </summary> | /// <summary> Returns the string used to mention this user. </summary> | ||||
public string Mention => $"<@{Id}>"; | public string Mention => $"<@{Id}>"; | ||||
/// <summary> Gets the email for this user. </summary> | /// <summary> Gets the email for this user. </summary> | ||||
public string Email { get; private set; } | public string Email { get; private set; } | ||||
/// <summary> Gets if the email for this user has been verified. </summary> | /// <summary> Gets if the email for this user has been verified. </summary> | ||||
@@ -33,6 +33,8 @@ namespace Discord | |||||
/// <summary> Gets the color of this role. </summary> | /// <summary> Gets the color of this role. </summary> | ||||
public Color Color { get; private set; } | public Color Color { get; private set; } | ||||
/// <summary> Gets the path to this object. </summary> | |||||
internal string Path => $"{Server?.Name ?? "[Private]"}/{Name}"; | |||||
/// <summary> Gets true if this is the role representing all users in a server. </summary> | /// <summary> Gets true if this is the role representing all users in a server. </summary> | ||||
public bool IsEveryone => Id == Server.Id; | public bool IsEveryone => Id == Server.Id; | ||||
/// <summary> Gets a list of all members in this role. </summary> | /// <summary> Gets a list of all members in this role. </summary> | ||||
@@ -79,6 +79,8 @@ namespace Discord | |||||
/// <summary> Gets all custom emojis on this server. </summary> | /// <summary> Gets all custom emojis on this server. </summary> | ||||
public IEnumerable<Emoji> CustomEmojis { get; private set; } | public IEnumerable<Emoji> CustomEmojis { get; private set; } | ||||
/// <summary> Gets the path to this object. </summary> | |||||
internal string Path => Name; | |||||
/// <summary> Gets the user that created this server. </summary> | /// <summary> Gets the user that created this server. </summary> | ||||
public User Owner => GetUser(_ownerId); | public User Owner => GetUser(_ownerId); | ||||
/// <summary> Returns true if the current user owns this server. </summary> | /// <summary> Returns true if the current user owns this server. </summary> | ||||
@@ -73,6 +73,8 @@ namespace Discord | |||||
// /// <summary> Gets this user's voice token. </summary> | // /// <summary> Gets this user's voice token. </summary> | ||||
// public string Token { get; private set; } | // public string Token { get; private set; } | ||||
/// <summary> Gets the path to this object. </summary> | |||||
internal string Path => $"{Server?.Name ?? "[Private]"}/{Name}"; | |||||
/// <summary> Gets the current private channel for this user if one exists. </summary> | /// <summary> Gets the current private channel for this user if one exists. </summary> | ||||
public Channel PrivateChannel => Client.GetPrivateChannel(Id); | public Channel PrivateChannel => Client.GetPrivateChannel(Id); | ||||
/// <summary> Returns the string used to mention this user. </summary> | /// <summary> Returns the string used to mention this user. </summary> | ||||