chat logs

This commit is contained in:
hydrant
2021-04-19 14:15:08 +02:00
parent f0b2eca560
commit 8485102e49
17 changed files with 2662 additions and 29 deletions

View File

@@ -1,5 +1,7 @@
using System.Text.RegularExpressions;
using GTANetworkAPI;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Entities.Logs.Chat;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services;
@@ -12,14 +14,33 @@ namespace ReallifeGamemode.Server.Commands
[Command("gc", "~m~Benutzung: ~s~/gc [Nachricht]", GreedyArg = true)]
public void CmdGroupG(Player player, string message)
{
Database.Entities.Group group = player.GetUser().Group;
if(!player.IsLoggedIn())
{
return;
}
using var dbContext = new DatabaseContext();
User user = player.GetUser(dbContext);
Group group = user?.Group;
if (group == null)
{
ChatService.NotAuthorized(player);
return;
}
message = Regex.Replace(message, "(~[a-zA-Z]~)|(!{(.*)})", "");
var logEntry = new GroupChatLogEntry()
{
Text = message,
UserId = user.Id,
GroupId = user.Group.Id
};
dbContext.GroupChatLogs.Add(logEntry);
dbContext.SaveChanges();
message = System.Text.RegularExpressions.Regex.Replace(message, "(~[a-zA-Z]~)|(!{(.*)})", "");
message = $"{player.Name}: {message}";
ChatService.BroadcastGroup(message, group);