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.Concurrent;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Security.Cryptography;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using BotFramework.Attributes;
|
using BotFramework.Attributes;
|
||||||
using BotFramework.Enums;
|
using BotFramework.Enums;
|
||||||
@@ -65,7 +66,7 @@ public class Guess : CommonHandler
|
|||||||
}
|
}
|
||||||
|
|
||||||
var messageId = RawUpdate.Message!.MessageId;
|
var messageId = RawUpdate.Message!.MessageId;
|
||||||
var guessedNumber = _rng.Next(1, 4);
|
var guessedNumber = RandomNumberGenerator.GetInt32(1, 4);
|
||||||
// Console.WriteLine(guessedNumber);
|
// Console.WriteLine(guessedNumber);
|
||||||
var guessData = new GuessData
|
var guessData = new GuessData
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -15,13 +15,13 @@ using Telegram.Bot.Types.Enums;
|
|||||||
using Telegram.Bot.Types;
|
using Telegram.Bot.Types;
|
||||||
using Kruzya.TelegramBot.Core.Handler;
|
using Kruzya.TelegramBot.Core.Handler;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
|
||||||
namespace West.Entertainment.Handler;
|
namespace West.Entertainment.Handler;
|
||||||
|
|
||||||
public class Roll : CommonHandler
|
public class Roll : CommonHandler
|
||||||
{
|
{
|
||||||
private readonly ILogger<Roll> _logger;
|
private readonly ILogger<Roll> _logger;
|
||||||
private readonly ThreadSafeRandom _rng;
|
|
||||||
private readonly IReputation _reputation;
|
private readonly IReputation _reputation;
|
||||||
private readonly UserService _userService;
|
private readonly UserService _userService;
|
||||||
private readonly ConcurrentBag<DeleteRequest> _requests;
|
private readonly ConcurrentBag<DeleteRequest> _requests;
|
||||||
@@ -54,7 +54,7 @@ public class Roll : CommonHandler
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var newRep = _rng.Next(-20, 80);
|
var newRep = RandomNumberGenerator.GetInt32(-20, 80);
|
||||||
|
|
||||||
await Reply($"Вы получили {newRep} кармы.");
|
await Reply($"Вы получили {newRep} кармы.");
|
||||||
await _reputation.IncrementReputationAsync(Chat, From, newRep);
|
await _reputation.IncrementReputationAsync(Chat, From, newRep);
|
||||||
@@ -119,7 +119,7 @@ public class Roll : CommonHandler
|
|||||||
|
|
||||||
for (var i = 0; i < 100; i++)
|
for (var i = 0; i < 100; i++)
|
||||||
{
|
{
|
||||||
var number = _rng.Next(minValue, maxValue);
|
var number = RandomNumberGenerator.GetInt32(minValue, maxValue);
|
||||||
numbers.Add(number);
|
numbers.Add(number);
|
||||||
|
|
||||||
if (number > 0)
|
if (number > 0)
|
||||||
@@ -151,12 +151,11 @@ public class Roll : CommonHandler
|
|||||||
return message;
|
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;
|
_reputation = reputation;
|
||||||
_userService = userService;
|
_userService = userService;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_rng = rng;
|
|
||||||
_requests = requests;
|
_requests = requests;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user