Unified way of searching for messages.

This commit is contained in:
Filip Strajnar 2024-06-16 10:31:19 +02:00
parent 6fc8a1bea8
commit a147856013
2 changed files with 6 additions and 6 deletions

View file

@ -2,7 +2,7 @@ using System.Text.Json.Serialization;
namespace DiscordClient.Data;
public class GuildMessageSearchResponse
public class MessageSearchResponse
{
[JsonPropertyName("total_results")]
public int TotalMessages { get; set; }

View file

@ -21,14 +21,14 @@ public class DiscordUserClient
public async Task<(
HttpResponseMessage Response,
ChannelMessagesResponse[]? JsonData
MessageSearchResponse? JsonData
)> GetChannelMessages(string channelId, int offset = 0, string? authorId = null, int limit = 50)
{
string authorQuery = authorId is not null ? $"&author_id={authorId}" : "";
string url =
$"https://discord.com/api/v9/channels/{channelId}/messages?limit={limit}&offset={offset}{authorQuery}";
$"https://discord.com/api/v9/channels/{channelId}/messages/search?limit={limit}&offset={offset}{authorQuery}";
HttpResponseMessage response = await _httpClient.GetAsync(url);
return (response, await response.Content.ReadFromJsonAsync<ChannelMessagesResponse[]>());
return (response, await response.Content.ReadFromJsonAsync<MessageSearchResponse>());
}
sealed class MessageContent
@ -68,13 +68,13 @@ public class DiscordUserClient
/// <returns></returns>
public async Task<(
HttpResponseMessage Response,
GuildMessageSearchResponse? JsonData
MessageSearchResponse? JsonData
)> SearchGuildMessages(string guildId, int offset, string? authorId = null)
{
string authorQuery = authorId is not null ? $"&author_id={authorId}" : "";
string url =
$"https://discord.com/api/v9/guilds/{guildId}/messages/search?offset={offset}{authorQuery}";
HttpResponseMessage response = await _httpClient.GetAsync(url);
return (response, await response.Content.ReadFromJsonAsync<GuildMessageSearchResponse>());
return (response, await response.Content.ReadFromJsonAsync<MessageSearchResponse>());
}
}