Browse Source

Rename new method for consistency

pull/1767/head
Daniel Baynton 4 years ago
parent
commit
de4dbe923b
2 changed files with 12 additions and 13 deletions
  1. +2
    -2
      src/Discord.Net.WebSocket/ClientState.cs
  2. +10
    -11
      src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs

+ 2
- 2
src/Discord.Net.WebSocket/ClientState.cs View File

@@ -112,7 +112,7 @@ namespace Discord.WebSocket
if (_guilds.TryRemove(id, out SocketGuild guild)) if (_guilds.TryRemove(id, out SocketGuild guild))
{ {
guild.PurgeChannelCache(this); guild.PurgeChannelCache(this);
guild.PurgeGuildUserCache();
guild.PurgeUserCache();
return guild; return guild;
} }
return null; return null;
@@ -137,7 +137,7 @@ namespace Discord.WebSocket
internal void PurgeUsers() internal void PurgeUsers()
{ {
foreach (var guild in _guilds.Values) foreach (var guild in _guilds.Values)
guild.PurgeGuildUserCache();
guild.PurgeUserCache();
} }
} }
} }

+ 10
- 11
src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs View File

@@ -821,15 +821,6 @@ namespace Discord.WebSocket
/// <inheritdoc /> /// <inheritdoc />
public Task<int> PruneUsersAsync(int days = 30, bool simulate = false, RequestOptions options = null, IEnumerable<ulong> includeRoleIds = null) public Task<int> PruneUsersAsync(int days = 30, bool simulate = false, RequestOptions options = null, IEnumerable<ulong> includeRoleIds = null)
=> GuildHelper.PruneUsersAsync(this, Discord, days, simulate, options, includeRoleIds); => GuildHelper.PruneUsersAsync(this, Discord, days, simulate, options, includeRoleIds);
/// <summary>
/// Clears this guild's user cache.
/// </summary>
public void ClearUserCache() => PurgeGuildUserCache();
/// <summary>
/// Clears this guild's user cache.
/// </summary>
/// <param name="predicate">The predicate used to select which users to clear.</param>
public void ClearUserCache(Func<SocketGuildUser, bool> predicate) => PurgeGuildUserCache(predicate);
internal SocketGuildUser AddOrUpdateUser(UserModel model) internal SocketGuildUser AddOrUpdateUser(UserModel model)
{ {
if (_members.TryGetValue(model.Id, out SocketGuildUser member)) if (_members.TryGetValue(model.Id, out SocketGuildUser member))
@@ -885,8 +876,16 @@ namespace Discord.WebSocket
} }
return null; return null;
} }
internal void PurgeGuildUserCache() => PurgeGuildUserCache(x => true);
internal void PurgeGuildUserCache(Func<SocketGuildUser, bool> predicate)

/// <summary>
/// Purges this guild's user cache.
/// </summary>
public void PurgeUserCache() => PurgeUserCache(_ => true);
/// <summary>
/// Purges this guild's user cache.
/// </summary>
/// <param name="predicate">The predicate used to select which users to clear.</param>
public void PurgeUserCache(Func<SocketGuildUser, bool> predicate)
{ {
var membersToPurge = Users.Where(x => predicate.Invoke(x) && x?.Id != Discord.CurrentUser.Id); var membersToPurge = Users.Where(x => predicate.Invoke(x) && x?.Id != Discord.CurrentUser.Id);
var membersToKeep = Users.Where(x => !predicate.Invoke(x) || x?.Id == Discord.CurrentUser.Id); var membersToKeep = Users.Where(x => !predicate.Invoke(x) || x?.Id == Discord.CurrentUser.Id);


Loading…
Cancel
Save