| @@ -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]; | ||||
| } | } | ||||