@@ -146,8 +146,8 @@ | |||||
<Compile Include="..\Discord.Net\Models\Invite.cs"> | <Compile Include="..\Discord.Net\Models\Invite.cs"> | ||||
<Link>Models\Invite.cs</Link> | <Link>Models\Invite.cs</Link> | ||||
</Compile> | </Compile> | ||||
<Compile Include="..\Discord.Net\Models\Membership.cs"> | |||||
<Link>Models\Membership.cs</Link> | |||||
<Compile Include="..\Discord.Net\Models\Member.cs"> | |||||
<Link>Models\Member.cs</Link> | |||||
</Compile> | </Compile> | ||||
<Compile Include="..\Discord.Net\Models\Message.cs"> | <Compile Include="..\Discord.Net\Models\Message.cs"> | ||||
<Link>Models\Message.cs</Link> | <Link>Models\Message.cs</Link> | ||||
@@ -326,16 +326,16 @@ namespace Discord | |||||
} | } | ||||
/// <summary> Returns the user with the specified id, along with their server-specific data, or null if none was found. </summary> | /// <summary> Returns the user with the specified id, along with their server-specific data, or null if none was found. </summary> | ||||
public Membership GetMember(string serverId, User user) | |||||
public Member GetMember(string serverId, User user) | |||||
=> GetMember(_servers[serverId], user?.Id); | => GetMember(_servers[serverId], user?.Id); | ||||
/// <summary> Returns the user with the specified id, along with their server-specific data, or null if none was found. </summary> | /// <summary> Returns the user with the specified id, along with their server-specific data, or null if none was found. </summary> | ||||
public Membership GetMember(string serverId, string userId) | |||||
public Member GetMember(string serverId, string userId) | |||||
=> GetMember(_servers[serverId], userId); | => GetMember(_servers[serverId], userId); | ||||
/// <summary> Returns the user with the specified id, along with their server-specific data, or null if none was found. </summary> | /// <summary> Returns the user with the specified id, along with their server-specific data, or null if none was found. </summary> | ||||
public Membership GetMember(Server server, User user) | |||||
public Member GetMember(Server server, User user) | |||||
=> GetMember(server, user?.Id); | => GetMember(server, user?.Id); | ||||
/// <summary> Returns the user with the specified id, along with their server-specific data, or null if none was found. </summary> | /// <summary> Returns the user with the specified id, along with their server-specific data, or null if none was found. </summary> | ||||
public Membership GetMember(Server server, string userId) | |||||
public Member GetMember(Server server, string userId) | |||||
{ | { | ||||
if (server == null || userId == null) | if (server == null || userId == null) | ||||
return null; | return null; | ||||
@@ -344,14 +344,14 @@ namespace Discord | |||||
/// <summary> Returns all users in with the specified server and name, along with their server-specific data. </summary> | /// <summary> Returns all users in with the specified server and name, along with their server-specific data. </summary> | ||||
/// <remarks> Name formats supported: Name and @Name. Search is case-insensitive.</remarks> | /// <remarks> Name formats supported: Name and @Name. Search is case-insensitive.</remarks> | ||||
public IEnumerable<Membership> FindMembers(string serverId, string name) | |||||
public IEnumerable<Member> FindMembers(string serverId, string name) | |||||
=> FindMembers(GetServer(serverId), name); | => FindMembers(GetServer(serverId), name); | ||||
/// <summary> Returns all users in with the specified server and name, along with their server-specific data. </summary> | /// <summary> Returns all users in with the specified server and name, along with their server-specific data. </summary> | ||||
/// <remarks> Name formats supported: Name and @Name. Search is case-insensitive.</remarks> | /// <remarks> Name formats supported: Name and @Name. Search is case-insensitive.</remarks> | ||||
public IEnumerable<Membership> FindMembers(Server server, string name) | |||||
public IEnumerable<Member> FindMembers(Server server, string name) | |||||
{ | { | ||||
if (server == null || name == null) | if (server == null || name == null) | ||||
return new Membership[0]; | |||||
return new Member[0]; | |||||
if (name.StartsWith("@")) | if (name.StartsWith("@")) | ||||
{ | { | ||||
@@ -58,8 +58,8 @@ namespace Discord | |||||
} | } | ||||
public sealed class MemberEventArgs : EventArgs | public sealed class MemberEventArgs : EventArgs | ||||
{ | { | ||||
public readonly Membership Member; | |||||
internal MemberEventArgs(Membership member) { Member = member; } | |||||
public readonly Member Member; | |||||
internal MemberEventArgs(Member member) { Member = member; } | |||||
} | } | ||||
public sealed class UserTypingEventArgs : EventArgs | public sealed class UserTypingEventArgs : EventArgs | ||||
{ | { | ||||
@@ -261,7 +261,7 @@ namespace Discord | |||||
//Member | //Member | ||||
public event EventHandler<MemberEventArgs> MemberAdded; | public event EventHandler<MemberEventArgs> MemberAdded; | ||||
private void RaiseMemberAdded(Membership member) | |||||
private void RaiseMemberAdded(Member member) | |||||
{ | { | ||||
if (_config.EnableDebug) | if (_config.EnableDebug) | ||||
RaiseOnDebugMessage(DebugMessageType.Event, $"MemberAdded {member.User?.Name} ({member.UserId}) in {member.Server?.Name} ({member.ServerId})"); | RaiseOnDebugMessage(DebugMessageType.Event, $"MemberAdded {member.User?.Name} ({member.UserId}) in {member.Server?.Name} ({member.ServerId})"); | ||||
@@ -269,7 +269,7 @@ namespace Discord | |||||
MemberAdded(this, new MemberEventArgs(member)); | MemberAdded(this, new MemberEventArgs(member)); | ||||
} | } | ||||
public event EventHandler<MemberEventArgs> MemberRemoved; | public event EventHandler<MemberEventArgs> MemberRemoved; | ||||
private void RaiseMemberRemoved(Membership member) | |||||
private void RaiseMemberRemoved(Member member) | |||||
{ | { | ||||
if (_config.EnableDebug) | if (_config.EnableDebug) | ||||
RaiseOnDebugMessage(DebugMessageType.Event, $"MemberRemoved {member.User?.Name} ({member.UserId}) in {member.Server?.Name} ({member.ServerId})"); | RaiseOnDebugMessage(DebugMessageType.Event, $"MemberRemoved {member.User?.Name} ({member.UserId}) in {member.Server?.Name} ({member.ServerId})"); | ||||
@@ -277,7 +277,7 @@ namespace Discord | |||||
MemberRemoved(this, new MemberEventArgs(member)); | MemberRemoved(this, new MemberEventArgs(member)); | ||||
} | } | ||||
public event EventHandler<MemberEventArgs> MemberUpdated; | public event EventHandler<MemberEventArgs> MemberUpdated; | ||||
private void RaiseMemberUpdated(Membership member) | |||||
private void RaiseMemberUpdated(Member member) | |||||
{ | { | ||||
if (_config.EnableDebug) | if (_config.EnableDebug) | ||||
RaiseOnDebugMessage(DebugMessageType.Event, $"MemberUpdated {member.User?.Name} ({member.UserId}) in {member.Server?.Name} ({member.ServerId})"); | RaiseOnDebugMessage(DebugMessageType.Event, $"MemberUpdated {member.User?.Name} ({member.UserId}) in {member.Server?.Name} ({member.ServerId})"); | ||||
@@ -287,7 +287,7 @@ namespace Discord | |||||
//Status | //Status | ||||
public event EventHandler<MemberEventArgs> PresenceUpdated; | public event EventHandler<MemberEventArgs> PresenceUpdated; | ||||
private void RaisePresenceUpdated(Membership member) | |||||
private void RaisePresenceUpdated(Member member) | |||||
{ | { | ||||
if (_config.EnableDebug) | if (_config.EnableDebug) | ||||
RaiseOnDebugMessage(DebugMessageType.Event, $"PresenceUpdated {member.User?.Name} ({member.UserId}) in {member.Server?.Name} ({member.ServerId})"); | RaiseOnDebugMessage(DebugMessageType.Event, $"PresenceUpdated {member.User?.Name} ({member.UserId}) in {member.Server?.Name} ({member.ServerId})"); | ||||
@@ -295,7 +295,7 @@ namespace Discord | |||||
PresenceUpdated(this, new MemberEventArgs(member)); | PresenceUpdated(this, new MemberEventArgs(member)); | ||||
} | } | ||||
public event EventHandler<MemberEventArgs> VoiceStateUpdated; | public event EventHandler<MemberEventArgs> VoiceStateUpdated; | ||||
private void RaiseVoiceStateUpdated(Membership member) | |||||
private void RaiseVoiceStateUpdated(Member member) | |||||
{ | { | ||||
if (_config.EnableDebug) | if (_config.EnableDebug) | ||||
RaiseOnDebugMessage(DebugMessageType.Event, $"VoiceStateUpdated {member.User?.Name} ({member.UserId}) in {member.Server?.Name} ({member.ServerId})"); | RaiseOnDebugMessage(DebugMessageType.Event, $"VoiceStateUpdated {member.User?.Name} ({member.UserId}) in {member.Server?.Name} ({member.ServerId})"); | ||||
@@ -5,7 +5,7 @@ using System.Linq; | |||||
namespace Discord | namespace Discord | ||||
{ | { | ||||
public class Membership | |||||
public class Member | |||||
{ | { | ||||
private readonly DiscordClient _client; | private readonly DiscordClient _client; | ||||
@@ -36,7 +36,7 @@ namespace Discord | |||||
public string[] RoleIds { get; internal set; } | public string[] RoleIds { get; internal set; } | ||||
public IEnumerable<Role> Roles => RoleIds.Select(x => _client.GetRole(x)); | public IEnumerable<Role> Roles => RoleIds.Select(x => _client.GetRole(x)); | ||||
public Membership(string serverId, string userId, DiscordClient client) | |||||
public Member(string serverId, string userId, DiscordClient client) | |||||
{ | { | ||||
ServerId = serverId; | ServerId = serverId; | ||||
UserId = userId; | UserId = userId; |
@@ -109,7 +109,7 @@ namespace Discord | |||||
[JsonIgnore] | [JsonIgnore] | ||||
public User User => _client.GetUser(UserId); | public User User => _client.GetUser(UserId); | ||||
[JsonIgnore] | [JsonIgnore] | ||||
public Membership Member => _client.GetMember(ServerId, UserId); | |||||
public Member Member => _client.GetMember(ServerId, UserId); | |||||
/// <summary> Returns true if the current user created this message. </summary> | /// <summary> Returns true if the current user created this message. </summary> | ||||
public bool IsAuthor => _client.User?.Id == UserId; | public bool IsAuthor => _client.User?.Id == UserId; | ||||
@@ -41,9 +41,9 @@ namespace Discord | |||||
/// <summary> Returns the default channel for this server. </summary> | /// <summary> Returns the default channel for this server. </summary> | ||||
public Channel DefaultChannel =>_client.GetChannel(DefaultChannelId); | public Channel DefaultChannel =>_client.GetChannel(DefaultChannelId); | ||||
internal AsyncCache<Membership, API.Models.MemberInfo> _members; | |||||
internal AsyncCache<Member, API.Models.MemberInfo> _members; | |||||
/// <summary> Returns a collection of all channels within this server. </summary> | /// <summary> Returns a collection of all channels within this server. </summary> | ||||
public IEnumerable<Membership> Members => _members; | |||||
public IEnumerable<Member> Members => _members; | |||||
internal ConcurrentDictionary<string, bool> _bans; | internal ConcurrentDictionary<string, bool> _bans; | ||||
/// <summary> Returns a collection of all users banned on this server. </summary> | /// <summary> Returns a collection of all users banned on this server. </summary> | ||||
@@ -66,12 +66,12 @@ namespace Discord | |||||
Id = id; | Id = id; | ||||
_client = client; | _client = client; | ||||
_bans = new ConcurrentDictionary<string, bool>(); | _bans = new ConcurrentDictionary<string, bool>(); | ||||
_members = new AsyncCache<Membership, API.Models.MemberInfo>( | |||||
_members = new AsyncCache<Member, API.Models.MemberInfo>( | |||||
(key, parentKey) => | (key, parentKey) => | ||||
{ | { | ||||
if (_client.IsDebugMode) | if (_client.IsDebugMode) | ||||
_client.RaiseOnDebugMessage(DebugMessageType.Cache, $"Created user {key} in server {parentKey}."); | _client.RaiseOnDebugMessage(DebugMessageType.Cache, $"Created user {key} in server {parentKey}."); | ||||
return new Membership(parentKey, key, _client); | |||||
return new Member(parentKey, key, _client); | |||||
}, | }, | ||||
(member, model) => | (member, model) => | ||||
{ | { | ||||
@@ -119,17 +119,17 @@ namespace Discord | |||||
); | ); | ||||
} | } | ||||
internal Membership UpdateMember(API.Models.MemberInfo membership) | |||||
internal Member UpdateMember(API.Models.MemberInfo membership) | |||||
{ | { | ||||
return _members.Update(membership.User?.Id ?? membership.UserId, Id, membership); | return _members.Update(membership.User?.Id ?? membership.UserId, Id, membership); | ||||
} | } | ||||
internal Membership RemoveMember(string userId) | |||||
internal Member RemoveMember(string userId) | |||||
{ | { | ||||
return _members.Remove(userId); | return _members.Remove(userId); | ||||
} | } | ||||
public Membership GetMembership(User user) | |||||
public Member GetMembership(User user) | |||||
=> GetMember(user.Id); | => GetMember(user.Id); | ||||
public Membership GetMember(string userId) | |||||
public Member GetMember(string userId) | |||||
{ | { | ||||
return _members[userId]; | return _members[userId]; | ||||
} | } | ||||