mirror of
https://github.com/Bubuni-Team/telegram-bot.git
synced 2026-07-31 00:29:24 +03:00
feat(entertainment): use CSPRNG in /guess & /roll
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Threading.Tasks;
|
||||
using BotFramework.Attributes;
|
||||
using BotFramework.Enums;
|
||||
@@ -65,7 +66,7 @@ public class Guess : CommonHandler
|
||||
}
|
||||
|
||||
var messageId = RawUpdate.Message!.MessageId;
|
||||
var guessedNumber = _rng.Next(1, 4);
|
||||
var guessedNumber = RandomNumberGenerator.GetInt32(1, 4);
|
||||
// Console.WriteLine(guessedNumber);
|
||||
var guessData = new GuessData
|
||||
{
|
||||
|
||||
@@ -15,13 +15,13 @@ using Telegram.Bot.Types.Enums;
|
||||
using Telegram.Bot.Types;
|
||||
using Kruzya.TelegramBot.Core.Handler;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
|
||||
namespace West.Entertainment.Handler;
|
||||
|
||||
public class Roll : CommonHandler
|
||||
{
|
||||
private readonly ILogger<Roll> _logger;
|
||||
private readonly ThreadSafeRandom _rng;
|
||||
private readonly IReputation _reputation;
|
||||
private readonly UserService _userService;
|
||||
private readonly ConcurrentBag<DeleteRequest> _requests;
|
||||
@@ -54,7 +54,7 @@ public class Roll : CommonHandler
|
||||
return;
|
||||
}
|
||||
|
||||
var newRep = _rng.Next(-20, 80);
|
||||
var newRep = RandomNumberGenerator.GetInt32(-20, 80);
|
||||
|
||||
await Reply($"Вы получили {newRep} кармы.");
|
||||
await _reputation.IncrementReputationAsync(Chat, From, newRep);
|
||||
@@ -119,7 +119,7 @@ public class Roll : CommonHandler
|
||||
|
||||
for (var i = 0; i < 100; i++)
|
||||
{
|
||||
var number = _rng.Next(minValue, maxValue);
|
||||
var number = RandomNumberGenerator.GetInt32(minValue, maxValue);
|
||||
numbers.Add(number);
|
||||
|
||||
if (number > 0)
|
||||
@@ -151,12 +151,11 @@ public class Roll : CommonHandler
|
||||
return message;
|
||||
}
|
||||
|
||||
public Roll(CoreContext db, IReputation reputation, UserService userService, ILogger<Roll> logger, ThreadSafeRandom rng, ConcurrentBag<DeleteRequest> requests) : base(db)
|
||||
public Roll(CoreContext db, IReputation reputation, UserService userService, ILogger<Roll> logger, ConcurrentBag<DeleteRequest> requests) : base(db)
|
||||
{
|
||||
_reputation = reputation;
|
||||
_userService = userService;
|
||||
_logger = logger;
|
||||
_rng = rng;
|
||||
_requests = requests;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user