Chat adminlogs (#6209)

This commit is contained in:
metalgearsloth
2022-01-19 13:35:31 +11:00
committed by GitHub
parent bb53d8732d
commit a1b67bc505
3 changed files with 38 additions and 3 deletions

View File

@@ -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)

View File

@@ -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);

View File

@@ -62,4 +62,5 @@ public enum LogType
AtmosRatioChanged = 58,
Emitter = 59,
GhostRoleTaken = 60,
Chat = 61,
}