mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2025-05-23 11:16:59 -04:00
Rename MessageFilter.Filter(...) to MessageFilter.IsMatch(...)
This commit is contained in:
parent
6b8170ab89
commit
301bca0633
9 changed files with 19 additions and 19 deletions
|
@ -40,7 +40,7 @@ namespace DiscordChatExporter.Core.Exporting
|
||||||
await foreach (var message in _discord.GetMessagesAsync(request.Channel.Id, request.After, request.Before, progress))
|
await foreach (var message in _discord.GetMessagesAsync(request.Channel.Id, request.After, request.Before, progress))
|
||||||
{
|
{
|
||||||
// Skips any messages that fail to pass the supplied filter
|
// Skips any messages that fail to pass the supplied filter
|
||||||
if (!request.MessageFilter.Filter(message))
|
if (!request.MessageFilter.IsMatch(message))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Resolve members for referenced users
|
// Resolve members for referenced users
|
||||||
|
|
|
@ -16,10 +16,10 @@ namespace DiscordChatExporter.Core.Exporting.Filtering
|
||||||
_kind = kind;
|
_kind = kind;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool Filter(Message message) => _kind switch
|
public override bool IsMatch(Message message) => _kind switch
|
||||||
{
|
{
|
||||||
BinaryExpressionKind.Or => _first.Filter(message) || _second.Filter(message),
|
BinaryExpressionKind.Or => _first.IsMatch(message) || _second.IsMatch(message),
|
||||||
BinaryExpressionKind.And => _first.Filter(message) && _second.Filter(message),
|
BinaryExpressionKind.And => _first.IsMatch(message) && _second.IsMatch(message),
|
||||||
_ => throw new InvalidOperationException($"Unknown binary expression kind '{_kind}'.")
|
_ => throw new InvalidOperationException($"Unknown binary expression kind '{_kind}'.")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace DiscordChatExporter.Core.Exporting.Filtering
|
||||||
|
|
||||||
public ContainsMessageFilter(string text) => _text = text;
|
public ContainsMessageFilter(string text) => _text = text;
|
||||||
|
|
||||||
private bool Filter(string? content) =>
|
private bool IsMatch(string? content) =>
|
||||||
!string.IsNullOrWhiteSpace(content) &&
|
!string.IsNullOrWhiteSpace(content) &&
|
||||||
Regex.IsMatch(
|
Regex.IsMatch(
|
||||||
content,
|
content,
|
||||||
|
@ -18,16 +18,16 @@ namespace DiscordChatExporter.Core.Exporting.Filtering
|
||||||
RegexOptions.IgnoreCase | RegexOptions.CultureInvariant
|
RegexOptions.IgnoreCase | RegexOptions.CultureInvariant
|
||||||
);
|
);
|
||||||
|
|
||||||
public override bool Filter(Message message) =>
|
public override bool IsMatch(Message message) =>
|
||||||
Filter(message.Content) ||
|
IsMatch(message.Content) ||
|
||||||
message.Embeds.Any(e =>
|
message.Embeds.Any(e =>
|
||||||
Filter(e.Title) ||
|
IsMatch(e.Title) ||
|
||||||
Filter(e.Author?.Name) ||
|
IsMatch(e.Author?.Name) ||
|
||||||
Filter(e.Description) ||
|
IsMatch(e.Description) ||
|
||||||
Filter(e.Footer?.Text) ||
|
IsMatch(e.Footer?.Text) ||
|
||||||
e.Fields.Any(f =>
|
e.Fields.Any(f =>
|
||||||
Filter(f.Name) ||
|
IsMatch(f.Name) ||
|
||||||
Filter(f.Value)
|
IsMatch(f.Value)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace DiscordChatExporter.Core.Exporting.Filtering
|
||||||
|
|
||||||
public FromMessageFilter(string value) => _value = value;
|
public FromMessageFilter(string value) => _value = value;
|
||||||
|
|
||||||
public override bool Filter(Message message) =>
|
public override bool IsMatch(Message message) =>
|
||||||
string.Equals(_value, message.Author.Name, StringComparison.OrdinalIgnoreCase) ||
|
string.Equals(_value, message.Author.Name, StringComparison.OrdinalIgnoreCase) ||
|
||||||
string.Equals(_value, message.Author.FullName, StringComparison.OrdinalIgnoreCase) ||
|
string.Equals(_value, message.Author.FullName, StringComparison.OrdinalIgnoreCase) ||
|
||||||
string.Equals(_value, message.Author.Id.ToString(), StringComparison.OrdinalIgnoreCase);
|
string.Equals(_value, message.Author.Id.ToString(), StringComparison.OrdinalIgnoreCase);
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace DiscordChatExporter.Core.Exporting.Filtering
|
||||||
|
|
||||||
public HasMessageFilter(MessageContentMatchKind kind) => _kind = kind;
|
public HasMessageFilter(MessageContentMatchKind kind) => _kind = kind;
|
||||||
|
|
||||||
public override bool Filter(Message message) => _kind switch
|
public override bool IsMatch(Message message) => _kind switch
|
||||||
{
|
{
|
||||||
MessageContentMatchKind.Link => Regex.IsMatch(message.Content, "https?://\\S*[^\\.,:;\"\'\\s]"),
|
MessageContentMatchKind.Link => Regex.IsMatch(message.Content, "https?://\\S*[^\\.,:;\"\'\\s]"),
|
||||||
MessageContentMatchKind.Embed => message.Embeds.Any(),
|
MessageContentMatchKind.Embed => message.Embeds.Any(),
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace DiscordChatExporter.Core.Exporting.Filtering
|
||||||
|
|
||||||
public MentionsMessageFilter(string value) => _value = value;
|
public MentionsMessageFilter(string value) => _value = value;
|
||||||
|
|
||||||
public override bool Filter(Message message) => message.MentionedUsers.Any(user =>
|
public override bool IsMatch(Message message) => message.MentionedUsers.Any(user =>
|
||||||
string.Equals(_value, user.Name, StringComparison.OrdinalIgnoreCase) ||
|
string.Equals(_value, user.Name, StringComparison.OrdinalIgnoreCase) ||
|
||||||
string.Equals(_value, user.FullName, StringComparison.OrdinalIgnoreCase) ||
|
string.Equals(_value, user.FullName, StringComparison.OrdinalIgnoreCase) ||
|
||||||
string.Equals(_value, user.Id.ToString(), StringComparison.OrdinalIgnoreCase)
|
string.Equals(_value, user.Id.ToString(), StringComparison.OrdinalIgnoreCase)
|
||||||
|
|
|
@ -6,7 +6,7 @@ namespace DiscordChatExporter.Core.Exporting.Filtering
|
||||||
{
|
{
|
||||||
public abstract partial class MessageFilter
|
public abstract partial class MessageFilter
|
||||||
{
|
{
|
||||||
public abstract bool Filter(Message message);
|
public abstract bool IsMatch(Message message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public partial class MessageFilter
|
public partial class MessageFilter
|
||||||
|
|
|
@ -8,6 +8,6 @@ namespace DiscordChatExporter.Core.Exporting.Filtering
|
||||||
|
|
||||||
public NegatedMessageFilter(MessageFilter filter) => _filter = filter;
|
public NegatedMessageFilter(MessageFilter filter) => _filter = filter;
|
||||||
|
|
||||||
public override bool Filter(Message message) => !_filter.Filter(message);
|
public override bool IsMatch(Message message) => !_filter.IsMatch(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -4,6 +4,6 @@ namespace DiscordChatExporter.Core.Exporting.Filtering
|
||||||
{
|
{
|
||||||
internal class NullMessageFilter : MessageFilter
|
internal class NullMessageFilter : MessageFilter
|
||||||
{
|
{
|
||||||
public override bool Filter(Message message) => true;
|
public override bool IsMatch(Message message) => true;
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue