Added IMentionable
This commit is contained in:
@@ -424,6 +424,9 @@
|
|||||||
<Compile Include="..\Discord.Net\Format.cs">
|
<Compile Include="..\Discord.Net\Format.cs">
|
||||||
<Link>Format.cs</Link>
|
<Link>Format.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="..\Discord.Net\IMentionable.cs">
|
||||||
|
<Link>IMentionable.cs</Link>
|
||||||
|
</Compile>
|
||||||
<Compile Include="..\Discord.Net\IService.cs">
|
<Compile Include="..\Discord.Net\IService.cs">
|
||||||
<Link>IService.cs</Link>
|
<Link>IService.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|||||||
7
src/Discord.Net/IMentionable.cs
Normal file
7
src/Discord.Net/IMentionable.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace Discord
|
||||||
|
{
|
||||||
|
public interface IMentionable
|
||||||
|
{
|
||||||
|
string Mention { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,7 +12,7 @@ using APIChannel = Discord.API.Client.Channel;
|
|||||||
|
|
||||||
namespace Discord
|
namespace Discord
|
||||||
{
|
{
|
||||||
public sealed class Channel
|
public sealed class Channel : IMentionable
|
||||||
{
|
{
|
||||||
private struct Member
|
private struct Member
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using APIRole = Discord.API.Client.Role;
|
|||||||
|
|
||||||
namespace Discord
|
namespace Discord
|
||||||
{
|
{
|
||||||
public sealed class Role
|
public sealed class Role : IMentionable
|
||||||
{
|
{
|
||||||
internal DiscordClient Client => Server.Client;
|
internal DiscordClient Client => Server.Client;
|
||||||
|
|
||||||
@@ -37,16 +37,7 @@ namespace Discord
|
|||||||
public IEnumerable<User> Members => IsEveryone ? Server.Users : Server.Users.Where(x => x.HasRole(this));
|
public IEnumerable<User> Members => IsEveryone ? Server.Users : Server.Users.Where(x => x.HasRole(this));
|
||||||
|
|
||||||
/// <summary> Gets the string used to mention this role. </summary>
|
/// <summary> Gets the string used to mention this role. </summary>
|
||||||
public string Mention
|
public string Mention => IsEveryone ? "@everyone" : "";
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (IsEveryone)
|
|
||||||
return "@everyone";
|
|
||||||
else
|
|
||||||
throw new InvalidOperationException("Roles may only be mentioned if IsEveryone is true");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
internal Role(ulong id, Server server)
|
internal Role(ulong id, Server server)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using APIMember = Discord.API.Client.Member;
|
|||||||
|
|
||||||
namespace Discord
|
namespace Discord
|
||||||
{
|
{
|
||||||
public sealed class User
|
public sealed class User : IMentionable
|
||||||
{
|
{
|
||||||
internal static string GetAvatarUrl(ulong userId, string avatarId)
|
internal static string GetAvatarUrl(ulong userId, string avatarId)
|
||||||
=> avatarId != null ? $"{DiscordConfig.ClientAPIUrl}users/{userId}/avatars/{avatarId}.jpg" : null;
|
=> avatarId != null ? $"{DiscordConfig.ClientAPIUrl}users/{userId}/avatars/{avatarId}.jpg" : null;
|
||||||
|
|||||||
Reference in New Issue
Block a user