Files
reallife-gamemode/ReallifeGamemode.Server/Commands/GroupCommands.cs
2021-04-19 14:15:08 +02:00

52 lines
1.2 KiB
C#

using GTANetworkAPI;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Entities.Logs.Chat;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services;
namespace ReallifeGamemode.Server.Commands
{
internal class GroupCommands : Script
{
#region Chat Commands
[Command("gc", "~m~Benutzung: ~s~/gc [Nachricht]", GreedyArg = true)]
public void CmdGroupG(Player player, string message)
{
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;
}
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);
}
#endregion Chat Commands
}
}