using Newtonsoft.Json; using West.TelegramBot.ContentStore.Model; namespace West.TelegramBot.ContentStore.Service; public abstract class AnimalAsAService : IRandomMediaService { private readonly HttpClient _httpClient; public abstract StoreItem StoreItem { get; } protected AnimalAsAService(Uri baseAddress) { _httpClient = new HttpClient { BaseAddress = baseAddress }; } public async Task GetRandomMediaAsync() { var resp = await _httpClient.GetAsync("images/search"); var catImage = JsonConvert.DeserializeObject>(await resp.Content.ReadAsStringAsync())[0]; return new RandomMedia(catImage.Url); } }