[entertainment] add roll command by @frolish

Co-authored-by: Frolish <lonkura.zip@gmail.com>
This commit is contained in:
Andriy
2022-12-14 11:40:27 +02:00
parent 9e198da41e
commit 4f89be554a
2 changed files with 42 additions and 22 deletions
+41
View File
@@ -0,0 +1,41 @@
using BotFramework.Attributes;
using BotFramework.Enums;
using System.Threading.Tasks;
using System;
using Kruzya.TelegramBot.Core;
using Kruzya.TelegramBot.Core.Data;
using Kruzya.TelegramBot.Core.Extensions;
using Kruzya.TelegramBot.Core.Service;
namespace West.Entertainment;
public class Roll : CommonHandler
{
private readonly IReputation _reputation;
[Command(InChat.Public, "roll", CommandParseMode.Both)]
public async Task HandleRoll()
{
var cdOption = await Db.UserValues.FindOrCreateOption(Chat.Id, From.Id, "rollNextUse");
var cd = cdOption.GetValue<DateTime>();
if (cd > DateTime.Now)
{
await Reply($"Следующее использование через {cd - DateTime.Now:hh\\:mm\\:ss}.");
return;
}
var newRep = new Random().Next(0, 50);
await Reply($"Вы получили {newRep} кармы.");
await _reputation.IncrementReputationAsync(Chat, From, newRep);
cdOption.SetValue(DateTime.Now.AddHours(1));
Db.AddOrUpdate(cdOption);
}
public Roll(CoreContext db, IReputation reputation) : base(db)
{
_reputation = reputation;
}
}
-21
View File
@@ -180,27 +180,6 @@ public class Reputation : CommonHandler
disableNotification: true);
}
[Command(InChat.Public, "roll", CommandParseMode.Both)]
public async Task HandleRoll()
{
var cdOption = await Db.UserValues.FindOrCreateOption(Chat.Id, From.Id, "rollNextUse");
var cd = cdOption.GetValue<DateTime>();
if(cd > DateTime.Now)
{
await Reply("Ты уже крутил!");
return;
}
int new_rep = new Random().Next(-50, 51);
await Reply($"Вы выиграли {new_rep} кармы на сиськи!");
//await _reputationService.IncrementReputationAsync(Chat, From, new_rep);
cdOption.SetValue(DateTime.Now.AddDays(1));
Db.AddOrUpdate(cdOption);
}
private async Task SendReputationModifyResponse(double reputation)
{
await Reply(