fix(entertainment): replace Random to ThreadSafeRandom

This commit is contained in:
2024-11-06 15:30:35 +03:00
parent 5b97911e18
commit c396d180bd
@@ -1,4 +1,5 @@
using System.Security.Cryptography; using System.Security.Cryptography;
using Kruzya.TelegramBot.Core;
using Kruzya.TelegramBot.Core.Service; using Kruzya.TelegramBot.Core.Service;
using Telegram.Bot.Types; using Telegram.Bot.Types;
using West.TelegramBot.ContentStore.Model; using West.TelegramBot.ContentStore.Model;
@@ -9,6 +10,7 @@ public class CapyApiService : IRandomMediaService
{ {
private readonly UserService _userService; private readonly UserService _userService;
private const int BeaverCount = 161; private const int BeaverCount = 161;
private readonly ThreadSafeRandom _random;
public StoreItem StoreItem { get; } = new("capybara", "Капибара", 60, 120); public StoreItem StoreItem { get; } = new("capybara", "Капибара", 60, 120);
public Task<RandomMedia> GetRandomMediaAsync(Chat chat, User user) public Task<RandomMedia> GetRandomMediaAsync(Chat chat, User user)
@@ -19,13 +21,14 @@ public class CapyApiService : IRandomMediaService
return Task.FromResult(RandomMediaFromUrl($"https://westdev.me/_kurwa/{beaverId}.jpg")); return Task.FromResult(RandomMediaFromUrl($"https://westdev.me/_kurwa/{beaverId}.jpg"));
} }
return Task.FromResult(RandomMediaFromUrl($"https://api.capy.lol/v1/capybara?{new Random().Next(0, 10000)}")); return Task.FromResult(RandomMediaFromUrl($"https://api.capy.lol/v1/capybara?{_random.Next(0, 10000)}"));
} }
public RandomMedia RandomMediaFromUrl(string url) => new(new InputFileUrl(url)); public RandomMedia RandomMediaFromUrl(string url) => new(new InputFileUrl(url));
public CapyApiService(UserService userService) public CapyApiService(UserService userService, ThreadSafeRandom random)
{ {
_userService = userService; _userService = userService;
_random = random;
} }
} }