Chat adminlogs (#6209)
This commit is contained in:
@@ -2,6 +2,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Content.Server.Administration.Logs;
|
||||
using Content.Server.Administration.Managers;
|
||||
using Content.Server.Ghost.Components;
|
||||
using Content.Server.Headset;
|
||||
@@ -13,6 +14,7 @@ using Content.Shared.ActionBlocker;
|
||||
using Content.Shared.Administration;
|
||||
using Content.Shared.CCVar;
|
||||
using Content.Shared.Chat;
|
||||
using Content.Shared.Database;
|
||||
using Content.Shared.Inventory;
|
||||
using Content.Shared.Popups;
|
||||
using Robust.Server.GameObjects;
|
||||
@@ -56,6 +58,8 @@ namespace Content.Server.Chat.Managers
|
||||
[Dependency] private readonly IConfigurationManager _configurationManager = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
private AdminLogSystem _logs = default!;
|
||||
|
||||
/// <summary>
|
||||
/// The maximum length a player-sent message can be sent
|
||||
/// </summary>
|
||||
@@ -73,6 +77,7 @@ namespace Content.Server.Chat.Managers
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
_logs = EntitySystem.Get<AdminLogSystem>();
|
||||
_netManager.RegisterNetMessage<MsgChatMessage>();
|
||||
|
||||
_configurationManager.OnValueChanged(CCVars.OocEnabled, OnOocEnabledChanged, true);
|
||||
@@ -82,18 +87,24 @@ namespace Content.Server.Chat.Managers
|
||||
|
||||
private void OnOocEnabledChanged(bool val)
|
||||
{
|
||||
if (_oocEnabled == val) return;
|
||||
|
||||
_oocEnabled = val;
|
||||
DispatchServerAnnouncement(Loc.GetString(val ? "chat-manager-ooc-chat-enabled-message" : "chat-manager-ooc-chat-disabled-message"));
|
||||
}
|
||||
|
||||
private void OnLoocEnabledChanged(bool val)
|
||||
{
|
||||
if (_loocEnabled == val) return;
|
||||
|
||||
_loocEnabled = val;
|
||||
DispatchServerAnnouncement(Loc.GetString(val ? "chat-manager-looc-chat-enabled-message" : "chat-manager-looc-chat-disabled-message"));
|
||||
}
|
||||
|
||||
private void OnAdminOocEnabledChanged(bool val)
|
||||
{
|
||||
if (_adminOocEnabled == val) return;
|
||||
|
||||
_adminOocEnabled = val;
|
||||
DispatchServerAnnouncement(Loc.GetString(val ? "chat-manager-admin-ooc-chat-enabled-message" : "chat-manager-admin-ooc-chat-disabled-message"));
|
||||
}
|
||||
@@ -103,6 +114,8 @@ namespace Content.Server.Chat.Managers
|
||||
var messageWrap = Loc.GetString("chat-manager-server-wrap-message");
|
||||
NetMessageToAll(ChatChannel.Server, message, messageWrap);
|
||||
Logger.InfoS("SERVER", message);
|
||||
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Server announcement: {message}");
|
||||
}
|
||||
|
||||
public void DispatchStationAnnouncement(string message, string sender = "CentComm", bool playDefaultSound = true)
|
||||
@@ -113,6 +126,8 @@ namespace Content.Server.Chat.Managers
|
||||
{
|
||||
SoundSystem.Play(Filter.Broadcast(), "/Audio/Announcements/announce.ogg", AudioParams.Default.WithVolume(-2f));
|
||||
}
|
||||
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Station Announcement from {sender}: {message}");
|
||||
}
|
||||
|
||||
public void DispatchServerMessage(IPlayerSession player, string message)
|
||||
@@ -123,6 +138,8 @@ namespace Content.Server.Chat.Managers
|
||||
msg.Message = message;
|
||||
msg.MessageWrap = messageWrap;
|
||||
_netManager.ServerSendMessage(msg, player.ConnectedClient);
|
||||
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Server message from {player:Player}: {message}");
|
||||
}
|
||||
|
||||
public void TrySpeak(EntityUid source, string message, bool isWhisper = false, IConsoleShell? shell = null, IPlayerSession? player = null)
|
||||
@@ -197,6 +214,8 @@ namespace Content.Server.Chat.Managers
|
||||
{
|
||||
NetMessageToOne(ChatChannel.Local, message, messageWrap, source, hideChat, session.ConnectedClient);
|
||||
}
|
||||
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Say from {_entManager.ToPrettyString(source):user}: {message}");
|
||||
}
|
||||
|
||||
public void EntityWhisper(EntityUid source, string message, bool hideChat=false)
|
||||
@@ -252,6 +271,8 @@ namespace Content.Server.Chat.Managers
|
||||
NetMessageToOne(ChatChannel.Whisper, obfuscatedMessage, messageWrap, source, hideChat, session.ConnectedClient);
|
||||
}
|
||||
}
|
||||
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Whisper from {_entManager.ToPrettyString(source):user}: {message}");
|
||||
}
|
||||
|
||||
public void EntityMe(EntityUid source, string action)
|
||||
@@ -278,6 +299,8 @@ namespace Content.Server.Chat.Managers
|
||||
{
|
||||
NetMessageToOne(ChatChannel.Emotes, action, messageWrap, source, true, session.ConnectedClient);
|
||||
}
|
||||
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Emote from {_entManager.ToPrettyString(source):user}: {action}");
|
||||
}
|
||||
|
||||
public void SendLOOC(IPlayerSession player, string message)
|
||||
@@ -320,6 +343,8 @@ namespace Content.Server.Chat.Managers
|
||||
msg.Message = message;
|
||||
msg.MessageWrap = Loc.GetString("chat-manager-entity-looc-wrap-message", ("entityName", Name: _entManager.GetComponent<MetaDataComponent>(entity).EntityName));
|
||||
_netManager.ServerSendToMany(msg, clients);
|
||||
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"LOOC from {player:Player}: {message}");
|
||||
}
|
||||
|
||||
public void SendOOC(IPlayerSession player, string message)
|
||||
@@ -364,6 +389,7 @@ namespace Content.Server.Chat.Managers
|
||||
_netManager.ServerSendToAll(msg);
|
||||
|
||||
_mommiLink.SendOOCMessage(player.Name, message);
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"OOC from {player:Player}: {message}");
|
||||
}
|
||||
|
||||
public void SendDeadChat(IPlayerSession player, string message)
|
||||
@@ -391,6 +417,8 @@ namespace Content.Server.Chat.Managers
|
||||
("playerName", (playerName)));
|
||||
msg.SenderEntity = player.AttachedEntity.GetValueOrDefault();
|
||||
_netManager.ServerSendToMany(msg, clients.ToList());
|
||||
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Dead chat from {player:Player}: {message}");
|
||||
}
|
||||
|
||||
public void SendAdminDeadChat(IPlayerSession player, string message)
|
||||
@@ -413,6 +441,8 @@ namespace Content.Server.Chat.Managers
|
||||
("adminChannelName", Loc.GetString("chat-manager-admin-channel-name")),
|
||||
("userName", player.ConnectedClient.UserName));
|
||||
_netManager.ServerSendToMany(msg, clients.ToList());
|
||||
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Admin dead chat from {player:Player}: {message}");
|
||||
}
|
||||
|
||||
private IEnumerable<INetChannel> GetDeadChatClients()
|
||||
@@ -445,6 +475,8 @@ namespace Content.Server.Chat.Managers
|
||||
("adminChannelName", Loc.GetString("chat-manager-admin-channel-name")),
|
||||
("playerName", player.Name));
|
||||
_netManager.ServerSendToMany(msg, clients.ToList());
|
||||
|
||||
_logs.Add(LogType.Chat, $"Admin chat from {player:Player}: {message}");
|
||||
}
|
||||
|
||||
public void SendAdminAnnouncement(string message)
|
||||
@@ -461,6 +493,8 @@ namespace Content.Server.Chat.Managers
|
||||
("adminChannelName", Loc.GetString("chat-manager-admin-channel-name")));
|
||||
|
||||
_netManager.ServerSendToMany(msg, clients.ToList());
|
||||
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Admin announcement from {message}: {message}");
|
||||
}
|
||||
|
||||
public void SendHookOOC(string sender, string message)
|
||||
@@ -468,6 +502,7 @@ namespace Content.Server.Chat.Managers
|
||||
message = FormattedMessage.EscapeText(message);
|
||||
var messageWrap = Loc.GetString("chat-manager-send-hook-ooc-wrap-message", ("senderName", sender));
|
||||
NetMessageToAll(ChatChannel.OOC, message, messageWrap);
|
||||
_logs.Add(LogType.Chat, LogImpact.Low, $"Hook OOC from {sender}: {message}");
|
||||
}
|
||||
|
||||
public void RegisterChatTransform(TransformChat handler)
|
||||
|
||||
@@ -75,9 +75,6 @@ namespace Content.Server.Entry
|
||||
_euiManager = IoCManager.Resolve<EuiManager>();
|
||||
_voteManager = IoCManager.Resolve<IVoteManager>();
|
||||
|
||||
IoCManager.Resolve<IChatSanitizationManager>().Initialize();
|
||||
IoCManager.Resolve<IChatManager>().Initialize();
|
||||
|
||||
var playerManager = IoCManager.Resolve<IPlayerManager>();
|
||||
|
||||
var logManager = IoCManager.Resolve<ILogManager>();
|
||||
@@ -97,6 +94,8 @@ namespace Content.Server.Entry
|
||||
{
|
||||
base.PostInit();
|
||||
|
||||
IoCManager.Resolve<IChatSanitizationManager>().Initialize();
|
||||
IoCManager.Resolve<IChatManager>().Initialize();
|
||||
var configManager = IoCManager.Resolve<IConfigurationManager>();
|
||||
var resourceManager = IoCManager.Resolve<IResourceManager>();
|
||||
var dest = configManager.GetCVar(CCVars.DestinationFile);
|
||||
|
||||
@@ -62,4 +62,5 @@ public enum LogType
|
||||
AtmosRatioChanged = 58,
|
||||
Emitter = 59,
|
||||
GhostRoleTaken = 60,
|
||||
Chat = 61,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user