From 5bfe7e271456f13ad0226ad9798f331e88cac47a Mon Sep 17 00:00:00 2001 From: Filip Strajnar Date: Fri, 15 Mar 2024 22:06:11 +0100 Subject: [PATCH] New method on DiscordClient. --- DiscordClient/Data/ChannelMessagesResponse.cs | 3 ++ DiscordClient/DiscordClient.cs | 28 +++++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 DiscordClient/Data/ChannelMessagesResponse.cs diff --git a/DiscordClient/Data/ChannelMessagesResponse.cs b/DiscordClient/Data/ChannelMessagesResponse.cs new file mode 100644 index 0000000..3fe4147 --- /dev/null +++ b/DiscordClient/Data/ChannelMessagesResponse.cs @@ -0,0 +1,3 @@ +namespace DiscordClient.Data; + +public class ChannelMessagesResponse { } diff --git a/DiscordClient/DiscordClient.cs b/DiscordClient/DiscordClient.cs index f774057..7f59f04 100644 --- a/DiscordClient/DiscordClient.cs +++ b/DiscordClient/DiscordClient.cs @@ -1,5 +1,29 @@ -namespace DiscordClient; +using System.Net.Http.Headers; +using System.Net.Http.Json; +using DiscordClient.Data; + +namespace DiscordClient; public class DiscordClient { -} \ No newline at end of file + private readonly HttpClient _httpClient; + + public DiscordClient(string authorizationToken) + { + _httpClient = new HttpClient(); + _httpClient.DefaultRequestHeaders.Host = "discord.com"; + _httpClient.DefaultRequestHeaders.Authorization = AuthenticationHeaderValue.Parse( + authorizationToken + ); + } + + public async Task GetChannelMessages( + string channelId, + int limit = 50 + ) + { + string url = $"https://discord.com/api/v9/channels/{channelId}/messages?limit={limit}"; + HttpResponseMessage response = await _httpClient.GetAsync(url); + return await response.Content.ReadFromJsonAsync(); + } +}