added napiszar, using MsEntitiFramework, addreactionrole command working just with link

This commit is contained in:
balos 2025-05-06 00:17:21 +02:00
parent 1695770f9f
commit d508bffac1
9 changed files with 318 additions and 94 deletions

View file

@ -0,0 +1,65 @@
using System;
using System.Linq;
using T3k3rg0.Helpers.Data;
using T3k3rg0.Helpers.Models;
namespace T3k3rg0.Helpers
{
public static class NapiszarService
{
private static readonly TimeZoneInfo HungarianTimeZone =
TimeZoneInfo.FindSystemTimeZoneById("Europe/Budapest");
public static string GetRandomSzar()
{
using var db = new NapiszarDbContext();
var count = db.Joslatok.Count();
if (count == 0)
return "Nincs elérhető szar";
var rnd = new Random();
var skip = rnd.Next(count);
var szar = db.Joslatok.Skip(skip).FirstOrDefault();
return szar?.Szoveg ?? "Valami szar hiba történt";
}
public static bool HasUsedToday(ulong userId)
{
using var db = new NapiszarDbContext();
var usage = db.DailyUsages.FirstOrDefault(u => u.UserId == (long)userId);
if (usage == null)
return false;
var today = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, HungarianTimeZone).Date;
return usage.LastUsed.Date == today;
}
public static void LogUsage(ulong userId)
{
using var db = new NapiszarDbContext();
var today = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, HungarianTimeZone);
var existing = db.DailyUsages.FirstOrDefault(u => u.UserId == (long)userId);
if (existing == null)
{
db.DailyUsages.Add(new DailyUsage
{
UserId = (long)userId,
LastUsed = today
});
}
else
{
existing.LastUsed = today;
db.DailyUsages.Update(existing);
}
db.SaveChanges();
}
}
}